python 面向对象编程

这篇具有很好参考价值的文章主要介绍了python 面向对象编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python 面向对象编程,python,python,开发语言

前言

大家好,前面我们学习了 python 的基础用法,那么从今天开始,我们将学习 python 的面向对象编程,那么什么叫做面向对象的编程呢?

面向对象编程是一种编程范式,它将数据和操作数据的方法封装在对象中,并通过对象之间的交互来实现程序的设计和实现。

在面向对象编程中,程序被组织成一组相互作用的对象,每个对象都有自己的数据和可以处理这些数据的方法。对象通过消息传递的方式进行通信,一个对象可以请求另一个对象执行特定的操作。

面向对象编程的主要特点包括:

  1. 封装(Encapsulation):将数据和操作数据的方法封装在对象中,对象对外部隐藏了内部的实现细节,只暴露必要的接口。

  2. 继承(Inheritance):通过继承机制,可以从已有的类派生新的类,并对新的类进行扩展或修改。继承可以实现代码重用和层次化设计。

  3. 多态(Polymorphism):多态允许使用统一的接口来处理不同类的对象,提高了代码的灵活性和可扩展性。不同的对象可以对同一消息做出不同的响应。

面向对象编程的优点包括代码重用性高、可维护性强、模块化程度高等。它被广泛应用于各种编程语言和领域,如Java、C++、Python等。

那么本篇我怕将带大家进入 python面向对象编程 的大门,让我们一起来看看吧。🚗🚗🚗

python 面向对象编程,python,python,开发语言

如何理解面向对象编程

举个例子:当我们手洗衣服的时候,我们需要 找盆 - 放水 - 加洗衣粉 - 浸泡 - 搓洗 - 拧干水 - 倒水 - 漂洗N次 - 拧干 - 晾晒。 但是如果我们使用洗衣机洗衣服的话,我们只需要 打开洗衣机 - 放衣服 - 加洗衣粉 - 按下开始按钮 - 晾晒。面向对象我们只需要注意对象是什么,而不必过于关心过程是什么。

总结:面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。

在 python 中如何使用面向对象编程

在 python 中实现面向对象编程依赖于类和对象,类就相当于是一张图纸,一个事物必须依靠这个图纸才能实现出一个实体,这种类创建出对象的过程也叫做实例化

定义类

在 python 中,使用 class 类名(): 来创建出一个类。并且类名通常使用大驼峰的形式。

🫥

class Washer():
    print('这是一个类')

print(type(Washer))

python 面向对象编程,python,python,开发语言

这种类中代码不在函数内部的函数在定义的时候就会执行。也就是说不管我们有没有使用这个类都会执行这个代码。

class Washer():
    print('这是一个类')

python 面向对象编程,python,python,开发语言
👹
而通常一个事物被创建出来往往会具有相应的功能,那么在类中我们定义函数使这个类具有某种功能。

class Washer():
    def wash_clothes(self):
        print('洗衣服')

print(type(Washer))

python 面向对象编程,python,python,开发语言
函数中的方法只有被调用的时候才会执行。

创建对象

当我们创建完一个类之后,我们可以使用 对象名 = 类名() 来实例化出一个对象。在实例化出一个对象之后,我们可以使用 对象名.方法 来调用该对象中的方法。

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer();
washer1.wash_clothes()

python 面向对象编程,python,python,开发语言

当我们直接打印类名和对象名的时候,会输出什么?

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer()
washer2 = Washer()
print(Washer)
print(washer1)
print(washer2)

python 面向对象编程,python,python,开发语言

当我们直接打印对象名的时候,会输出对象名的地址,并且同一个类的不同对象的地址不同。

self

细心的人可能会发现为什么函数的参数列表中会出现 self 呢?这个 self 不是我手动添加进去的,而是 python 自动补充的,这个 self 表示调用该函数的对象。

class Washer():

    hight = 100
    weight = 200
    def wash_clothes(self):
        print('洗衣服')
        print(self)

washer1 = Washer();
print(washer1)
washer1.wash_clothes()
washer2 = Washer()
print(washer2)
washer2.wash_clothes()

python 面向对象编程,python,python,开发语言

不仅如此,我们还可以在类当中使用 self.属性 来访问当前类中的属性。

class Washer():

    hight = 100
    weight = 200
    def wash_clothes(self):
        print('洗衣服')
        print(f'洗衣机的高度是{self.hight}')

washer1 = Washer()
washer1.wash_clothes()

python 面向对象编程,python,python,开发语言

添加和获取对象属性

添加属性

属性代表对象具有的特性,比如高度,重量和价格等,这些都属于对象的属性。

类外添加属性

在类外添加属性就相当于什么呢?就相当于我们买手机,当我们拿到手机的时候,我们需要自己下载应用,打造属于我们自己的手机,手机具有我们想要的属性,这就是在类外添加属性的大概意义。我们使用 对象名.属性名 = 值 来在类外添加属性。

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer()
washer1.hight = 100

python 面向对象编程,python,python,开发语言

类中添加属性

在类中添加属性就相当于,在工厂的时候,制作出来就有的属性,颜色啊、大小什么的,这些就是所有事物都具有的共同属性,只是具体的属性内容有区别。我们使用
属性名 = 值 来在类中添加属性。

class Washer():
    hight = 100
    weight = 500
    def wash_clothes(self):
        print('洗衣服')

washer1 = Washer()

python 面向对象编程,python,python,开发语言

访问属性

类外访问属性

在类外访问属性使用 对象名.属性

class Washer():
    def wash_clothes(self):
        print('洗衣服')

washer1 =Washer()
washer1.hight = 100
washer1.weight = 500
print(washer1.hight)  # 100
print(washer1.weight)  # 500
类中访问属性

