AttributeError:' NoneType'对象没有属性

时间:2016-12-09 07:32:50

标签: python class attributeerror

大家好,我是新来的。

我使用python,我需要类中的函数,如

class asas(object):
    def b(self):
        self.name = "Berkhan"
a = asas()
a.b().name

我检查这个模块

Traceback (most recent call last):
  File "C:\Users\Berkhan Berkdemir\Desktop\new 1.py", line 5, in <module>
    a.b().name
AttributeError: 'NoneType' object has no attribute 'name'

我该怎么办?

2 个答案:

答案 0 :(得分:2)

b()什么都不返回。因此它返回None

你可能想要这样的东西:

class asas(object):
    def b(self):
        self.name = "Berkhan"
        return self
a = asas()
a.b().name

答案 1 :(得分:2)

NoneType意味着你实际上没有任何你认为正在使用的类或对象的实例,而是实际上没有。这通常意味着上面的赋值或函数调用失败或返回意外结果。请参阅reference

所以,你可以这样做。

class asas(object):
    def b(self):
        self.name = "Berkhan"
        return self.name

a = asas()
print(a.b()) # prints 'Berkhan'

class asas(object):
    def b(self):
        self.name = "Berkhan"
        return self

a = asas()
print(a.b().name) # prints 'Berkhan'