【发布时间】:2019-08-11 23:24:43
【问题描述】:
在 Python 3.x 中,我可以用 bar() 做什么而我不能用 foo() 做什么?
class A:
def foo():
print("some code")
@staticmethod
def bar():
print("some code")
注意:我最初忘记将 self 指定为 foo() 的参数,但我将错误留在那里,因为答案已解决。
【问题讨论】:
-
foo的定义应该是def foo(self):如果你打算调用它:) -
这是无效的。 foo 将失败,因为它需要引用 self
foo(self) -
请不要更改问题,我已经解决了您的初始版本 - 值得留在答案中......
-
将
self添加为参数后,差异显而易见。无论如何,如果没有self,该函数将永远不会运行 -
那么我是否应该将它恢复为出现错误的原始形式并留下一个编辑说明,以便其他学习者可以接受它?
标签: python python-3.x python-decorators