selfPython 中这个词的目的是什么?我理解它指的是从该类创建的特定对象,但我不明白为什么它明确需要作为参数添加到每个函数.为了说明,在Ruby中我可以这样做:
class myClass
def myFunc(name)
@name = name
end
end
Run Code Online (Sandbox Code Playgroud)
我很容易理解.但是在Python中我需要包括self:
class myClass:
def myFunc(self, name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
谁能跟我说说这个?这不是我在(无可否认的有限)经历中遇到的事情.
我是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'
Run Code Online (Sandbox Code Playgroud)
我检查了几个教程,但似乎与我的代码没有任何不同.我唯一能想到的是python 3.3需要不同的语法.
主要内容:
# test script
from lib.pump import Pump
print ("THIS IS A TEST OF PYTHON") # this prints
p = Pump.getPumps()
print (p)
Run Code Online (Sandbox Code Playgroud)
泵类:
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
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,"self"会自动传递给构造函数和方法.我在这做错了什么?
我使用的是Windows 8和python …
我需要将一个整数分成两个数字.有点像除以2但我只想要整数组件,例如:
6 = 3 and 3
7 = 4 and 3
Run Code Online (Sandbox Code Playgroud)
我尝试了以下,但我不确定它是最好的解决方案.
var number = 7;
var part1 = 0;
var part2 = 0;
if((number % 2) == 0) {
part1 = number / 2;
part2 = number / 2;
}
else {
part1 = parseInt((number / 2) + 1);
part2 = parseInt(number / 2);
}
Run Code Online (Sandbox Code Playgroud)
这样做我想要的,但我认为这段代码不干净.
有更好的方法吗?