À l'heure actuelle, j'ai vu environ 4 utilisations. S'il y a des imperfections, veuillez les ajouter.
1. Opérations mathématiques
print(2 * 3) # 6
print(2 ** 3) # 8
复制代码
2. Duplication d'objets
print('-' * 5) # '-----'
复制代码
3. Définition de la fonction
Lors de la définition d'une fonction, ajouter * avant le paramètre pour collecter plusieurs paramètres
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. Appel de fonction
Lors de l'appel de la fonction, ajoutez * avant le paramètre entrant pour décomposer le paramètre
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)
复制代码