Fortsetzung von letzter Nacht. 【Hinweis】 ["Data Scientist Training Course an der Universität von Tokio"](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% Ich werde E5% B0% 8A / dp / 4839965250 / ref = tmm_pap_swatch_0? _ Encoding = UTF8 & qid = & sr =) lesen und die Teile zusammenfassen, an denen ich einige Zweifel habe oder die ich nützlich finde. Daher denke ich, dass die Zusammenfassung unkompliziert sein wird, aber bitte lesen Sie sie und denken Sie, dass der Inhalt nichts mit diesem Buch zu tun hat.
Eine Funktion hat mindestens eine der folgenden Eigenschaften ⓪ Befolgen Sie die Anweisungen und führen Sie die vorgeschriebene Verarbeitung durch ① Sammeln und standardisieren Sie eine Reihe von Prozessen ② Übergeben Sie das Argument und erhalten Sie den Rückgabewert
③ Das Grundformat ist wie folgt
def do_nothing():
pass
do_nothing()
Ergebnis nichts tun
def hello_world():
print('hello world')
hello_world()
Ergebnis
hello world
def hello_world(arg='hello_world'):
print(arg)
hello_world('hello_world')
hello_world('good morning')
Ergebnis
hello_world
good morning
def hello_world(*args):
print(args)
hello_world('hello_world','good morning')
Ergebnis In-Funktion und Ausgabe sind Tupel
('hello_world', 'good morning')
def hello_world(**kwargs):
print(kwargs)
hello_world(day='hello_world',morning='good morning', evening='good evening')
Ergebnis Das Innere und die Ausgabe der Funktion sind Wörterbücher, der Argumentname ist der Schlüssel des Wörterbuchs und der Wert des Arguments ist der Wert des Wörterbuchs.
{'day': 'hello_world', 'morning': 'good morning', 'evening': 'good evening'}
def calc_multi(a, b):
return a * b
print(calc_multi(3,5))
Ergebnis
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=' ')
Ergebnis
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
Wie unten gezeigt, wird eine Funktion ohne Funktionsnamen als anonyme Funktion Lambda bezeichnet.
print((lambda a, b:a*b)(3, 5))
Ergebnis
15
def calc_double(x):
return x * 2
for num in [1, 2, 3, 4]:
print(calc_double(num))
Ergebnis
2
4
6
8
Berechnen Sie [1, 2, 3, 4] sofort mit der Kartenfunktion und geben Sie sie mit Liste aus
print(list(map(calc_double, [1, 2, 3, 4])))
Ergebnis
[2, 4, 6, 8]
Sie können eine normale Funktion durch Lambda ersetzen und in einer Zeile ausgeben
print(list(map(lambda x : x*2, [1, 2, 3, 4])))
Ergebnis
[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)))
Ergebnis
1275
a = [-1, 3, -5, 7, -9]
print(list(filter(lambda x: abs(x) > 5, a)))
Ergebnis
[7, -9]
Die Reduktionsfunktion ist das Ergebnis der sequentiellen Addition von Elementen
from functools import reduce
print(reduce(lambda x, y: x + y, a))
Ergebnis
-5
【Referenz】 Grundlegende Python-Funktionen (map () filter () redu ())
・ Funktionsgrundlagen
・ Verwendung von * args
und ** kwargs
・ Ich habe versucht, die Verwendung der anonymen Funktion Lambda, Map-Funktion, Filterfunktion und Reduktionsfunktion zu arrangieren.
Es ist leicht zu verstehen, wenn Sie zu den Grundlagen zurückkehren und sie nebeneinander anordnen.
Recommended Posts