所以我刚开始用python编程,我不明白'self‘背后的全部原因。我知道它几乎就像一个全局变量一样使用,这样数据就可以在类中的不同方法之间传递。我不明白为什么在调用同一个类中的另一个方法时需要使用它。如果我已经在那个班级了,为什么我还要说呢?
例如,如果我有:为什么我需要self.thing()?
class bla:
def hello(self):
self.thing()
def thing(self):
print "hello"
发布于 2013-09-08 12:38:19
此外,您还可以在类static
中创建方法,因此不需要self
。然而,如果你真的需要的话,可以使用它。
你的:
class bla:
def hello(self):
self.thing()
def thing(self):
print "hello"
静态版本:
class bla:
@staticmethod
def hello():
bla.thing()
@staticmethod
def thing():
print "hello"
发布于 2014-07-23 09:18:07
对我来说,self就像一个作用域定义者,用self.foo()和self.bar来表示类中定义的函数和参数,而不是其他地方定义的那些。
发布于 2020-04-29 15:15:45
我在下面的代码中尝试过,在类中不带参数地声明方法,并使用类名调用方法。
class Employee:
def EmpWithOutPar():
return 'Hi you called Employee'
print(Employee.EmpWithOutPar())
输出:您好,您呼叫了员工
https://stackoverflow.com/questions/18679803
复制相似问题