Cette fois, c'est un mémo d'apprentissage sur la syntaxe et les fonctions de contrôle.
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")
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']
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
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
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
point
global
)None
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
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]
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
** nom
, cet argument recevra un dictionnaire* name
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
point
* args
, tous les arguments formels après cela ne peuvent être utilisés que comme arguments de mot-clé, pas comme arguments de position.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
point
* args
>>> 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 !
point
lambda
def make_incrementor(n):
return lambda x: x + n #Renvoie une fonction anonyme
f = make_incrementor(42)
f(0) # 42
f(1) # 43
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.
point
__annotations__
de la fonction et n'a aucun effet sur le reste de la fonction->
avant les deux points à la fin de l'instruction def et entre la liste d'arguments formels.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'
point
Recommended Posts