在Python中将self传递给类函数

Joa*_*nge 4 python class function

在python的类函数中传递自引用值的原因是什么?例如:

class MyClass:
    """A simple example class"""
    i = 12345
    def f(**self**):
        return 'hello world'
Run Code Online (Sandbox Code Playgroud)

通过这样做,你不是在做编译器的工作吗?

Joh*_*uhy 9

多年来,许多电子一直在讨论这个问题.

圭多(Python的创造者)的重量提出的问题在他的博客在这里,响应的建议,去年摆脱了明确的自我.python FAQ也涵盖了这个问题.

最后,如果你不介意一些灰色魔法,你可以使用元类来摆脱它.虽然有充分的理由说明你不应该这样做(它会破坏属性,使你更难理解别人的代码,并且会让任何其他查看代码的python程序员感到困惑).