没有 'self'的Python调用方法

标签 python class self

所以我刚开始用 python 编程,我不明白“self”背后的全部原因。我知道它几乎就像一个全局变量一样使用,因此可以在类中的不同方法之间传递数据。我不明白为什么在同一个类中调用另一个方法时需要使用它。如果我已经在那个类,我为什么要告诉它??

例如,如果我有: 为什么我需要 self.thing()?

class bla:
    def hello(self):
        self.thing()

    def thing(self):
        print "hello"

最佳答案

你也可以在类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"

关于没有 'self'的Python调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18679803/

相关文章:

python - SQL iPython Magic 扩展不会加载

非标准端口上的 Python telnetlib 提示

python - 如何使用循环显示查询字典

oop - 发送自己的对象 - 好主意吗?

python - 在 pytest 中禁用特定记录器

Java RGB值代码机器人类

java - 多个工厂方法与单一方法

ios - 在 "self"中有多个项目?

python - 做self.something = something的目的是什么

rust - 将 '&self' 方法中的闭包添加到结构中的属性