一般情况下,当定义了一个class,并且创建了一个class的实例后,可以给该实例绑定任何属性和方法。

python中的__slots__使用方法

以上的输出是:zhangtie

这是给实例绑定一个属性。

还可以给实例绑定方法:

python中的__slots__使用方法

以上的输出是:zhangtie , 23

但是如果要限制class的属性,例如只允许向class中添加name和age属性,就可以在定义class的时候,定义一个__slost__变量来限制class能添加的属性。

延续上面的栗子:

python中的__slots__使用方法

以上的输出是:

zhangtie

23

AttributeError: 'Student1' object has no attribute 'sex

会抛出这个异常就是因为没有在__slost__这个变量中添加sex这个属性。

!注意:__slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的。

举个栗子:

python中的__slots__使用方法

以上的输出是:

zhangtie

23

man

#注意,子类的继承还是可以把方法绑定到类的实例上。

相关文章:

  • 2022-01-02
  • 2021-05-27
  • 2022-12-23
  • 2022-12-23
  • 2021-07-16
  • 2021-10-08
  • 2021-12-14
猜你喜欢
  • 2021-06-02
  • 2021-12-20
  • 2021-08-24
  • 2022-12-23
  • 2022-02-14
  • 2021-08-12
  • 2021-12-18
相关资源
相似解决方案