当前位置:网站首页 > 技术博客 > 正文

python面向对象编程的三大特性

本文正在参加「Python主题月」,详情查看 活动链接

下面是一个简单的 Python 程序,它使用单个方法创建一个类。

# 一个简单的示例类 class Test: # 示例方法 def fun(self): print("Hello") # 驱动程序代码 obj = Test() obj.fun() 

输出:

Hello 

目的:

对象是具有与其关联的状态和行为的实体。它可以是任何现实世界的对象,如鼠标、键盘、椅子、桌子、笔等。整数、字符串、浮点数、甚至数组和字典都是对象。更具体地说,任何单个整数或任何单个字符串都是一个对象。数字 12 是一个对象,字符串“Hello, world”是一个对象,一个列表是一个可以容纳其他对象的对象,等等。您一直在使用对象,甚至可能没有意识到。

Class:

类是一个蓝图,它定义了某种类型的所有对象共有的变量和方法(特征)。

示例:如果 Car 是一个类,则 Audi A6 是 Car 类的对象。所有汽车都具有类似的功能,例如 4 个轮子、1 个方向盘、窗户、刹车等。奥迪 A6(汽车对象)具有所有这些功能。

self   

  1. 类方法在方法定义中必须有一个额外的第一个参数。我们在调用方法的时候没有给这个参数赋值,Python提供了
  2. 如果我们有一个不带参数的方法,那么我们仍然必须有一个参数——self。请参见上面简单示例中的 fun()。
  3. 这类似于 C++ 中的 this 指针和 Java 中的 this 引用。

当我们将这个对象的一个​​方法调用为 myobject.method(arg1, arg2) 时,它会被 Python 自动转换为 MyClass.method(myobject, arg1, arg2) —— 这就是 self 的全部意义所在。

init 方法 
init 方法类似于 C++ 和 Java 中的构造函数。一旦类的对象被实例化,它就会运行。该方法可用于执行您想要对对象进行的任何初始化。

# 带有 init 方法的示例类 class Person: # init 方法或构造函数 def __init__(self, name): self.name = name # 样品方法 def say_hi(self): print('你好, 我是博主',self.name) p = Person('海拥') p.say_hi() 

输出:

你好, 我是博主 海拥 

在这里,我们将 init 方法定义为采用参数名称(以及通常的 self)。.

类和实例变量(或属性)  
在 Python 中,实例变量是其值在构造函数或具有 self 的方法中赋值的变量。 
类变量是在类中赋值的变量。

# Python 程序显示在类声明中赋值的变量是类变量 # 方法和构造函数内部的变量是实例变量。 # 计算机科学学生类(Computer Science Student Class) class CSStudent: # 类变量 stream = 'cse' # init 方法或构造函数 def __init__(self, roll): # 实例变量 self.roll = roll # CSStudent 类的对象 a = CSStudent(101) b = CSStudent(102) print(a.stream) # prints "cse" print(b.stream) # prints "cse" print(a.roll) # prints 101 # 也可以使用类名访问类变量 print(CSStudent.stream) # prints "cse" 

输出

image.png

我们也可以在普通方法中定义实例变量。

# 展示我们可以在方法内部创建实例变量的 Python 程序 # 计算机科学学生类 class CSStudent: # 类变量 stream = 'cse' # init 方法或构造函数 def __init__(self, roll): # Instance Variable self.roll = roll # 添加实例变量 def setAddress(self, address): self.address = address # 检索实例变量 def getAddress(self): return self.address # 驱动程序代码 a = CSStudent(101) a.setAddress("Haiyong, UP") print(a.getAddress()) 

输出 : 

Haiyong,UP 

如何创建一个空类?  

我们可以使用Python 中的 pass 语句创建一个空类。

# 一个空的类 class Test: pass 

快速总结——Python 数字

本文章为系列文章,后续会继续更新。我希望本系列教程能够帮助到您,博主也在学习进行中,如有什么错误的地方还望批评指正。如果您喜欢这篇文章并有兴趣看到更多此类文章,可以看看这里(Github/Gitee) 这里汇总了我的全部原创及作品源码,关注我以信息。

🧵 更多相关文章

  • Python 异常处理|Python 主题月
  • Python 多线程教程|Python 主题月
  • Python Socket 编程要点|Python 主题月
  • 30 个 Python 教程和技巧|Python 主题月
  • Python 语句、表达式和缩进|Python 主题月
  • Python 关键字、标识符和变量|Python 主题月
  • 如何在 Python 中编写注释和多行注释|Python 主题月
  • 通过示例了解 Python 数字和类型转换|Python 主题月
  • Python 数据类型——从基础到高级学习|Python 主题月

往日优秀文章推荐:

  • 每个人都必须知道的 20 个 Python 技巧|Python 主题月
  • 100 个基本 Python 面试问题第一部分(1-20)|Python 主题月
  • 100 个基本 Python 面试问题第二部分(21-40)|Python 主题月
  • 100 个基本 Python 面试问题第三部分(41-60)|Python 主题月
  • 100 个基本 Python 面试问题第四部分(61-80)|Python 主题月
  • 100 个基本 Python 面试问题第五部分(81-100)|Python 主题月

如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦

  • 上一篇: sift matlab
  • 下一篇: css 光晕
  • 版权声明


    相关文章:

  • sift matlab2025-04-07 18:01:00
  • can和canfd波特率2025-04-07 18:01:00
  • 小波变换图像增强 matlab2025-04-07 18:01:00
  • 高斯混合模型的数学基础与理论分析答案2025-04-07 18:01:00
  • 通过ip查询域名信息的网站2025-04-07 18:01:00
  • mbti职业性格16种2025-04-07 18:01:00
  • 线程池中你不容错过的一些细节有哪些2025-04-07 18:01:00
  • css 光晕2025-04-07 18:01:00
  • 前端酷炫页面2025-04-07 18:01:00
  • python如何批量修改文件名称2025-04-07 18:01:00