Functions

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