Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类不识别属性?_Python_Python 2.x - Fatal编程技术网

Python 类不识别属性?

Python 类不识别属性?,python,python-2.x,Python,Python 2.x,这让我快发疯了。我想让程序打印“Frank”这个名字。但是,我得到一个错误,上面写着“AttributeError:'人'对象没有'called'属性”。我在网上搜索过,据我所知,我做的一切都是对的,但由于我遇到了一个错误,显然我没有 我正在使用Python 2 class People(object): def __init__(self, name): self.name = name def called(self): return se

这让我快发疯了。我想让程序打印“Frank”这个名字。但是,我得到一个错误,上面写着“AttributeError:'人'对象没有'called'属性”。我在网上搜索过,据我所知,我做的一切都是对的,但由于我遇到了一个错误,显然我没有

我正在使用Python 2

class People(object):

    def __init__(self, name):
        self.name = name

    def called(self):
        return self.name

frank = People("Frank")

print frank.called()

我做错了什么?

看起来像是缩进问题

点是空格,箭头是制表符

即使选项卡在文本编辑器中看起来相当于四个空格,Python也可能不会这样解释它们。因此,永远不要将制表符和空格混合使用。只使用一个或另一个。最好是空间



我看到你正在使用记事本++。为了便于调试,您可以通过转到查看->显示符号并选中“显示空白和选项卡”,将其配置为将选项卡显示为箭头。您还可以通过设置->首选项->语言菜单/tab设置->替换为空格,将其配置为在按下tab键时插入四个空格,而不是一个制表符。

您的代码对我来说很好。在Python中,缩进是语法的一部分-可能您的
调用的
方法是在类外定义的,作为一个独立函数(或者作为
\uuuu init\uuuu
方法的本地函数)。请仔细检查缩进。添加图片以显示我真的得到了错误,这是我在程序中的所有代码…是的!这正是问题所在。我混合了空格和制表符。将它们全部更改为制表符-问题解决了。(我会用谷歌搜索为什么首选空格)。@MarijkeVonk为什么首选空格的简短回答:不同的编辑器会将选项卡显示为不同的宽度,但空格始终是空格。这是关于一致性的,不会对空格感到惊讶。@MarijkeVonk抱歉忘记了时间段:)。这太经典了:)关于和的说明,建议使用空格。