class human():
@staticmethod
def eat(x):
print('person a eatting %s in night' %x)
print(2)
human.eat('香蕉')
human().eat('西瓜')
class human:
def eat(x):
print('person a eatting %s in night' %x)
print(2)
human.eat('香蕉')
human().eat()
human().eat('西瓜')
运行结果:
2
person a eatting 香蕉 in night
person a eatting 西瓜 in night
2
person a eatting 香蕉 in night
person a eatting <__main__.human object at 0x000001D1489556A0> in night
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15080/4175715165.py in <module>
14 human.eat('香蕉')
15 human().eat()
---> 16 human().eat('西瓜')
TypeError: eat() takes 1 positional argument but 2 were given
本文通过两个Python类展示了静态方法和实例方法的使用,演示了如何调用这些方法以及可能出现的错误类型。代码中,`human`类定义了`eat`方法,静态方法不需实例化即可调用,而实例方法需要先创建对象再调用。在第二段代码中,尝试直接在类上调用实例方法导致了TypeError。
751

被折叠的 条评论
为什么被折叠?



