现在很清楚元类是什么,有一个相关的概念,我一直在使用,而不知道它的真正含义.
我想每个人都用括号做错了,导致"对象不可调用"异常.更重要的是,使用__init__并__new__导致想知道这种血腥__call__可以用于什么.
你能给我一些解释,包括魔术方法的例子吗?
我知道__call__在调用类的实例时会触发类中的方法.但是,我不知道何时可以使用这种特殊方法,因为可以简单地创建一个新方法并执行在__call__方法中完成的相同操作,而不是调用实例,您可以调用该方法.
如果有人给我这种特殊方法的实际用法,我将非常感激.
我是Python的新手,我使用的是Python 3.3.1.
class Parent: # define parent class
parentAttr = 100
age = 55
def __init__(self):
print ("Calling parent constructor")
def setAttr(self, attr):
Parent.parentAttr = attr
class Child(Parent):
def childMethod(self):
print ('Calling child method')
Run Code Online (Sandbox Code Playgroud)
现在我要创造
c=child
c.[here every thing will appear methods and attr (age,setAttr)]
Run Code Online (Sandbox Code Playgroud)
我怎样才能区分方法和属性?我的意思是,我什么时候使用c.SetAtrr(Argument), c.SetAtrr=value?