在类中对属性进行赋值操作时,python会自动调用__setattr__()函数,来实现对属性的赋值。但是重写__setattr__()函数时要注意防止无限递归的情况出现,一般解决办法有两种,一是用通过super()调用__setatrr__()函数,二是利用字典操作对相应键直接赋值。
以上是利用字典进行操作。
以上是利用super()调用__setattr__()函数。如果不采用以上两种方法直接给属性赋值会出现下面的无限递归情况,程序陷入死循环:
python的__setattr__()函数
最新推荐文章于 2024-05-04 23:58:57 发布