Paramètres de fonction d'apprentissage python

1, l'argument introduction entre la forme

Paramètres: les paramètres définis à l'étape appelés paramètres formels fonction définie, appelée paramètre correspondant au nom de la variable

def func(x, y):  # x=1,y=2
    print(x, y)

Argument: la fonction d'appel entrant étape dite de la valeur du paramètre réel, appelé l'argument, ce qui équivaut à la valeur de la variable

func(1,2)

Les relations entre l'argument Forme:

1, la phase d'appel, l'argument (valeur variable) sera lié au paramètre (nom variable)
2, cette relation de liaison ne peut être utilisé dans le corps de la fonction
3, la participation effective du paramètre de relation de liaison deviennent efficaces lorsque l'appel de fonction après la fin de l'appel de fonction unbind

argument valeur est passée, mais la valeur peut être sous la forme

Une forme:

func(1,2)  #传入的是变量值

Sous la forme de deux:

a=1
b=2
func(a,b)     #传入的是已经定义的变量

Sous forme de trois:

func(int('1'),2)    #输出1,2
func(func(1,2,),func(2,3))  #先运行参数的内容,因此先输出1,2和2,3,然后再运行外层函数输出None,None

2, le paramètre particulier de l'utilisation réelle et

2.1 Paramètres positions: une position dite du paramètre en fonction du paramètre défini en séquence de gauche à droite

paramètre Lieu: stade de la définition de la fonction, de gauche à droite, la définition directe de « nom de la variable »

Caractéristiques: doit être transférée valeur, pas un de plus, ni un de moins

def func(x,y):
    print(x,y)
func(1,2,3)
func(1,)

argument Lieu: la fonction de phase d'appel, conformément à l'ordre et certains de la gauche à la valeur entrante

Caractéristiques: l'ordre d'un paramètre

func(1,2)
func(2,1)

2.2 Paramètres de mots-clés

argument de mot-clé: la phase d'appel de fonction, sous la forme de clé = valeur de la valeur passée en

Caractéristiques: par nom pour transmettre une valeur de paramètre, la séquence de référence peut être complètement

def func(x,y):
    print(x,y)

func(y=2,x=1)
func(1,2)

Mélanger, mettant l'accent sur:

1) L'argument de position doit être placé avant que les paramètres réels de mots-clés

func(1,y=2)
func(y=2,1)

2) ne peut pas passer peut être répétée pour la même valeur du paramètre

func(1,y=2,x=3)
func(1,2,x=3,y=4)

2.3 Paramètres par défaut

paramètre par défaut: phase de définition de fonction, a été attribué un paramètre, appelé les paramètres par défaut

Caractéristiques: Au cours de la phase de définition a déjà été attribué, ce qui signifie que l'appel ne peut pas attribuer une valeur à l'étape

def func(x,y=3):
    print(x,y)

# func(x=1)

func(x=1,y=44444)

def register(name,age,gender='男'):
    print(name,age,gender)

register('三炮',18)
register('二炮',19)
register('大炮',19)
register('没炮',19,'女')

Lieu forme de mélange participer paramètres par défaut, mettant l'accent sur:

1) le paramètre de position doit être laissée dans le paramètre par défaut

def func(y=2,x):
    pass

2) La valeur par défaut du paramètre est affectée à la phase de définition de la fonction, il est donné précisément la valeur de l'adresse mémoire du
modèle 1:

m=2
def func(x,y=m): # y=>2的内存地址
    print(x,y
m=3333333333333333333
func(1)

Modèle 2:

m = [111111, ]

def func(x, y=m): # y=>[111111, ]的内存地址
    print(x, y)

m.append(3333333)
func(1)

3) Bien que la valeur par défaut peut être spécifié comme tout type de données, type de variable mais non recommandée

Fonction État idéal: appeler la fonction a seulement une relation avec la fonction elle-même, n'est pas affectée par le code extérieur

m = [111111, ]

def func(x, y=m):
    print(x, y)
    
m.append(3333333)
m.append(444444)
m.append(5555)

func(1)
func(2)
func(3)

def func(x,y,z,l=None):
    if l is None:
        l=[]
    l.append(x)
    l.append(y)
    l.append(z)
    print(l)

func(1,2,3)
func(4,5,6)

new_l=[111,222]
func(1,2,3,new_l)

paramètre de longueur variable 2.4 (* et de l'utilisation **)

longueur variable se réfère à l'appel de fonction, le nombre de valeurs (argument) ne soit pas fixé entrant
et l' argument est utilisé comme paramètre d'affectation, les paramètres réels correspondants, pour le trop - plein doivent avoir une forme correspondant référence pour recevoir

2.4.1 position de longueur variable de paramètres

1) les noms de paramètres: pour recevoir le débordement de l' argument de l' emplacement, la position de débordement des participants réels sont enregistrées en tant que format tuple alors attribué le nom de paramètre immédiatement après
* talon peut être un nom, mais une convention devrait être args

def func(x,y,*z): # z =(3,4,5,6)
    print(x,y,z)

func(1,2,3,4,5,6)

def my_sum(*args):
    res=0
    for item in args:
        res+=item
    return res

res=my_sum(1,2,3,4,)
print(res)

2) peuvent être utilisés dans les arguments, l'argument de la valeur du premier argument * brisé en position

def func(x,y,z):
    print(x,y,z)

func(*[11,22,33]) # func(11,22,33)
func(*[11,22]) # func(11,22)

l=[11,22,33]
func(*l)

3) sont formées avec la participation d'arguments *

def func(x,y,*args): # args=(3,4,5,6)
    print(x,y,args)

func(1,2,[3,4,5,6])
func(1,2,*[3,4,5,6]) # func(1,2,3,4,5,6)
func(*'hello') # func('h','e','l','l','o')

paramètres de mots-clés longueur variable 2.4.2

1) les noms de paramètres: des moyens pour recevoir le débordement d'argument mot-clé, le trop-plein sera enregistré comme un argument de format dictionnaire mot-clé, puis attribué au nom du paramètre dans ce qui suit immédiatement

def func(x,y,**kwargs):
    print(x,y,kwargs)

func(1,y=2,a=1,b=2,c=3)

2) peut être utilisé dans l'argument (talon que le dictionnaire), la valeur de l'argument a rompu dans l'argument clé

def func(x,y,z):
    print(x,y,z)

func(*{'x':1,'y':2,'z':3}) # func('x','y','z')
func(**{'x':1,'y':2,'z':3}) # func(x=1,y=2,z=3)

erreur

func(**{'x':1,'y':2,}) # func(x=1,y=2)
func(**{'x':1,'a':2,'z':3}) # func(x=1,a=2,z=3)

3) sont formés avec l'argument de participation **

def func(x,y,**kwargs):
    print(x,y,kwargs)

func(y=222,x=111,a=333,b=444)
func(**{'y':222,'x':111,'a':333,'b':4444})

Mix * et **: * args doit

def func(x,*args,**kwargs):
    print(args)
    print(kwargs)
func(1,2,3,4,5,6,7,8,x=1,y=2,z=3)
def index(x,y,z):
    print('index=>>> ',x,y,z)
def wrapper(*args,**kwargs): #args=(1,) kwargs={'z':3,'y':2}
    index(*args,**kwargs)
    index(*(1,),**{'z':3,'y':2})
    index(1,z=3,y=2)

wrapper(1,z=3,y=2) # 为wrapper传递的参数是给index用的

Format original --- « Résumé ----- » montrer leurs couleurs

Je suppose que tu aimes

Origine www.cnblogs.com/leilijian/p/12520091.html
conseillé
Classement