【问题标题】:Passing self to class functions in Python [duplicate]将自我传递给Python中的类函数[重复]
【发布时间】:2010-10-05 07:07:35
【问题描述】:

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

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

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

【问题讨论】:

标签: python function class


【解决方案1】:

多年来,许多电子都为讨论这个问题献出了生命。

Guido(python 的创建者)在他的博客 here 中对这个问题进行了权衡,以回应去年的 proposal 以摆脱显式自我。 python FAQ 也有covers the issue.

最后,如果你不介意一点灰色魔法,你可以use a metaclass to get rid of it。尽管你有充分的理由不应该这样做(它会破坏属性,会让你更难理解其他人的代码,并且会让任何其他查看你代码的 Python 程序员感到困惑)。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2022-01-26
    • 2015-09-13
    相关资源
    最近更新 更多