目前大概就看到了 4 种用法,如果有不完善的欢迎补充
1.数学运算
print(2 * 3) # 6
print(2 ** 3) # 8
复制代码
2.对象重复
print('-' * 5) # '-----'
复制代码
3.函数定义
定义函数时,在参数前加上*表示收集若干参数
def fun1(x, *args):
print(x)
print(args)
def fun2(x, **kwargs):
print(x)
print(kwargs)
def fun3(*args, **kwargs):
print(args)
print(kwargs)
fun1(0, 1, 2, 3)
fun2(0, a=1, b=2, c=3)
fun3(1, 2, 3, a=1, b=2, c=3)
复制代码
4.函数调用
调用函数时,在传入的参数前加上*表示对参数进行分解
list = [1, 2, 3]
print(*list) # 1 2 3
data = [(1, 'a'), (2, 'b'), (3, 'c')]
l1, l2 = zip(*data)
print(l1) # (1, 2, 3)
print(l2) # ('a', 'b', 'c')
import torch.nn as nn
import torchvision.models as models
resnet = models.resnet18(pretrained=True)
modules = list(resnet.children())[:-1] # remove the last FC layer
resnet = nn.Sequential(*modules)
复制代码