02 #### `__call__` ,对象(),自动执行call 方法

call

class foo:

#  __int__ 初始化方法
def __init__(self, name):  # 2、在去执行:__init__ 方法,做初始化
    self.name = name

def ff(self):
    print(self.name)

def __call__(self):
    pass

obj = foo('test') # 类名加括号,执行 new 与 __init__方法,创建对象是为了调用类里面的方法
obj.ff() # # 如果类里面,定义了__call__方法, 可以使用创建:对象(),自动执行call 方法 obj()

call

class content:

def __init__(self, name, age):
    self.name = name
    self.age = name

def __call__(self, *args, **kwargs):
    print(self.name)
    print(self.age)

def start(xxx):
return xxx() # 函数+括号,表示执行

def handler():
pass

if name == 'main':
obj = content('test', 19) # 将数据封装到类中
print(start(obj)) # 在将他对的对象,传到方法中

print(start(handler))  # 也支持将函数传入到方法
posted @   jhchena  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示