1.def __init__(self):
名称:初始化方法,构造方法,构造函数
作用:当我们创建好一个实例对象之后,会自动调用这个方法,来初始化这个对象
实例化后传入的参数会到此方法中来(构造方法)
self.name = name此种语句将参数赋给实例,此类中别的方法想要使用此参数,直接传入self就可以了,否则同一类中不同方法中的参数不能通用
class Person:
#当我们创建好一个实例对象之后,会自动调用这个方法,来初始化这个对象,是初始化对象的age属性
def __int__(self):
self.age = 18
self.__abc = 10 #__abc是受保护属性
p1 = Person()
p2 = Person()
p3 = Person()
p1.age = 1
p2.age = 2
p3.age = 3
#可以对p1.age,p2.age,p3.age赋不同的值,代表不同的实例属性
注意:d_type,sss为类属性,或公共属性
name,age为实例属性
2.super().__init__()
参考:python中super().__init__()-CSDN博客
3.def __call__()
在 Python 中,__call__
方法是一个特殊的方法,当实例被当作函数调用时会执行该方法。换句话说,如果一个类实现了 __call__
方法,那么这个类的实例就可以像函数一样被调用。
class MyCallableClass:
def __init__(self, value):
self.value = value
def __call__(self, x):
return self.value + x
# 创建一个实例
my_callable = MyCallableClass(10)
# 像调用函数一样调用实例
result = my_callable(5)
print(result) # 输出 15
在这个例子中,MyCallableClass
类实现了 __call__
方法,因此它的实例 my_callable
可以像函数一样被调用。当你调用 my_callable(5)
时,实际上是调用了 my_callable.__call__(5)