AttributeError: 'str' object has no attribute '__name__'

AttributeError: 'str' object has no attribute '__name__'

导致此错误的原因是什么?难道不能在代码中注释掉这样的行吗?

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

Error message line edited to fit the example code

你说的是什么意思

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

当你迭代这个元组时,第二个元素是一个字符串,因此导致错误。

删除三引号字符串 """Class_2, Class_3""" 以避免迭代它,这就是您在本例中所做的,所以它看起来像 for i in (Class_1,)(括号是可选的)。

您似乎想注释掉那些不必要的部分,但请注意,从技术上讲,那些三引号字符串不是注释,因此它们仍然会在您不希望的某些区域影响脚本。