首页 > 试题广场 >

已知 Person 类声明如下,则在四个选项中选择出能正常调

[不定项选择题]
已知 Person 类声明如下,则在四个选项中选择出能正常调用的方法是( )
class Person:
    @classmethod
    def eat(self):   
        print("吃饭")

    @staticmethod
    def speak():
        print("说话")

    def run(self):
        print("走路")

  • Person.speak();
  • Person.eat();
  • Person.run();
  • Person.run(Person())
Person.speak()
speak 是用 @staticmethod 修饰的,静态方法可以通过类名直接调用,也可以通过实例调用。

Person.eat();
eat 是用 @classmethod 修饰的,类方法可以通过类名直接调用,第一个参数自动传入类对象。

Person.run();
run 是普通实例方法,需要实例对象调用,例如 Person().run()。
直接用类调用会报错:TypeError: run() missing 1 required positional argument: 'self'

Person.run(Person())
这里传入了一个实例 Person(),这样相当于把实例传递给 self,可以执行。
发表于 2025-08-16 14:47:07 回复(0)
 eat  方法能用类名或实例调用, speak  方法能用类名或实例调用, run  方法只能用实例调用。
发表于 2025-08-10 10:45:53 回复(0)
缩进有问题吧
发表于 2025-08-08 14:10:16 回复(0)
类方法,静态方法,实例方法
发表于 2025-08-14 14:45:55 回复(0)