今天在看Python的过程中,再一次看到了其中的__call__
方法,之前在学习的时候没有完全弄清楚,再加上时间比较长有点遗忘, 于是趁着这次机会再次学习__call__
方法,在这里记录一下。
基本概念
在Python中,__call__
是一个特殊的方法,它允许我们像调用函数那样调用一个对象。当一个类定义了__call__
方法后,其类的实例就可以接受括号内的调用。这相当于给对象添加了一个“调用接口“,使其具备了动态执行的能力。这种机制在某些场景下可以极大提高代码的可读性和复用性。
代码示例
为了让大家直观的感受__call__
的效果,在这里以一个Student
类为例:
# 创建Student类
class Student:
def __init__(self, id=None, name=None, gender=None):
self.id = id
self.name = name
self.gender = gender
print("类的初始化")
def __call__(self,age):
print("########调用call方法,输出全部信息########")<