使用slots后添加新的方法(函数)

来源:3-3 类的高级特性之slots

慕桂英6320947

2022-02-09 16:41:28

https://img.mukewang.com/climg/62037d760906f45c12521118.jpg

https://img.mukewang.com/climg/62037d8a09693b9213720275.jpg

在这种情况下会报错

https://img.mukewang.com/climg/62037dfb09eac40311161015.jpg

https://img.mukewang.com/climg/62037e0e09b10e9204390226.jpg

但是在这种情况下不会报错?

这是怎么回事?

写回答

1回答

时间,

2022-02-09

同学,你好!

1、报错:cat_black.eat = eat是动态添加eat方法,类中本身是没有eat()实例方法的,因为使用了__slots__做了限制因此会报错

2、不报错:cat_black.eat()调用的是类中的实例方法,类中本身就有eat()方法因此不会报错

https://img.mukewang.com/climg/6203802d09572d7307330513.jpg

祝学习愉快!

0

0 学习 · 8160 问题

查看课程