Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)

Cette fois, c'est un mémo d'apprentissage sur la syntaxe et les fonctions de contrôle.

si déclaration

point

#Vous pouvez attendre une entrée comme celle-ci
x = int(input("Veuillez saisir un entier: "))

if x < 0:
    x = 0
    print ("Le nombre négatif est zéro")
elif x == 0:
    print("zéro")
elif x == 1:
    print("Un")
else:
    print("Plus")

pour déclaration

point


#Mesurer la longueur d'une chaîne
words = ['cat', 'window', 'defenstrate']
for w in words:
    print(w, len(w))

#production
# cat 3
# window 6
# defenstrate 11

#Boucle à travers une copie de tranche de la liste entière
words = ['cat', 'window', 'defenstrate']
#Faire une copie superficielle de la liste
for w in words[:]:
    if len(w) > 6:
        words.insert(0, w)
print(words)

#production
# ['defenstrate', 'cat', 'window', 'defenstrate']

fonction range ()

point


#Répéter par plage
for i in range(5):
    print(i)

#production
# 0
# 1
# 2
# 3
# 4

#Itération à l'aide d'un index de séquence
a = ['Mary', 'had', 'a', 'little', 'lamb']
for i in range(len(a)):
    print(i, a[i])

#production
# 0 Mary
# 1 had
# 2 a
# 3 little
# 4 lamb

instructions break et continue, clause else dans la boucle

point


for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, 'equals', x, '*', n//x)
            break
    else:
        #Cela dépend de pour
        #Si vous ne trouvez pas la fraction dans la boucle
        print(n, 'is a prime number')

#production
# 2 is a prime number
# 3 is a prime number
# 4 equals 2 * 2
# 5 is a prime number
# 6 equals 2 * 3
# 7 is a prime number
# 8 equals 2 * 4
# 9 equals 3 * 3

déclaration de réussite

point

while True:
    pass #Ne rien faire Ctrl+Attendez de terminer avec C

#Générez la plus petite classe
class MyEmptyClass
    pass

#Définition des fonctions
def initLog(*args):
    pass #Effacer après la mise en œuvre


Définition des fonctions

point

def fib(n):
    """Afficher les séries Fibonacci jusqu'à n"""
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a+b
    print()

fib(2000)

#production
# 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

En savoir plus sur la définition des fonctions

Valeur par défaut de l'argument

point

#Exemple ①
i = 5

def f(arg=i):
    print(arg)

i = 6
f()

#production
# 5

#Exemple ②
def f(a, L=[]):
    L.append(a)
    return L

print(f(1))
print(f(2))
print(f(3))

#production
# [1]
# [1, 2]
# [1, 2, 3]

Argument de mot-clé

point

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print("-- This parrot wouldn't", action, end=' ');

#Vous pouvez appeler de l'une des manières suivantes
parrot(1000)                                         #1 argument positionnel
parrot(voltage=1000)                                 #1 argument de mot-clé
parrot(voltage=100000000, action='VOOOOOM')          #2 arguments de mots clés
parrot(action='VOOOOOOOM', voltage=1000000)          #2 arguments de mots clés
parrot('a million', 'bereft of life', 'jump')        #3 arguments de position
parrot('a tousand', state='pushing up the daisies')  #1 argument de position 1 argument de mot-clé

#L'appel suivant n'est pas valide
# parrot()                     #Arguments requis manquants
# parrot(voltage=5.0, 'dead')  #Argument non-mot-clé après l'argument mot-clé
# parrot(110, voltage=220)     #Étant donné le même argument deux fois
# parrot(actor='John Cleese')  #Argument de mot clé inconnu
def cheeseshop(kind, *arguments, **keywords):
    print("-- Do you have any", kind, "?")
    print("-- I'm sorry, we're all out of", kind)
    for arg in arguments:
        print(arg)
        print("-" * 40)
        keys = sorted(keywords.keys())
        for kw in keys:
            print(kw, ":", keywords[kw])
            
cheeseshop("Limburger", "It's very runny, sir.",
           "It's really very, VERY runny, sir.",
           shopkeeper="Michael Palin",
           client="John Cleese",
           sketch="Cheese Shop Sketch")

