paramètres de la fonction d'apprentissage Python ----

I. Présentation arguments entre la forme

Paramètre: paramètre appelé les paramètres formels définis dans la fonction de phase de définition, appelée paramètre

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 affecté (adresse de mémoire de liaison) pour le paramètre (nom variable)
2, cette relation de liaison ne peut être utilisé dans le corps de la fonction
3, les solides relations liant les paramètres formels impliqués lorsque l'appel de fonction prenne effet après la fin de l'appel de fonction unbind

la valeur d'argument correspond, mais la valeur peut être sous la forme
sous la forme d'un:

func(1,2)

Sous la forme de deux:

a = 1
b = 2
func(a, b)

Sous forme de trois:

func(int('1'), 2)
func(func1(1,2,),func2(2,3),333)

En second lieu, les paramètres d'utilisation réelle et spécifique

Les paramètres positionnels: successivement de gauche à droite en fonction des paramètres paramètre de position défini appelé
le paramètre de position: nom de la variable en conformité avec l'ordre de gauche à droite définies directement les
caractéristiques et les valeurs des paramètres de position doivent être transférés, au moins un autre pas ne fonctionne pas

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

la position d'argument: dans l' ordre depuis la gauche d'une valeur de référence adoptée
caractéristiques: paramètre de premier ordre et

func(1, 2, )

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

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


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

Mix, mettant l'accent sur

1, doit être placé la position de l'argument avant les arguments de mots-clés

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


func(1, y=2)


func(y=2,1)  # 语法错误 位置实参必须放在关键字实参前

2, ne peut être répété pour les mêmes valeurs de paramètres de transmission

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

func(1,y=2,x=3) # x重复传值
func(1,2,y=3,x=4) # x,y重复传值

2.3 Paramètres par défaut

Les paramètres par défaut: stade de la définition de la fonction, un paramètre a été affecté à long
Caractéristiques: phase de définition a déjà été attribué, ce qui aide les valeurs non affecté à l'étape d' appel

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


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


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


register('wndmd', 18, )
register('茄子', 18, )
register('白给', 18, )
register('小茄子', 18, '女')

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(x=1,y):  # 报错
    pass
SyntaxError: non-default argument follows default argument

2, la valeur par défaut du paramètre est affecté l'étape de définition d'une fonction:

Une démonstration:

m = 2

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

m = 33333333333
func(1)

Modèle II:

m = [11111111, ]

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


m.append(333333)
func(1)

3, bien que les valeurs par défaut peuvent être spécifiées comme tout type de données, type de variable mais non recommandé

Fonction État idéal: appeler la fonction a seulement une relation avec la fonction elle-même, sans code d'influence extérieure

Paramètres (utilisation * et **) 2.4 longueur variable
longueur variable fait référence à l'appel de fonction, le nombre de valeurs (argument) n'est pas fixe entrant
deux paramètre argument est utilisé pour l'attribution, correspond donc, en cas de débordement d' un argument correspondant doit être paramètre reçu

m = [11111111, ]

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


m.append(333333)
func(1)

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
paramètre de deux argument est utilisé pour l'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

I: 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és en tant que format tuple nom de paramètre puis attribué immédiatement après le
* peut être un nom du talon, mais une convention doit ê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)

II: 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)

III: Les types de paramètres réels sont marqués par *

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

I: noms de paramètres: des moyens pour recevoir l' argument mot - clé renversé, sauverai l'argument dans le format dictionnaire mot - clé débordement, puis affecté au nom du paramètre dans ce qui suit immédiatement

Talon peut être un nom, mais la convention devrait être kwargs

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

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

II: peut être utilisé dans l'argument ( talon que le dictionnaire), avec les arguments , la première valeur est divisée en argument de mots - clés

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)

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

III: Les types de paramètres réels sont avec **

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 avant qu'il ne doit kwargs

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

2,5 arguments clés nommés (à savoir)

Une combinaison de 2.6 (En savoir)

Je suppose que tu aimes

Origine www.cnblogs.com/x945669/p/12519393.html
conseillé
Classement