class JustCounter:
__secretCount = 0 # 私有变量
publicCount = 0 # 公开变量 def count(self):
self.publicCount += 1
print(self.publicCount)
class B:
#如果类b中有如下方法:
def addnewattributesfromotherclass(self,class_name):
func_names = dir(class_name)
for func_name in func_names:
if not func_name.startswith('_'):
new_func = getattr(class_name,func_name)
self.__setattr__(func_name,new_func())
b=B()
b.addnewattributesfromotherclass(JustCounter)
b.count()
上面是我写的关于反射的小实验,但B的实例b调不到count(),报了一个错,是为什么呀?
TypeError: count() missing 1 required positional argument: 'self'
__secretCount = 0 # 私有变量
publicCount = 0 # 公开变量 def count(self):
self.publicCount += 1
print(self.publicCount)
class B:
#如果类b中有如下方法:
def addnewattributesfromotherclass(self,class_name):
func_names = dir(class_name)
for func_name in func_names:
if not func_name.startswith('_'):
new_func = getattr(class_name,func_name)
self.__setattr__(func_name,new_func())
b=B()
b.addnewattributesfromotherclass(JustCounter)
b.count()
上面是我写的关于反射的小实验,但B的实例b调不到count(),报了一个错,是为什么呀?
TypeError: count() missing 1 required positional argument: 'self'