为什么我得到 "NoneType'对象没有属性…"?

我的类。

class UserInfo:

    def __init__(self, name):
        self.name = name
        self.prop = list([10])    # Default info

    def add_info(self, newprop):
        self.prop = [] #Create a new empty list (deletes default)
        self.prop.append(newprop)

下面的代码很好用

# Testing code:
 Mat2 = UserInfo('MaterialNew')

 Mat2.add_info(123)

 print("This is when a new prop is added. The prop is: {}".format(Mat2.prop))

但下面的代码却返回错误 'NoneType' object has no attribute 'prop':

Mat2_info = UserInfo('MaterialNew').add_info(123).prop #supposed new material info
print("This is supposed to be the new info, but it fails: {}".format(Mat2_info))

谁能解释一下这个逻辑?

解决方案:

你很接近了! 你正在尝试用方法链的方式来走捷径。

tmp = UserInfo('MaterialNew').add_info(123)
Mat2_info = tmp.prop #supposed new material info

归去吧 selfadd_info 就可以了

class UserInfo:

    def __init__(self, name):
        self.name = name
        self.prop = list([10])    # Default info

    def add_info(self, newprop):
        self.prop = [] #Create a new empty list (deletes default)
        self.prop.append(newprop)
        return self

给TA打赏
共{{data.count}}人
人已打赏
解决方案

SQL CTE性能是否取决于声明顺序?

2022-4-21 4:00:11

解决方案

iOS支持Swift包管理器吗?[已关闭]

2022-4-21 4:00:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索