我几天前才刚开始学习python,而我读的书是《 Python CRASH COURSE》
我不知道我在这段代码中错过了什么,请帮助我!
class mathfunctions:
def addition(self,num1,num2):
return num1+num2
def subtraction(self,num1,num2):
return num1-num2
def multiply(self,num1,num2):
return num1*num2
def divide(self,num1,num2):
return num1/num2
class actiondeclarer():
action = None
x = None
y = None
functions = mathfunctions()
def __init__(self,actionnum,num1,num2):
self.action = actionnum
self.x = num1
self.y = num2
self.actionpicking()
def actionpicking(self):
if self.action is 1:
print("sum is ",self.functions.addition(self.x,self.y))
elif self.action is 2:
print("difference is ",self.functions.subtraction(self.x,self.y))
elif self.action is 3:
print("multitude is ",self.functions.multiply(self.x,self.y))
elif self.action is 4:
print("divide is ",self.functions.divide(self.x,self.y))
else:
print("invalid")
checker = actiondeclarer(1,5,10)
错误消息是AttributeError:'actiondeclarer'对象没有属性'actionpicking'
顺便说一句,如果代码正确,则无需输入print(checker)就可以显示结果“ sum is 15”,对吗?
您的缩进不正确。
def __init__(self,actionnum,num1,num2):
# Code
self.actionpicking()
def actionpicking(self):
# Code
这在本地定义了一个闭包__init__
。您希望其actionpicking
缩进级别与的缩进级别相匹配__init__
。
def __init__(self,actionnum,num1,num2):
# Code
self.actionpicking()
def actionpicking(self):
# Code
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句