Crossin的编程教室

标题: 不知道创建实例变量的正确姿势 [打印本页]

作者: Fivenail    时间: 2019-1-22 17:33
标题: 不知道创建实例变量的正确姿势
  1. class entry:
  2.     """号码薄最基础的条目,只包含一个名字"""

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

  5.     def __str__(self):
  6.         content = ''
  7.         for i in self.item_content:
  8.             content += '{}:{} '.format(i, self.item_content[i])
  9.         return content

  10.     def set_number(self, number, type='cellphone'):
  11.         self.item_content[type] = number
复制代码
在实例中调用 set_number方法会报错
Traceback (most recent call last):
  File "D:/pythonworkspace/numberbook/numberbook.py", line 71, in <module>
    entries_insert()
  File "D:/pythonworkspace/numberbook/numberbook.py", line 61, in entries_insert
    new_entry.set_number(str(num_input))
  File "D:\pythonworkspace\numberbook\entry.py", line 17, in set_number
    self.item_content[type] = number
AttributeError: 'entry' object has no attribute 'item_content'

不知道该怎么改,求救
作者: crossin先生    时间: 2019-1-22 23:12
哪里有定义过 item_content 这个成员变量?
你代码里只有使用它,没有创建它的地方
作者: Fivenail    时间: 2019-1-27 22:42
crossin先生 发表于 2019-1-22 23:12
哪里有定义过 item_content 这个成员变量?
你代码里只有使用它,没有创建它的地方 ...

懂了,谢谢老师




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5