Python面向对象编程的第二个阶段有哪些特点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计968个文字,预计阅读时间需要4分钟。
初始化方法+使用+类名(参数)+创建对象时,会自动执行以下操作:- 为对象在内存中分配空间- 创建对象,为属性设置初始值- 初始化方法(init)+__i__
初始化方法
- 当使用
类名()创建对象时,会自动执行以下操作:- 为对象在内存中分配空间—— 创建对象
- 为对象的属性设置初始值—— 初始化方法(
init)
- 这个初始化方法就是
__init__方法,__init__是对象的内置方法 __init__方法是专门用来定义一个类具右那些属性的方法
class Cat(): """猫类""" def __init__(self): print("初始化方法") cat = Cat()
# 运行结果 初始化方法 # 代码中并未覅用__init__方法,但是它会自己调用
在初始化方法内部定义属性
- 在
__init__方法内部使用self.属性名 = 属性的初始值就可以定义属性 - 定义属性之后,再使用
Cat类创建的对象,都会拥有该属性
class Cat(): """猫类""" def __init__(self): # print("初始化方法") self.name = "黑猫" def eat(self): print("%s 吃鱼" % self.name) cat = Cat() cat.eat()
# 运行结果 黑猫 吃鱼 # 使用Cat()类创建猫对象时,猫对象拥有名字---》黑猫
初始化的同时设置初始值
- 如果在创建对象的同时,就设置对象的属性,可以对
__init__方法进行改造- 把希望设置的属性值,定义成
__init__方法的参数 - 在方法内部使用
self.属性 = 形参接收外部传递的参数 - 在创建对象时,使用
类名(属性1, 属性2...)调用
- 把希望设置的属性值,定义成
class Cat(): """猫类""" def __init__(self, name): # print("初始化方法") self.name = name def eat(self): print("%s 吃鱼" % self.name) cat = Cat("黑猫") cat.eat() cat1 = Cat("白猫") cat1.eat()
# 运行结果 黑猫 吃鱼 白猫 吃鱼
__del__方法
-
在
Python中- 当使用
类名()创建对象时,为对象分配完空间后,自动调用__init__方法 - 当一个对象被从内存中销毁前,会自动调用
__del__方法(比如:在对象销毁前在做一些事情)
- 当使用
class Cat(): """猫类""" def __init__(self, name): # print("初始化方法") self.name = name def eat(self): print("%s 吃鱼" % self.name) def __del__(self): print("%s 吃完了" % self.name) cat = Cat("黑猫") cat.eat() cat1 = Cat("白猫") cat1.eat()
# 运行结果 黑猫 吃鱼 白猫 吃鱼 黑猫 吃完了 白猫 吃完了
__str__方法
- 在
Python中,使用print输出对象变量,默认情况下,会输出这个变量引用的对象是由哪一个类创建的对象,以及在内存中的地址(十六进制表示) - 如果希望使用
print输出对象变量时,能够打印自定义的内容,就可以利用__str__这个内置方法了
class Cat(): """猫类""" def __init__(self, name): # print("初始化方法") self.name = name def eat(self): print("%s 吃鱼" % self.name) def __del__(self): print("%s 吃完了" % self.name) def __str__(self): return "我是 %s" % self.name cat = Cat("黑猫") cat.eat() print(cat)
# 运行结果 黑猫 吃鱼 我是 黑猫 黑猫 吃完了
本文共计968个文字,预计阅读时间需要4分钟。
初始化方法+使用+类名(参数)+创建对象时,会自动执行以下操作:- 为对象在内存中分配空间- 创建对象,为属性设置初始值- 初始化方法(init)+__i__
初始化方法
- 当使用
类名()创建对象时,会自动执行以下操作:- 为对象在内存中分配空间—— 创建对象
- 为对象的属性设置初始值—— 初始化方法(
init)
- 这个初始化方法就是
__init__方法,__init__是对象的内置方法 __init__方法是专门用来定义一个类具右那些属性的方法
class Cat(): """猫类""" def __init__(self): print("初始化方法") cat = Cat()
# 运行结果 初始化方法 # 代码中并未覅用__init__方法,但是它会自己调用
在初始化方法内部定义属性
- 在
__init__方法内部使用self.属性名 = 属性的初始值就可以定义属性 - 定义属性之后,再使用
Cat类创建的对象,都会拥有该属性
class Cat(): """猫类""" def __init__(self): # print("初始化方法") self.name = "黑猫" def eat(self): print("%s 吃鱼" % self.name) cat = Cat() cat.eat()
# 运行结果 黑猫 吃鱼 # 使用Cat()类创建猫对象时,猫对象拥有名字---》黑猫
初始化的同时设置初始值
- 如果在创建对象的同时,就设置对象的属性,可以对
__init__方法进行改造- 把希望设置的属性值,定义成
__init__方法的参数 - 在方法内部使用
self.属性 = 形参接收外部传递的参数 - 在创建对象时,使用
类名(属性1, 属性2...)调用
- 把希望设置的属性值,定义成
class Cat(): """猫类""" def __init__(self, name): # print("初始化方法") self.name = name def eat(self): print("%s 吃鱼" % self.name) cat = Cat("黑猫") cat.eat() cat1 = Cat("白猫") cat1.eat()
# 运行结果 黑猫 吃鱼 白猫 吃鱼
__del__方法
-
在
Python中- 当使用
类名()创建对象时,为对象分配完空间后,自动调用__init__方法 - 当一个对象被从内存中销毁前,会自动调用
__del__方法(比如:在对象销毁前在做一些事情)
- 当使用
class Cat(): """猫类""" def __init__(self, name): # print("初始化方法") self.name = name def eat(self): print("%s 吃鱼" % self.name) def __del__(self): print("%s 吃完了" % self.name) cat = Cat("黑猫") cat.eat() cat1 = Cat("白猫") cat1.eat()
# 运行结果 黑猫 吃鱼 白猫 吃鱼 黑猫 吃完了 白猫 吃完了
__str__方法
- 在
Python中,使用print输出对象变量,默认情况下,会输出这个变量引用的对象是由哪一个类创建的对象,以及在内存中的地址(十六进制表示) - 如果希望使用
print输出对象变量时,能够打印自定义的内容,就可以利用__str__这个内置方法了
class Cat(): """猫类""" def __init__(self, name): # print("初始化方法") self.name = name def eat(self): print("%s 吃鱼" % self.name) def __del__(self): print("%s 吃完了" % self.name) def __str__(self): return "我是 %s" % self.name cat = Cat("黑猫") cat.eat() print(cat)
# 运行结果 黑猫 吃鱼 我是 黑猫 黑猫 吃完了

