Je vais résumer ce que j'ai appris sur python.
def test(a,b,c):
return {"a" : a ,'b' : b, 'c' : c}
print(test(b=3,c=3,a=66))
Dans ce cas, {'a': 66, 'b': 3, 'c': 3}
`est affiché.
Il peut être exécuté en spécifiant le nom de l'argument de cette manière.
(C'est difficile à comprendre et Sman)
Vous pouvez spécifier un argument par défaut au cas où vous oublieriez de spécifier un argument
def test(a=0,b=1,c=2):
return {"a" : a ,'b' : b, 'c' : c}
print(test())
>>> {'a': 0, 'b': 1, 'c': 2}
Si * est utilisé dans le cadre d'un argument formel, un nombre variable d'arguments positionnels est groupé dans un taple et défini comme argument formel.
def test(*args):
print(args)
test(1,4,22,'hell')
>>> (1, 4, 22, 'hell')
Il n'est pas nécessaire d'appeler l'argument formel args lors de l'utilisation de *, mais il est courant d'utiliser __args __
Vous pouvez utiliser ** pour combiner des arguments de mots clés dans un seul dictionnaire.
ef test(**kwargs):
print(kwargs)
test(akb=48,nogizaka=46,kkk="hello")
>>>{'akb': 48, 'nogizaka': 46, 'kkk': 'hello'}
Lors de l'utilisation de * args et ** kwargs qui combinent des arguments positionnels, les deux doivent être organisés dans cet ordre.
docstring Vous pouvez ajouter un document à la définition de fonction en ajoutant une chaîne de caractères au début du corps de la fonction.
def test(s):
'Renvoie l'argument tel quel'
return s
print(test.__doc__)
>>>Renvoie l'argument tel quel
Je ne comprends toujours pas la signification du trait de soulignement.
Je ne sais pas quelle est la clôture, mais je vais la résumer un peu.
def circle_area_func(pi):
"""Renvoie une fonction pour trouver l'aire d'un cercle"""
def circle_area(radius):
return pi * radius ** 2 #Ce pi est un cercle_area_func()Valeur spécifiée dans l'argument de
return circle_area #Renvoie la fonction en tant que valeur de retour
#Rapport de circonférence 3.Génère une fonction pour calculer la surface lorsqu'elle est définie sur 14
ca1 = circle_area_func(3.14)
#Ensuite, définissez le rapport de circonférence sur 3.Générer la fonction lorsqu'il est réglé sur 141592
ca2 = circle_area_func(3.141592)
#Les deux fonctions créées ci-dessus ont un rayon=Obtenez le résultat de l'opération en donnant 1 comme argument
ca1(1) #>>>3,14
ca2(1) #>>>3.141592
En utilisant la fonction de fermeture de cette manière, vous pouvez créer dynamiquement une «fonction qui a la même logique mais des paramètres différents utilisés à l'intérieur» simplement en créant une fonction qui crée et renvoie une fonction. .. Avec ce mécanisme, la caractéristique (caractéristique linguistique fonctionnelle) que «non seulement les variables mais aussi les processus (= fonctions) sont transformés en parties et réutilisés» est ajoutée au langage.
C'est vrai ... J'ai l'impression d'avoir l'image. Je ne dis pas qu'il peut être utilisé
En Python, vous pouvez utiliser des "expressions lambda" pour créer des fonctions anonymes.
myfunc = lambda x: x ** 2
myfunc(5) # 25
myfunc(6) # 36
Ceci est fait en utilisant "def"
def myfunc(x):
return x ** 2
Le processus est le même que lorsqu'il est défini comme. En d'autres termes, sous la forme "lambda x: y", x est l'argument et y est la valeur de retour.
Recommended Posts