在类中使用 self.属性 来访问属性。

class Washer():
    hight = 100
    weight = 500
    def print_info(self):
        print(f'洗衣机的高度为{self.hight},洗衣机的重量为{self.weight}')

washer1 =Washer()
washer1.print_info()

python 面向对象编程,python,python,开发语言

魔法方法

在 python 类中有很多特殊的方法,他们的格式是 __xx__() ,他们具有特殊的功能。

__ init __() 方法

__ init __() 方法是当我们实例化出一个对象的时候自动调用的方法,不需要我们手动调用,通常用于给对象的属性赋值或者添加属性。

class Washer():
    def __init__(self):
        self.hight = 100
        self.weight = 500

washer1 = Washer()
print(washer1.hight)  # 100
print(washer1.weight)  # 500

__ init __ 方法也可以传进去参数,用来给对象属性赋值等作用。

class Washer():
    hight = 0
    weight = 0
    def __init__(self,hight,weight):
        self.hight = hight
        self.weight = weight

washer1 = Washer(100,500)
print(washer1.hight)  # 100
print(washer1.weight)  # 500

__ str __()方法

当我们直接使用 print() 函数打印对象名的时候,会输出该对象的地址,但是当我们类中存在 __ str __() 方法的时候,使用 print(对象名) 的时候,输出的是 __ str __() 中return的数据。

class Washer():
    def __str__(self):
        return '这是一个洗衣机'

washer1 = Washer()
print(washer1)

python 面向对象编程,python,python,开发语言

__ del __() 方法

当我们删除对象的时候,如果该对象中存在 __ del __() 方法的时候,会默认执行盖房啊中的内容。但是实际上,当我们不手动删除对象的时候,也会执行该方法,因为当我们的程序执行完成之后,对象就不会被使用了,会被删除掉。

class Washer():
    def __del__(self):
        print(f'{self}对象已被删除')

washer1 = Washer()
del washer1

python 面向对象编程,python,python,开发语言
python 面向对象编程,python,python,开发语言文章来源地址https://www.toymoban.com/news/detail-548107.html

到了这里,关于python 面向对象编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Rust编程语言入门之Rust的面向对象编程特性

    Rust 受到多种编程范式的影响,包括面向对象 面向对象通常包含以下特性:命名对象、封装、继承 “设计模式四人帮”在《设计模型》中给面向对象的定义: 面向对象的程序由对象组成 对象包装了数据和操作这些数据的过程,这些过程通常被称作方法或操作 基于此定义:

    2023年04月21日
    浏览(54)
  • 【跟小嘉学 Rust 编程】十七、面向对象语言特性

    【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学 Rust 编程】六、枚举

    2024年02月10日
    浏览(89)
  • 【Go 基础篇】走进Go语言的面向对象编程世界

    欢迎各位编程爱好者们!今天我们将进入Go语言的面向对象编程(OOP)世界,一窥这门语言如何运用OOP思想来组织和构建程序。无论你是初学者还是有一些经验的开发者,本文都将为你揭示Go语言中的OOP特性、方法和最佳实践。 面向对象编程是一种程序设计范式,它以对象为

    2024年02月10日
    浏览(54)
  • Python面向对象编程

    本文带领大家过一遍菜鸟学Python的面向对象的部分 类(Class):  用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 类变量: 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通

    2023年04月27日
    浏览(46)
  • python 面向对象编程(2)

    前面我们介绍了 python 类和对象以及继承、私有权限,那么今天我们将来介绍 python面向对象 剩下的两大特性封装、多态,以及如何访问、修改类属性、类方法和静态方法的介绍。🚗🚗🚗 Python中的封装是一种面向对象编程的概念,它将数据和操作这些数据的方法封装到一个

    2024年02月16日
    浏览(56)
  • python 面向对象编程

    大家好,前面我们学习了 python 的基础用法,那么从今天开始,我们将学习 python 的面向对象编程,那么什么叫做面向对象的编程呢? 面向对象编程是一种编程范式,它将数据和操作数据的方法封装在对象中,并通过对象之间的交互来实现程序的设计和实现。 在面向对象编程

    2024年02月13日
    浏览(49)
  • 【python】08.面向对象编程基础

    活在当下的程序员应该都听过\\\"面向对象编程\\\"一词,也经常有人问能不能用一句话解释下什么是\\\"面向对象编程\\\",我们先来看看比较正式的说法。 \\\"把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部

    2024年01月20日
    浏览(50)
  • 【python学习】面向对象编程1

    流水线形式 优点:逻辑清晰 (逻辑一步一步的,是一个系统) 缺点:扩展性差 (上一个函数的输出是下一个函数的输入) 对象是什么? Python中一切皆对象 对象:就是特征和技能的结合体。 面向对象编程:定义初一个个鲜明独特的对象,然后通过对象之间的交互编程。 优

    2024年01月22日
    浏览(75)
  • Python系列之面向对象编程

    目录 一、面向对象编程 1.1 面向对象三大特征 1.2 什么是对象 二、类(class)和实例(instance) 2.1 类的构成 2.2 创建类 2.3 创建实例对象和访问属性 2.4 Python内置类属性 2.5 类属性与方法 三、类的继承 3.1 方法重写 四、多态 Python 系列文章学习记录: Python系列之Windows环境安装配置_开

    2024年02月08日
    浏览(45)
  • 【python学习】面向对象编程3

    面向过程编程:类似于工厂的流水线。 优点:逻辑清晰; 缺点:扩展性差。 面向对象编程:核心是对象二字,对象是属性和方法的集合体,面向对象编程就是一堆对象交互。 优点:扩展性强; 缺点:逻辑非常乱。 对象:属性和方法的集合体。 类:一系列相同属性和方法的

    2024年01月22日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包