首页 > 解决方案 > 我怎么能叫这个类?

问题描述

class average :
        def myinput():
                n=0
                mylist=[]
                #will be ended when input = -1 
                while n !='-1' :
                    n=raw_input('>>>')
                    if n!='-1' :
                        mylist.append(n)
                print lol(mylist)
        def lol(mylist):
               try: 
                mysum=0.0
                for i in mylist :
                    mysum=mysum+int(i)
                return mysum/len(mylist)
               except:
                  return  'please don\'t Enter charecters just Number' 
ave=average
ave.myinput()

这段代码有什么问题?

$ winpty python test3.py Traceback(最近一次调用最后一次):
文件“test3.py”,第 20 行,在
ave.myinput() 类型错误:未绑定的方法 myinput() 必须以
平均实例作为第一个参数调用(什么都没有反而)”””

标签: pythonfunctionclassaverage

解决方案


首先,您应该重命名您的类,Python 命名约定非常强大,并且类应始终以大写字母开头。

然后回答:你只是忘记了()

ave = Average()
ave.myinput()

你应该把类实例放在每个方法中:

def myinput(self): ...

def lol(self, mylist):


推荐阅读