TEL:400-8793-956
当前位置:程序、服务器

setattr()实际做什么?

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-14 08:38:37

 问:在本系列中,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'          
上一篇: AttributeError:类型对象“ User”没有属性“ create_user”
下一篇: 如何加总和?