Suite de la nuit dernière. 【Mise en garde】 ["Cours de formation de scientifique des données à l'Université de Tokyo"](https://www.amazon.co.jp/%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E3 % 81% AE% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 82% B5% E3% 82% A4% E3% 82% A8% E3% 83% B3% E3% 83 % 86% E3% 82% A3% E3% 82% B9% E3% 83% 88% E8% 82% B2% E6% 88% 90% E8% AC% 9B% E5% BA% A7-Python% E3% 81 % A7% E6% 89% 8B% E3% 82% 92% E5% 8B% 95% E3% 81% 8B% E3% 81% 97% E3% 81% A6% E5% AD% A6% E3% 81% B6 % E3% 83% 87% E2% 80% 95% E3% 82% BF% E5% 88% 86% E6% 9E% 90-% E5% A1% 9A% E6% 9C% AC% E9% 82% A6% Je vais lire E5% B0% 8A / dp / 4839965250 / ref = tmm_pap_swatch_0? _ Encoding = UTF8 & qid = & sr =) et résumer les parties que j'ai des doutes ou que je trouve utiles. Par conséquent, je pense que le synopsis sera simple, mais veuillez le lire en pensant que le contenu n'a rien à voir avec ce livre.
Une fonction possède au moins l'une des propriétés suivantes ⓪ Suivez les instructions et effectuez le traitement prescrit ① Collecter et standardiser une série de processus (2) Passez l'argument et obtenez la valeur de retour
③ Le format de base est le suivant
def do_nothing():
pass
do_nothing()
résultat ne fais rien
def hello_world():
print('hello world')
hello_world()
résultat
hello world
def hello_world(arg='hello_world'):
print(arg)
hello_world('hello_world')
hello_world('good morning')
résultat
hello_world
good morning
def hello_world(*args):
print(args)
hello_world('hello_world','good morning')
résultat En fonction et la sortie sera tuple
('hello_world', 'good morning')
def hello_world(**kwargs):
print(kwargs)
hello_world(day='hello_world',morning='good morning', evening='good evening')
résultat L'intérieur et la sortie de la fonction seront un dictionnaire, le nom de l'argument sera la clé du dictionnaire et la valeur de l'argument sera la valeur du dictionnaire.
{'day': 'hello_world', 'morning': 'good morning', 'evening': 'good evening'}
def calc_multi(a, b):
return a * b
print(calc_multi(3,5))
résultat
15
fibonacci
def calc_fib(n):
if n ==1 or n== 2:
return 1
else:
return calc_fib(n-1) + calc_fib(n-2)
for n in range(1,21):
print(calc_fib(n),end=' ')
résultat
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
Comme indiqué ci-dessous, une fonction sans nom de fonction est appelée une fonction anonyme lambda.
print((lambda a, b:a*b)(3, 5))
résultat
15
def calc_double(x):
return x * 2
for num in [1, 2, 3, 4]:
print(calc_double(num))
résultat
2
4
6
8
Calculer [1, 2, 3, 4] à la fois avec la fonction de carte et sortie avec la liste
print(list(map(calc_double, [1, 2, 3, 4])))
résultat
[2, 4, 6, 8]
Vous pouvez remplacer une fonction normale par lambda et l'afficher sur une ligne
print(list(map(lambda x : x*2, [1, 2, 3, 4])))
résultat
[2, 4, 6, 8]
print((lambda x : sum(x))(i for i in range(1,51)))
print((lambda x : sum(x))(range(1,51)))
print( sum(i for i in range(1,51)))
print( sum(range(1,51)))
print(reduce(lambda x, y: x + y, range(1,51)))
résultat
1275
a = [-1, 3, -5, 7, -9]
print(list(filter(lambda x: abs(x) > 5, a)))
résultat
[7, -9]
La fonction de réduction est le résultat de l'ajout séquentiel d'éléments
from functools import reduce
print(reduce(lambda x, y: x + y, a))
résultat
-5
【référence】 Fonctions Python de base (map () filter () Reduce ())
・ Bases des fonctions
・ Comment utiliser * args
et ** kwargs
・ J'ai essayé d'arranger comment utiliser la fonction anonyme lambda, la fonction de carte, la fonction de filtre et la fonction de réduction.
Il est facile de comprendre si vous revenez à l'essentiel et que vous les disposez côte à côte.
Recommended Posts