【发布时间】:2021-05-03 07:40:06
【问题描述】:
我不熟悉创建课程并尝试解决问题/练习。
当我尝试实例化工具箱时,我会尝试向其中添加一些工具。我的方法是将它创建为一个列表,并向其中添加新元素。它返回一个“None”类型属性,我不知道如何修复它。
class Toolbox:
def __init__(self):
self.toolbox = []
def add_tool(self, tool):
self.toolbox.append(tool)
def remove_tool(self, tool):
self.toolbox.remove(tool)
class Hammers:
color = ""
def __init__(self, color=''):
pass
def hammer_in(self, nail):
pass
def remove(self, nail):
pass
def paint(self, color):
pass
class Screwdrivers:
size = 10
def __init__(self, size=''):
pass
def tighten(self, screw):
pass
def loosen(self, screw):
pass
toolbox = Toolbox()
hammer = Hammers()
screwdriver = Screwdrivers()
toolbox = toolbox.add_tool(hammer)
toolbox = toolbox.add_tool(screwdriver)
输出:
Traceback (most recent call last):
File "C:Create Classes.py", line 133, in <module>
toolbox = toolbox.add_tool(screwdriver)
AttributeError: 'NoneType' object has no attribute 'add_tool'
我正在尝试: 实例化一个工具箱、一把螺丝刀和一把锤子。
Put the hammer and screwdriver in the toolbox.
谢谢,
【问题讨论】:
-
toolbox.add_tool返回None。您将其分配给toolbox。因此,当您再次尝试执行toolbox.add_tool时会出现错误。只是不要分配给toolbox