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'self'解释
我正在学习Python,对于来自这个类的方法的访问类变量,我有一个问题,理论上比实际上更多.
例如,我们有:
class ExampleClass:
x = 123
def example_method(self):
print(self.x)
Run Code Online (Sandbox Code Playgroud)
为什么必须准确写出self.x,而不仅仅是x?x属于类的命名空间,使用它的方法也属于它.我错过了什么?这种风格背后有什么理由?
在C++中,您可以编写:
class ExampleClass {
public:
int x;
void example_method()
{
x = 123;
cout << x;
};
};
Run Code Online (Sandbox Code Playgroud)
它会工作!