Any et all
tester si au moins un des élément et vrai : any()
ages = [5, 15, 12, 16, 20, 17]
at_least_one_is_an_adult = any(a >= 18 for a in ages)Tester si tous le monde est adulte : all()
all_adults = all(a >= 18 for a in ages)
Fonctions d'aide
Aide interactif
- sur une fonction
help(sorted) ou help(numpy.mean) - sur le type ou la classe à laquelle l'objet appartient
s = set({3, 4}) help(s) - sur le module
help(argparse)
Voir les fonctions disponibles pour une variable ou un objet donné
- faire dir(myVar) pour avoir les fonctions, méthodes ou champs disponibles pour la variables myVar.
Voir les docstrings
#d'un module
print(random.__doc__)
#d'une fonction
print(random.randint.__doc__)
Functions anonymes
function classique
def multiplication(a,b):
return a * b
function anonyme équivalente
multiplication = lambda a, b: a * b
resultat = multiplication(5,10)
Functions utiles
id()
Retourne l'adresse en mémoire de la variable. Ce qui permet de vérifier si deux variables sont une seule et même variable
liste1 = liste2
print(id(liste1))
print(id(liste2))
liste1 = liste2[:]
print(id(liste1))
print(id(liste2))type()
retourne le type d'une variable
unpacking
Python intègre une fonctionnalité, l’unpacking, qui permet de prendre chaque élément d’un itérable et de les attribuer à des variables distinctes, d’un seul coup.
*args
Permets de définir des arguments dans une fonction sans en préciser le nombre
def gests(*args):
for gest in args:
print(gest)
gests('Paul', 'Pierre')
gests('Paul', 'Pierre', 'Jean')Permets de passer des arguments dans une fonction sans en préciser le nombre
path_items = ['C:', 'Utilisateurs', 'ThibH', 'Images']
path = os.path.join(*path_items)
print(path)
**kwargs
Permets de définir ou passer des arguments només sous forme de liste
def gest_list(vip, *args, **kwargs):
print(f"{vip} est un VIP")
for gest in args:
print(f"{gest} est un invité")
excluded = kwargs.get('excluded')
if excluded:
print(f"Ces invités sons indesirables : {', '.join(excluded)}")
gest_list('Paul', 'Pierre', 'Jean', 'Marie', excluded=['Simon', 'Julie'])
zip
zip est une fonction interne qui prend deux ou plusieurs séquences et retourne une liste de tuples où chaque tuple contient un élément de chaque séquence. Le nom de la fonction fait allusion à une fermeture-éclair (zip ou zipper en anglais), qui joint et entrelace deux rangées de dents.
Exemple pour associer la lettre d'un mot à sa place dans l'alphabet
combinaison = list(zip(prenom,[string.ascii_lowercase.index(i)+1 for i in prenom.lower() if i in string.ascii_lowercase ]))
output = [f'{i[0]} -> {i[1]}' for i in combinaison]
print('\n'.join(output))
# A -> 1
# s -> 19
# t -> 20
# r -> 18
# i -> 9
# d -> 4