python – 必须使用instance作为第一个参数调用unbound方法
作者:互联网
我想在python2.x中构建简单的分数计算器
from fractions import Fraction
class Thefraction:
def __init__(self,a,b):
self.a = a
self.b =b
def add(self):
return a+b
def subtract(self,a,b):
return a-b
def divide(self,a,b):
return a/b
def multiply(self,a,b):
return a/b
if __name__=='__main__':
try:
a = Fraction(input('Please type first fraction '))
b = Fraction(input('Please type second fraction '))
choice = int(input('Please select one of these 1. add 2. subtract 3. divide 4. multiply '))
if choice ==1:
print(Thefraction.add(a,b))
elif choice==2:
print(Thefraction.subtract(a,b))
elif choice==3:
print(Thefraction.divide(a,b))
elif choice==4:
print(Thefraction.multiply(a,b))
except ValueError:
print('Value error!!!!!')
我不确定我是否创建了可以实例化的正确类,但我使用它,如_f __ ==’__ main__’中的Thefraction.add.我错过了什么?
解决方法:
这意味着这样做:
thefraction = Thefraction(a, b)
if choice == 1:
print(thefraction.add())
然后在你的班上:
def add(self):
return self.a + self.b
等等.不要在方法中包含a和b作为参数.
是的,再次阅读课程教程.彻底.
标签:python,instantiation 来源: https://codeday.me/bug/20190722/1502748.html