当前位置:   article > 正文

def __init__(self, **kwargs):中的**kwargs是什么意思

def __init__(self, **kwargs):

**kwargs是什么意思

在Python中,**kwargs是一种特殊的参数形式,用于接收可变数量的关键字参数(Keyword Arguments)。kwargs是一个字典(dictionary),其中关键字是参数名,对应的值是传递给函数的实际参数。

在类的__init__方法中,**kwargs常用于接收任意数量的额外参数,并将其作为类的属性进行初始化。通过使用**kwargs,我们可以在创建类的实例时传递任意数量的关键字参数,而无需事先指定参数的名称和个数。

下面是一个示例:

class MyClass:
    def __init__(self, **kwargs):
        for key, value in kwargs.items():
            setattr(self, key, value)

# 创建实例并传递关键字参数
obj = MyClass(name='Alice', age=25, city='New York')

# 访问传递的参数
print(obj.name)  # 输出: Alice
print(obj.age)   # 输出: 25
print(obj.city)  # 输出: New York
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在上述示例中,**kwargs接收了关键字参数nameagecity。然后在__init__方法中,通过使用setattr函数,将这些传递的参数作为属性初始化到类的实例中。因此,可以通过实例对象直接访问这些属性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/442741
推荐阅读
  

闽ICP备14008679号