我正在学习 Python 编程语言,但遇到了一些我不完全理解的东西。
在这样的方法中:
def method(self, blah):
def __init__(?):
....
....
self
做什么?它是什么意思?它是强制性的吗?
__init__
方法有什么作用?为什么有必要? (ETC。)
我认为它们可能是 OOP 构造,但我不太了解。
原文由 GUIDED BOMB 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在学习 Python 编程语言,但遇到了一些我不完全理解的东西。
在这样的方法中:
def method(self, blah):
def __init__(?):
....
....
self
做什么?它是什么意思?它是强制性的吗?
__init__
方法有什么作用?为什么有必要? (ETC。)
我认为它们可能是 OOP 构造,但我不太了解。
原文由 GUIDED BOMB 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
在这段代码中:
…
self
变量表示对象本身的实例。大多数面向对象的语言将 this 作为隐藏参数传递给对象上定义的方法;蟒蛇没有。您必须明确声明它。当您创建A
类的实例并调用其方法时,它将自动传递,如 …__init__
方法大致代表了 Python 中的构造函数。当您调用A()
时,Python 会为您创建一个对象,并将其作为第一个参数传递给__init__
方法。任何附加参数(例如A(24, 'Hello')
)也将作为参数传递——在这种情况下会引发异常,因为构造函数不期望它们。