python中,如何在初始化实例时,动态为其添加属性

python中,如何在初始化实例时,动态为其添加属性,第1张

代码看起来没有问题。如果在python3上不能用,应该也只需要小小的调整。原则上应该跑得通。

不过话说回来,这样的技巧通常在python里用不上。因为python的强大并不是因为它的面向对象属性

而且这些写代码的可读性也较差。 python的强大在于它通用,它与C的良好结合,最重要的是它是“脚本”。 可以动态的做任何事情,既然它的动态很强大,你就不需要写这样的代码。

直接这样

s1= AnyClass()

s1.any_variable = some_value

这样足够了。因为python可以自动给未知的变量,增加一个内部属性。所以我经常写下面的这样的代码

class Config:

    pass

conf = Config()

conf.mysql_ip = "127.0.0.1"

这样就可以了

1,如果你是想添加到__init__(对象)的对象里面,是不行的,子类调用对象不能多于或者异于父类。

2,如果你只是想单纯的加个属性,而不考虑实例、实参调用的便捷性,那么就随意加了。有以下方法:

a.直接在属性定义的位置加上self.形参=形参。

b.可以用def()方法调用或者修改形参(这里的形参也就是你说的属性)

c.可以用class类定义或者修改形参(2楼就是用的这个方法,还附了截图,注意他等号后面第一个字母是大写,所以是引用的class类)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11759704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存