提示:本篇文章讲述常见的几个魔法函数及其应用例子
提示:以下是本篇文章正文内容,下面案例可供参考
代码如下(示例):
class Lei: """ 类的描述信息 """ def __int__(self,name): self.name = name self.age = 18 def func(self): print("func函数") def __call__(self, *args, **kwargs): print("call函数") if __name__ == '__main__': print(Lei.__doc__) #类的描述信息 控制台得出: 类的描述信息代码如下(示例):
class Lei: def func(self): print("func函数") def __call__(self, *args, **kwargs): print("call函数") if __name__ == '__main__': a = Lei() print(Lei.__module__) # 或者: print(a.__module__) 控制台得出: __main__ __main__代码如下(示例):
class Lei: def __init__(self,name): self.name = name self.age = 18 def func(self): print("func函数") def __call__(self, *args, **kwargs): print("call函数") def __str__(self): return self.name if __name__ == '__main__': a = Lei("小明") a() 控制台得出:call函数对象() 或者 类()()调用
代码如下(示例):
class Lei: def __init__(self,name): self.name = name self.age = 18 def func(self): print("func函数") def __call__(self, *args, **kwargs): print("call函数") def __str__(self): return self.name if __name__ == '__main__': a = Lei("小明") print(a) 控制台得出:小明代码如下(示例):
class Lei: def __init__(self,name): self.name = name self.age = 18 def func(self): print("func函数") def __call__(self, *args, **kwargs): print("call函数") def __str__(self): return self.name if __name__ == '__main__': a = Lei("小明") print(a.age) 控制台得出:18自动调用__init__方法;特别注意的是涉及继承时,子类继承父类的属性;如果子类与父类属性相同时,则采用子类属性,相当于重写属性;