~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~

Einführung

Dieser Artikel ist der Artikel zum 25. Tag von Python Advent Calendar 2016. Viel Angst ist der letzte Tag !!

Einleitung ②

Normalerweise schreibe ich als Ingenieur auf der Serverseite, während ich eine Firma namens Liaro vertrete. Dies ist eine Fortsetzung von Tips②, die ich vor langer Zeit geschrieben habe, aber bitte haben Sie Verständnis dafür, dass es nicht mehr so viel ist wie zuvor, weil es auf verschiedene Arten verfolgt wird. Ich denke, dass es viele Teile gibt, die mit vage Kenntnissen geschrieben wurden. Vielen Dank für Ihre Mitarbeit!

Kräfte der Karte, filtern, reduzieren, Lambda

Obwohl es sich um eine andere Sprache handelt, verfügt Python auch über Map / Filter / Reduce, das im Lambda der anonymen Funktion (Lambda-Ausdruck) bereitgestellt wird.

python:Python3.5.2


>>> f = lambda x:x**2
>>> f(3)
9
>>> 
>>> a = [i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b = map(lambda x:x*x, a)
>>> b = map(lambda x:x*x, a)
>>> for i in b:
...     print(i)
... 
0
1
4
9
16
25
36
49
64
81
>>> c = filter(lambda x:x%2==0, a)
>>> for i in c:
...     print(i)
... 
0
2
4
6
8
>>> from functools import reduce #Import reduzieren
>>> d = reduce(lambda x,y:x+y, a)
>>> d
45
>>> 

Dekorateur

Python hat eine Funktion namens Decorator, und Sie können die Methode wie "@ hoge" über dem Methodennamen erweitern (hier. ). Das Beispiel des Verbindungsziels ist gut, und ansonsten wird es ähnlich sein, ohne viel nachzudenken. Angenommen, Sie schreiben Folgendes, wenn Sie eine Funktion namens foo erweitern.

python:Python3.5.2


>>> def foo(x, y):
...     return x ** y
... 
>>>
>>> def hoge(func): 
...     def inner(x, y):
...         if x == y == 0:
...             return "Unbestimmt"
...         return func(x, y)
...     return inner
... 
>>>
>>> foo = hoge(foo)

In Python kann es mit dem Symbol @ wie folgt umgeschrieben werden.

python:Python3.5.2


>>> @hoge
... def foo(x, y):
...     return x ** y
... 
>>>

Beispielsweise ist eine Methode in einer Klasse im Grunde eine Instanzmethode, aber das Schreiben von "@ classmethod" macht sie zu einer Klassenmethode, und das Schreiben von "@ staticmethod" macht sie zu einer statischen Methode.

Über den Standardwert der Funktion

Ich habe in den vorherigen Tipps den Umgang mit Argumenten in Grundfunktionen geschrieben, aber ich habe einige Notizen nicht geschrieben, deshalb möchte ich sie hier schreiben.

python:Python3.5.2


>>> def foo(x, y):
...     return x ** y
... 
>>> foo(y=5, x=2) #Argumente haben Vorrang vor Namensübereinstimmung vor Reihenfolge
32
>>> 
>>> def hoge(a=[]):
...     a.append(1)
...     return a
...
>>> b = hoge()
>>> print(b)
[1]
>>> b = hoge()
>>> print(b) #Der Standardwert wird nicht bei jedem Anruf generiert
[1, 1]

Eine Schriftstelle namens Pycodestyle

Dies ist die Python-Codierungskonvention. Python hat Codierungskonventionen für die Sprache empfohlen, und ich denke, viele Python-Benutzer folgen diesen. Früher PEP8 genannt, hat es sich geändert. Grundsätzlich gibt es jedoch kein Problem, da die Leute plötzlich auf Englisch scharf wurden und PEP8 herausbrachten (PEP8). Um einige aufzuzählen ・ Einzug ist 4 Leerzeichen ・ Die Länge einer Zeile beträgt grundsätzlich 79 Zeichen

Schließlich

Der Inhalt ist sehr dünn, aber ich möchte noch einmal eine Fortsetzung schreiben ... Dann Frohe Weihnachten !! & Ein schönes Jahr ~~! !! !! !! !! !! !!

Klicken Sie hier für Tipps ① Klicken Sie hier für Tipps②

Recommended Posts

~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 4 Verwenden Sie die GUI
Python Lehrbuch für Anfänger
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden
OpenCV für Python-Anfänger
Memo Nr. 4, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Der schnellste Weg für Anfänger, um Python zu beherrschen
Python für Super-Anfänger Super-Anfänger Python # Einfach loszuwerden
Memo Nr. 1, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
~ Tipps für Python-Anfänger mit Liebe von Pythonista ① ~
Memo Nr. 7, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Einführung in die Programmierung (Python) TA Tendenz für Anfänger
Memo Nr. 6 für Python-Anfänger zum Lesen von "Detaillierte Erklärung der Python-Grammatik"
Wie man Python für Anfänger schneller macht [numpy]
~ Tipps für Python-Anfänger mit Liebe von Pythonista ② ~
Memo Nr. 5, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Lernablauf für Python-Anfänger
Python #Funktion 2 für Super-Anfänger
Grundlegende Python-Grammatik für Anfänger
100 Pandas klopfen für Python-Anfänger
Python #Funktion 1 für Super-Anfänger
[Python + Selen] Tipps zum Scraping
Einführung in Python For, While
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 9 Verwendung aus der C-Sprache
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 6 Verbessern Sie den Python-Code
Python-Tipps
So konvertieren Sie den Python # -Typ für Super-Anfänger von Python: str
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
Python # So überprüfen Sie Typ und Typ für Super-Anfänger
Python-Tipps
Python-Tipps
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 5 In Netzwerk-Apps integrieren
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 2 Verarbeiten Sie mehrere Dateien
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
Python #index für Super-Anfänger, Slices
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Tipps zum Aufrufen von Python von C.
Python #len Funktion für Super-Anfänger
Web Scraping für Anfänger in Python (1)
Web Scraping für Anfänger in Python (4) -1
Python #Hello World für Super-Anfänger
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
Erste Schritte mit Python für Nicht-Ingenieure
Python-Anfänger versuchten es herauszufinden
TensorFlow-Lernmethode für Profis der freien Künste und Python-Anfänger
Tipps zum Codieren kurz und einfach in Python zu lesen
So konvertieren Sie den Python # -Typ für Python-Superanfänger: int, float
[Für Anfänger] Skript innerhalb von 10 Zeilen (4. Verbindung von Python zu sqlite3)
[Python] Einführung in die Diagrammerstellung mit Corona-Virendaten [Für Anfänger]
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 7 Erstellen eines Moduls
2016-10-30 sonst für Python3> für:
Python Conda Tipps
Python [für mich]
Auf Python 2.7.9 aktualisiert
INSERT in MySQL mit Python [Für Anfänger]
Tipps, um das Lesen von Python-Hördokumenten zu vereinfachen
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Antwort auf AtCoder Beginners Selection von Python3
Memo, um nach KPI mit Python zu fragen