如何创建一个计算器类,它将接受使用Python的任意数量的数字
我对Python很新,我正在创建一个新的计算器类。我已经开始了我的代码:如何创建一个计算器类,它将接受使用Python的任意数量的数字
class calculator (object): def __init__ (self, *values):
但是,我卡在这里。我需要创建def def和def multiplying等;但我不知道如何开始它,或者如果我在这里是正确的。我想知道我是否正确使用*值,因为我需要接受任意数量的函数。如果是这样,我该怎么做init?非常感谢。
您应该使用__init__
来初始化计算器,而不是它的计算(这就是类的方法)。因此,例如,你可以这样做:
class Calculator(object): def __init__(self, arg1): self.arg1 = arg1 def add(self, a, b): return a + b
我不知道你需要什么样的变量初始化一个计算器,但也许你可以想出一些。然后,你可以这样做:
calculator = Calculator() # the following prints 7 print calculator.add(3, 4)
这实际上非常有帮助,我认为我错了__init__的作用。非常感谢! – 2012-03-30 06:37:06
class Calculator(object):
def __init__(self,*vals):
self.vals = vals #list of vals here
def add(self):
return sum(self.vals)
这将需要您在每次需要完成新计算时实例化新的Calculator对象。这不是很有用。 – 2012-03-30 10:29:10
你为什么要当你初始化它通过所有的数字在计算器?你为什么不在调用操作时传递数字? – kindall 2012-03-30 06:27:54
你应该看看这个:http://*.com/questions/919680/python-can-a-variable-number-of-arguments-be-passed-to-a-function – theonova 2012-03-30 06:32:15
如果你不知道在哪里你要走了,有可能你会到别的地方;-)首先定义你希望计算器如何工作而不管实现如何,然后才开始将各种编程工件映射到所需的特征。 – mjv 2012-03-30 06:32:51