~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~

introduction

Cet article est l'article du 25ème jour du Calendrier de l'Avent Python 2016. Beaucoup de peur est le dernier jour !!

Introduction ②

J'écris habituellement côté serveur en tant qu'ingénieur tout en représentant une société appelée Liaro. Ceci est une continuation de Tips② que j'ai écrit il y a longtemps, mais comprenez bien que ce n'est pas autant qu'avant car il est poursuivi de différentes manières. Je pense qu'il y a beaucoup de parties écrites avec des connaissances vagues, alors merci pour votre coopération!

Forces de mapper, filtrer, réduire, lambda

Bien que ce soit un autre langage, Python a également map / filter / reduction, qui est fourni dans le lambda de la fonction anonyme (expression lambda).

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 #importer réduire
>>> d = reduce(lambda x,y:x+y, a)
>>> d
45
>>> 

Décorateur

Python a une fonction appelée decorator, et vous pouvez étendre la méthode comme @ hoge au-dessus du nom de la méthode (here est détaillé. ). L'exemple de la destination du lien est bon, et à part ça, ce sera similaire sans trop réfléchir, Supposons que vous écriviez ce qui suit lors de l'extension d'une fonction appelée foo.

python:Python3.5.2


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

En Python, il peut être réécrit comme suit en utilisant le symbole «@».

python:Python3.5.2


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

Par exemple, une méthode dans une classe est essentiellement une méthode d'instance, mais écrire «@ classmethod» en fait une méthode de classe, et écrire «@ staticmethod» en fait une méthode statique.

À propos de la valeur par défaut de la fonction

J'ai écrit la gestion des arguments dans les fonctions de base dans les conseils précédents, mais je n'ai pas écrit quelques notes, donc j'aimerais l'écrire ici.

python:Python3.5.2


>>> def foo(x, y):
...     return x ** y
... 
>>> foo(y=5, x=2) #Les arguments ont priorité sur la correspondance de nom sur l'ordre
32
>>> 
>>> def hoge(a=[]):
...     a.append(1)
...     return a
...
>>> b = hoge()
>>> print(b)
[1]
>>> b = hoge()
>>> print(b) #La valeur par défaut n'est pas générée à chaque appel
[1, 1]

Une écriture appelée pycodestyle

C'est la convention de codage Python. Python a recommandé des conventions de codage pour le langage et je pense que de nombreux utilisateurs de Python les suivent. Anciennement appelé PEP8, il a changé. Cependant, il n'y a fondamentalement aucun problème car les gens sont soudainement devenus épicés en anglais et sont sortis avec PEP8 (PEP8) Pour en énumérer ・ Le retrait est de 4 espaces ・ La longueur d'une ligne est essentiellement de 79 caractères -Écrire les variables et les fonctions en minuscules (snake) et les noms de classe en camel ・ L'importation sépare les lignes Etc. Je pense que vous devriez le lire une fois!

finalement

Le contenu est très fin, mais je veux réécrire une suite ... Alors Joyeux Noël !! & Bonne année ~~! !! !! !! !! !! !!

Cliquez ici pour obtenir des conseils ① Cliquez ici pour obtenir des conseils②

Recommended Posts

~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 4 Utiliser l'interface graphique
Manuel python pour les débutants
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image par eux-mêmes
OpenCV pour les débutants en Python
Mémo n ° 4 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Le moyen le plus rapide pour les débutants de maîtriser Python
Python pour les super débutants Super débutants Python # Facile à éliminer
Mémo n ° 1 que les débutants Python lisent "Explication détaillée de la grammaire Python"
~ Conseils pour les débutants de Python donnés avec amour par Pythonista ① ~
Mémo n ° 7 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Introduction à la programmation (Python) TA Tendency pour les débutants
Mémo n ° 6 pour les débutants Python à lire "Explication détaillée de la grammaire Python"
Comment rendre le Python des débutants plus rapide [numpy]
~ Conseils pour les débutants de Python donnés avec amour par Pythonista ② ~
Mémo n ° 5 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Flux d'apprentissage pour les débutants en Python
Python #function 2 pour les super débutants
Grammaire de base Python pour les débutants
Pandas 100 coups pour les débutants en Python
Python #function 1 pour les super débutants
[Python + Selenium] Conseils pour le grattage
Introduction à Python pour, pendant
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 9 Utilisation à partir du langage C
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 6 Améliorer le code Python
astuces python
Comment convertir le type Python # pour les super débutants de Python: str
[Pour les débutants] Comment étudier le test d'analyse de données Python3
Python # Comment vérifier le type et le type pour les super débutants
Astuces Python
Astuces Python
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 5 Incorporer dans les applications réseau
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 2 Traiter plusieurs fichiers
Exercices Python pour les débutants # 2 [pour instruction / instruction while]
Python pour les super débutants Super débutants Python # dictionnaire type 1
Python #index pour les super débutants, tranches
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Conseils pour appeler Python à partir de C
Fonction Python #len pour les super débutants
Web scraping pour les débutants en Python (1)
Web scraping pour les débutants en Python (4) -1
Python #Hello World pour les super débutants
Python pour les super débutants Super débutants Python # dictionnaire type 2
Premiers pas avec Python pour les non-ingénieurs
les débutants en python ont essayé de le découvrir
Méthode d'apprentissage TensorFlow pour les professionnels des arts libéraux et les débutants en Python
Conseils pour coder courts et faciles à lire en Python
Comment convertir le type Python # pour les super débutants de Python: int, float
[Pour les débutants] Script dans 10 lignes (4. Connexion de python à sqlite3)
[Python] Introduction à la création de graphiques à l'aide de données de virus corona [Pour les débutants]
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 7 Comment créer un module
30/10/2016 else pour Python3> pour:
Conseils Python Conda
python [pour moi]
Mis à jour vers Python 2.7.9
INSÉRER dans MySQL avec Python [Pour les débutants]
Conseils pour faciliter la lecture des documents d'audition Python
[Python] Compte-rendu de la réunion d'étude pour les débutants (7/15)
Réponse à la sélection des débutants d'AtCoder par Python3
Mémo pour demander des KPI avec python