AttributeError:' str'对象没有属性' __ name __'

时间:2017-01-10 13:08:59

标签: python iteration python-3.5

导致此错误的原因是什么?是不是可以在代码中注释掉这样的行?

for i in (Class_1, """Class_2, Class_3"""):
    name = i.__name__

Class_1Class_2Class_3是在上层代码之前声明的类。

错误输出:

> Traceback (most recent call last):
  File "", line 2, in <module>
    name = i.__name__
AttributeError: 'str' object has no attribute '__name__'

Process finished with exit code 1
  

编辑错误消息行以适合示例代码

2 个答案:

答案 0 :(得分:2)

你是什么意思

for i in (Class_1, """Class_2, Class_3"""):

当你遍历这个元组时,第二个元素是一个字符串,从而导致错误。

答案 1 :(得分:1)

删除三引号字符串"""Class_2, Class_3"""以避免迭代它,这是您在这种情况下所做的事情,因此看起来像for i in (Class_1,)(括号是可选的)。

您似乎想要注释掉那些不必要的方面,但请注意,这些三引号字符串在技术上不是注释,因此它们仍然会影响您不想要的某些区域的脚本。 / p>