python 类 中 __dict__ 赋值变量

python类中__dict__属性返回的是实例对象中当前已经定义的所有自定义实例变量的名和值,为字典的形式

class Persion():
	def __init__(self,par1,par2,par3,par4):
		self.par1 = par1
		self.par2 = par2
		self.par3 = par3
		self.par4 = par4

	def female(self):
		pass
	def male(self):
		pass


P = Persion("a","b","c","d")
print(P.__dict__)
print(Persion.__dict__)

P.__dict__={"par5":"e","par6":"f","par7":"g"}
print(P.__dict__)

P.__dict__["par5"]="E"
print(P.__dict__)

P.__dict__.update({'par6':"F", 'par7':"G"})
print(P.__dict__)

结果中,将类实例化后,P.__dict__ 为类的属性,也就是类的变量
未实例化时Persion.__dict__ 为类的属性,方法等
可以通过__dict__来对类的变量进行更改,省去了self.var = var 这种形式

#结果
{'par1': 'a', 'par2': 'b', 'par3': 'c', 'par4': 'd'}
{'__module__': '__main__', '__init__': <function Persion.__init__ at 0x7fb9a76b4ae8>, 'female': <function Persion.female at 0x7fb9a76b4b70>, 'male': <function Persion.male at 0x7fb9a76b4c80>, '__dict__': <attribute '__dict__' of 'Persion' objects>, '__weakref__': <attribute '__weakref__' of 'Persion' objects>, '__doc__': None}
{'par5': 'e', 'par6': 'f', 'par7': 'g'}
{'par5': 'E', 'par6': 'f', 'par7': 'g'}
{'par5': 'E', 'par6': 'F', 'par7': 'G'}

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风风是超人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值