跳至主要內容
参数中的星号

参数中的星号

1 参数中的 *args 和 **kwargs

在了解 *args 和 **kwargs 的作用之前,首先要理解 * 和 ** 在 Python 中的使用。* 和 ** 主要有三方面的用途:

  1. 对可迭代对象进行拆分
  2. 可变变量的赋值
  3. 函数的可选参数标志

1.1 对可迭代对象进行拆分

print(*(1, 2, 3)) # 1 2 3
print(*{'a': 1, 'b': 2, 'c': 3}) # a b c 拆解字典时只拆解key
print({**{'a': 1, 'b': 2, 'c': 3}})# {'a': 1, 'b': 2, 'c': 3}对key和value都进行了拆解

PythonPython
super(net, self).init()

super(net, self).init()

在 PyTorch 中要自己定义一个模型的时候,总会在初始化函数中遇到类似super(net, self).__init__()的代码,比如:

class net(nn.Module):
    def __init__(self):
        super(net, self).__init__()
        
    def forward(self):
        pass

PythonPythonPyTorch