gpt4 book ai didi

python - def __init__(self, *args, **kwargs) 在 python 中初始化类

转载 作者:太空狗 更新时间:2023-10-29 20:25:42 25 4
gpt4 key购买 nike

我是 Python 新手。我在我正在处理的 OpenFlow Controller 中遇到了 Python 代码。

class SimpleSwitch(app_manager.RyuApp):
OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION]

def __init__(self, *args, **kwargs):
super(SimpleSwitch, self).__init__(*args, **kwargs)
self.mac_to_port = {}

我的问题如下。

  1. __init__ 是类的构造函数吗?

  2. self和C++的this指针一样吗?

  3. super(SimpleSwitch, self).__init__(*args, **kwargs) 是否意味着调用父类/父类(super class)的构造函数?

  4. 你能给 self 添加一个新成员作为 mac_to_port 吗?还是已经添加并刚刚在这里初始化?

最佳答案

  1. __init__ 是初始化程序; __new__ 是构造函数。参见例如this question .
  2. 实际上是:Python 中实例方法的第一个参数,按照惯例称为 self,是实例本身。
  3. 调用父类的初始化程序,是的。
  4. 它向 SimpleSwitch 添加了一个新属性,除了父类已有的属性,一个空字典。

关于python - def __init__(self, *args, **kwargs) 在 python 中初始化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23027846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com