day50 init方法
学习日期:20241027
学习目标:类 -- 64 init方法:如何为对象传递参数?
学习笔记:
魔术方法
init方法
class Klass(object):
# 定义初始化方法,类实例化时自动进行初始化
def __init__(self,name,age):
self.name=name
self.age=age
def infor(self):
print(self.name)
print(self.age)
myself = Klass('tom',18)
myself.infor() # tom 18
其他的魔术方法
# 查看数据类型的自带的属性和方法
print(dir(int)) # ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', ...]
print(1+2) # 3 等同于 1.__add__(2)
print(dir(list)) # ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__',...]
总结
- 魔术方法是扩展现有数据类型的最佳实践
- __init__()函数在类的编写中经常用于初始化和参数处理
- 扩展函数类型默认的功能时,应首先考虑魔术方法