Python 中的面向对象编程一之类、对象和成员|Python 主题月
下面是一个简单的 Python 程序,它使用单个方法创建一个类。
# 一个简单的示例类
class Test:
# 示例方法
def fun(self):
print("Hello")
# 驱动程序代码
obj = Test()
obj.fun()
输出:
Hello
正如我们在上面看到的,我们使用 class 语句和类的名称创建了一个新类。接下来是一个缩进的语句块,它们构成了类的主体。在这种情况下,我们在类中定义了一个方法。 接下来,我们使用类名后跟一对括号来创建该类的对象/实例。
目的:
对象是具有与其关联的状态和行为的实体。它可以是任何现实世界的对象,如鼠标、键盘、椅子、桌子、笔等。整数、字符串、浮点数、甚至数组和字典都是对象。更具体地说,任何单个整数或任何单个字符串都是一个对象。数字 12 是一个对象,字符串“Hello, world”是一个对象,一个列表是一个可以容纳其他对象的对象,等等。您一直在使用对象,甚至可能没有意识到。
Class:
类是一个蓝图,它定义了某种类型的所有对象共有的变量和方法(特征)。
示例:如果 Car 是一个类,则 Audi A6 是 Car 类的对象。所有汽车都具有类似的功能,例如 4 个轮子、1 个方向盘、窗户、刹车等。奥迪 A6(汽车对象)具有所有这些功能。
self
- 类方法在方法定义中必须有一个额外的第一个参数。我们在调用方法的时候没有给这个参数赋值,Python提供了
- 如果我们有一个不带参数的方法,那么我们仍然必须有一个参数——self。请参见上面简单示例中的 fun()。
- 这类似于 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"
输出
我们也可以在普通方法中定义实例变量。
# 展示我们可以在方法内部创建实例变量的 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 主题月
如果你真的从这篇文章中学到了一些新东西,喜欢它,收藏它并与你的小伙伴分享。🤗最后,不要忘了❤或📑支持一下哦
转载自:https://juejin.cn/post/6989075984221732901