TypeError:缺less1位置参数:“self”

我是python的新手,并且碰到了一堵墙。 我跟着几个教程,但不能通过错误:

Traceback (most recent call last): File "C:\Users\Dom\Desktop\test\test.py", line 7, in <module> p = Pump.getPumps() TypeError: getPumps() missing 1 required positional argument: 'self' 

我审查了几个教程,但似乎没有什么不同于我的代码。 我能想到的唯一的事情是Python 3.3需要不同的语法。

主要scipt:

 # test script from lib.pump import Pump print ("THIS IS A TEST OF PYTHON") # this prints p = Pump.getPumps() print (p) 

泵类:

 import pymysql class Pump: def __init__(self): print ("init") # never prints def getPumps(self): # Open database connection # some stuff here that never gets executed because of error 

如果我正确理解“自我”是自动传递给构造函数和方法。 我在这里做错了什么?

我用python 3.3.2使用Windows 8

你需要在这里实例化一个类实例。

使用

 p = Pump() p.getPumps() 

小例子 –

 >>> class TestClass: def __init__(self): print "in init" def testFunc(self): print "in Test Func" >>> testInstance = TestClass() in init >>> testInstance.testFunc() in Test Func 

你需要先初始化它:

 p = Pump().getPumps()