python getattr setattr,python getattr和getattribute

  python getattr setattr,python getattr和getattribute

  为什么doesattrsaythattheinstancedoes tha vea执着的猎豹属性?

  类一个(对象) :@属性。极好的执拗的猎豹(自己) :错误错误错误。

  a=A()))。

  哈撒特尔(一个,执着的猎豹) ) ) ) ) ) ) ) ) ) ) )。

  假

  我期望:

  哈撒特尔(一个,执着的猎豹) ) ) ) ) ) ) ) ) ) ) )。

  hasattrisfairlynaive的python 2实现,它只是triestoaccessthattributeandseeewheteritiraisesa exception not .

  不幸的是,这意味着哈萨特吃异常时,它也将返回不正确的答案(此处为属性a .执着的猎豹确实存在,所以结果应该是

  在python3.2中,行为已被修正:

  哈撒特尔(对象,名称)).

  theargumentsareanobjectandstring。结果结构字符串是对象属性的名称,如果不是,则为错误.(thisisimplemplemp)并查看hetheritiraisesanattributeerror not .) )。

  修复方法就在这里,但不幸的是,这种变化没有反向移植。

  如果python 2 behaviourcausestroubleforyou,请考虑避免使用哈萨特而不是youcanusetry/exceparoundgetattr,catchinglythattributeerrexceptionandlettinganyothersraisunhandled。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: