class FirstClass:
count = 0
def __init__(self,seq,pos):
self.seq = seq
self.pos = pos
FirstClass.count += 1
def getCNChr(n):
tpl = "〇一二三四五六七八九"
s = ""
try:
for c in str(n):
s += tpl[eval(c)]
except:
pass
return s
@staticmethod
def getCNCount(self):
return"已使用"+FirstClass.getCNChr(FirstClass.count)+"个座位"
d1 = FirstClass(10,"window")
d2 = FirstClass(8,"asile")
print(FirstClass.getCNCount())
运行之后,报错:“TypeError: getCNCount() missing 1 required positional argument: 'self'”
是因为我给getCNCount()多加了个参数,把“def getCNCount(self):”改为“def getCNCount():”,就可以
class FirstClass:
count = 0
def __init__(self, seq, pos):
self.seq = seq
self.pos = pos
FirstClass.count += 1
@classmethod
def getCount():
return "已使用" + str(FirstClass.count) + "个座位"
d1 = FirstClass(10, "window")
d2 = FirstClass(8, "asile")
print(FirstClass.getCount())
运行之后,报错:“TypeError: getCount() takes 0 positional arguments but 1 was given”
是因为我少给“getCount()”一个形参,每个与类相关联的方法调用时,都自动传递实参self , 它是一个指向实例本身的引用”_init_中的参数self会自动传递给getCount(),把“def getCount():”改成“def getCount(self):”,就可以