#production
# -- Do you have any Limburger ?
# -- I'm sorry, we're all out of Limburger
# It's very runny, sir.
# ----------------------------------------
# client : John Cleese
# shopkeeper : Michael Palin
# sketch : Cheese Shop Sketch
# It's really very, VERY runny, sir.
# ----------------------------------------
# client : John Cleese
# shopkeeper : Michael Palin
# sketch : Cheese Shop Sketch

Liste des arguments facultatifs

point

def concat(*args, sep="/"):
    return sep.join(args)

print(concat("earth", "mars", "venus"))

#production
# earth/mars/venus

print(concat("earth", "mars", "venus", sep="."))

#production
# earth.mars.venus

Déballage de la liste d'arguments

point

>>> list(range(3, 6))
[3, 4, 5]

>>> args = [3, 6]
>>> list(range(*args))
[3, 4, 5]
>>> def parrot(voltage, state='a stiff', action='voom'):
...     print("-- This parrot wouldn't", action, end=' ')
...     print("if you put", voltage, "volts through it.", end=' ')
...     print("E's", state, "!")
...
>>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}
>>> parrot(**d)
-- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !

expression lambda

point

def make_incrementor(n):
    return lambda x: x + n #Renvoie une fonction anonyme

f = make_incrementor(42)

f(0) # 42
f(1) # 43

Chaîne de document (docstring)

point

def my_function():
    """Do nothing, but document it.
    
    No, really, it doesn't do anything.
    """
    pass

print(my_function.__doc__)

#production
# Do nothing, but document it.
# 
#     No, really, it doesn't do anything.

Annotation de fonction (annotation de fonction)

point

def f(ham: str, eggs: str = 'eggs') -> str:
    print("Annotations:", f.__annotations__)
    print("Arguments:", ham, eggs)
    return ham + ' and ' + eggs

f('spam')

#production
# Annotations: {'ham': <class 'str'>, 'eggs': <class 'str'>, 'return': <class 'str'>}
# Arguments: spam eggs
# 'spam and eggs'

Style de codage

point

Recommended Posts

Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Classe Python (mémo d'apprentissage Python ⑦)
Module Python (mémo d'apprentissage Python ④)
[Python] Mémo sur les fonctions
Syntaxe de contrôle Python (mémoire)
Gestion des exceptions Python (mémo d'apprentissage Python ⑥)
Mémo Python
mémo python
Entrée / sortie avec Python (mémo d'apprentissage Python ⑤)
Mémo Python
Fonctions Python
mémo python
apprentissage de python
Mémo Python
Mémo d'apprentissage de la planification des sections ~ par python ~
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
Mémo Python
Mémo d'étude Python & Machine Learning: Préparation de l'environnement
Numéros, chaînes, types de listes Python (mémo d'apprentissage Python ①)
[Mémo d'apprentissage] Bases de la classe par python
[Ingénierie de contrôle] Représentation graphique des fonctions de transfert par Python
Structure et fonctionnement des données Python (mémo d'apprentissage Python ③)
[Python] Chapitre 05-02 Syntaxe de contrôle (combinaison de conditions)
Bibliothèque standard Python: seconde moitié (mémo d'apprentissage Python ⑨)
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Mémo d'étude Python & Machine Learning ⑥: Reconnaissance des nombres
Bibliothèque standard Python: première moitié (mémo d'apprentissage Python ⑧)
[Python] Mémo sur le dictionnaire
Note d'étude LPIC201
[Python] Note d'apprentissage 1
mémo débutant python (9.2-10)
Notes d'apprentissage Python
Mémo d'apprentissage Django
mémo débutant python (9.1)
sortie d'apprentissage python
Site d'apprentissage Python
★ Mémo ★ Python Iroha
Apprentissage Python jour 4
avec syntaxe (Python)
[Python] Mémo EDA
Apprentissage en profondeur Python
Mémo opérateur Python 3
apprentissage python (supplément)
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Apprentissage profond × Python
Installer le contrôle Python
[Memo] Apprentissage automatique
[Mon mémo] python
Mémo de métaclasse Python3
[Python] Mémo de fond de carte
Fonctions Python faciles à utiliser
Syntaxe de contrôle de la syntaxe Python
bases de python: fonctions
Mémo débutant Python (2)
notes d'apprentissage python
[Python] Mémo Numpy
Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Mémo d'étude Python & Machine Learning ②: Introduction de la bibliothèque