问:在本系列中,Kenneth继续使用setattr(),但是为什么呢?
此功能实际上是做什么的,您将如何使用它?
答:如文档中所述,setattr()是getattr()的对应物。参数是一个对象,一个字符串和一个任意值。该字符串可以命名现有属性或新属性。如果对象允许,该函数将值分配给属性。例如,setattr(x, 'foobar', 123)等效于x.foobar = 123。
setattr()当要设置的属性的名称包含在变量中时,可以使用。假设您有一组希望作为属性添加到对象的关键字变量。您可以遍历kwarg并使用setattr()以下命令添加它们:
$ ipython3的
Python 3.4 。0 (默认值, 2015年6 月19 日, 14 :20 :21 ),
键入 “版权” , “信用” 或 “许可证” 以获取 更多 信息。
IPython 1.2 。1 -一种增强交互式的Python 。?- >介绍和概述的IPython中的功能。%quickref- >
快速 参考。
help- > Python自己的帮助系统。
对象? -> 有关“对象”的详细 信息 ,请使用“对象?” 有关更多详细信息。
在[ 1 ]中:class myobj ():... :通过... :在[ 2 ]中:kwargs = { 'username' :“ snakeherder” ,'email' :“ sherder@example.com”
]: 对于 密钥, 以kwargs为单位的值 。items ():
... :setattr (myobj ,key ,value )... :在[ 4 ]中:myobj 。用户名输出[ 4 ]:'snakeherder'在[ 5 ]:MyObj中。电子邮件出[ 5 ]:'sherder@example.com'