[Introduction aux Data Scientists] Bases de Python ♬ Fonctions et fonctions anonymes, etc.

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.

Chapitre1-2 Principes de base de Python

Fonction 1-2-5

1-2-5-1 Principes de base des fonctions

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

Fonction simple

③ Le format de base est le suivant

Fonction qui ne fait rien
def do_nothing():
    pass
do_nothing()

résultat ne fais rien

Sortie bonjour le monde
def hello_world():
    print('hello world')
hello_world()

résultat

hello world
La sortie change en fonction de l'argument
def hello_world(arg='hello_world'):
    print(arg)
    
hello_world('hello_world')
hello_world('good morning')

résultat

hello_world
good morning
* args Argument de sortie en tant que tuple
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')
** Afficher l'argument kwargs dans le dictionnaire
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'}
Fonction avec une valeur de retour
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
1-2-5-2 Fonctions anonymes Fonctions lambda et map

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
fonction de carte
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]
fonction de carte et lambda

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]
Exercice 1-2
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
fonction de filtre et fonction de réduction
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 ())

Résumé

・ 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

[Introduction aux Data Scientists] Bases de Python ♬ Fonctions et fonctions anonymes, etc.
[Introduction to Data Scientists] Bases de Python ♬ Fonctions et classes
[Introduction au Data Scientist] Bases de Python ♬
[Introduction to Data Scientists] Bases de Python ♬ Branchements conditionnels et boucles
[Introduction aux data scientists] Bases de la probabilité et des statistiques ♬ Variable de probabilité / probabilité et distribution de probabilité
# 4 [python] Bases des fonctions
[Introduction à Data Scientist] Bases du calcul scientifique, du traitement des données et comment utiliser la bibliothèque de dessins graphiques graph Bases de Scipy
[Introduction à Data Scientist] Bases du calcul scientifique, du traitement des données et comment utiliser la bibliothèque de dessins graphiques graph Bases de Pandas
[Introduction à Data Scientist] Bases du calcul scientifique, du traitement des données et comment utiliser la bibliothèque de dessin de graphes ♬ Bases de Matplotlib
Liste des bibliothèques Python pour les data scientists et les data ingénieurs
[Introduction to Data Scientist] Bases du calcul scientifique, du traitement des données et comment utiliser la bibliothèque de dessins graphiques ♬ Construction d'environnement
[Introduction à cx_Oracle] (Partie 6) Mappage des types de données DB et Python
[Introduction aux Data Scientists] Statistiques descriptives et analyse de régression simple ♬
[Python] Résumé de l'utilisation des fonctions de fractionnement et de jointure
[Introduction à Python] Combinaison des données Nikkei Average et NY Dow CSV
[Introduction à Python3 Jour 1] Programmation et Python
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie1-
Introduction aux bases de Python de l'apprentissage automatique (apprentissage non supervisé / analyse principale)
[Introduction à Python] J'ai comparé les conventions de nommage de C # et Python.
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie2-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie4-
Introduction à TensorFlow - Résumé de quatre règles et fonctions mathématiques de base
[Introduction à cx_Oracle] (Partie 2) Principes de base de la connexion et de la déconnexion à Oracle Database
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie3-
Bases statistiques et Python, graphisme, etc. (mémo)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à l'application Udemy Python3 +] 55. Fonctions intégrées
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)
Compressez les données python et écrivez sur sqlite
Les bases de Python ①
Bases de python ①
# Bases de Python (fonctions)
bases de python: fonctions
Introduction de Python
[Introduction à Udemy Python3 + Application] 26. Copie du dictionnaire
[Introduction à Python3 Jour 12] Chapitre 6 Objets et classes (6.3-6.15)
[Introduction à Udemy Python3 + Application] 19. Copie de la liste
[Cx_Oracle Primer] (Partie 3) Bases de la navigation dans les tableaux
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
[Introduction à Python] Comment gérer les données au format JSON
[Introduction à l'application Udemy Python3 +] 64. Espace de noms et portée
[Introduction à Python3 Jour 11] Chapitre 6 Objets et classes (6.1-6.2)
[Python] Chapitre 02-01 Bases des programmes Python (opérations et variables)
[Introduction à cx_Oracle] (5e) Gestion des données japonaises
fonctions cv2 et types de données (liaison python OpenCV)
[Introduction à Python] Utilisation de base des expressions lambda
[Python] De l'analyse morphologique des données CSV à la sortie CSV et à l'affichage graphique [GiNZA]
[Introduction à cx_Oracle] (Partie 9) Mappage des types de données DB et Python (version 8 ou ultérieure)
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
[Introduction à l'application Udemy Python3 +] 35. Opérateurs de comparaison et opérateurs logiques
Quoi utiliser pour les piles et les files d'attente Python (comparaison de vitesse de chaque structure de données)
Résumé des outils nécessaires pour analyser les données en Python
Traitement pleine largeur et demi-largeur des données CSV en Python
Principes de base du grattage Python
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
Note de lecture: Introduction à l'analyse de données avec Python
Introduction au langage Python
Comment utiliser Python Kivy ① ~ Bases du langage Kv ~
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage