jtyydgsj 发表于 2021-10-18 14:15:46

对旧版38讲课后习题有疑惑

class Bird:
      def fly(self):
                print("Fly away!")

class Penguin(Bird):
      def fly(self):
                pass

>>> bird = Bird()
>>> penguin = Penguin()
>>> bird.fly()
Fly away!
>>> penguin.fly()
请问为什么使用pass调用fly方法就没反应?pass方法如何使用?

逃兵 发表于 2021-10-18 14:15:47

pass是占位符,表示什么都不做
用来表示语句的完整性

这里Penguin(Bird)继承了Bird,并修改了fly()方法
Bird调用fly会print("Fly away!")
Penguin调用fly什么都不做

傻眼貓咪 发表于 2021-10-18 15:13:24

定义函数后(define),必须声明函数(statement)才能算完整代码,不然报错。
pass 就是如 2楼大佬说的一样,就是占位符,当作声明

jtyydgsj 发表于 2021-10-19 14:21:29

逃兵 发表于 2021-10-18 14:15
pass是占位符,表示什么都不做
用来表示语句的完整性



谢谢qwq

jtyydgsj 发表于 2021-10-19 14:22:11

傻眼貓咪 发表于 2021-10-18 15:13
定义函数后(define),必须声明函数(statement)才能算完整代码,不然报错。
pass 就是如 2楼大佬说的一 ...

谢谢quq
页: [1]
查看完整版本: 对旧版38讲课后习题有疑惑