0% ont trouvé ce document utile (0 vote)
4 vues12 pages

Programming Essential in Python Part1 Module4

Ce document présente les bases du langage Python, en se concentrant sur les fonctions, les tuples, les dictionnaires, les exceptions et le traitement des données. Il explique comment définir et utiliser des fonctions, les différents types de fonctions, la portée des variables, la récursivité, ainsi que la création et l'utilisation de tuples et de dictionnaires. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

davidbkm73
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues12 pages

Programming Essential in Python Part1 Module4

Ce document présente les bases du langage Python, en se concentrant sur les fonctions, les tuples, les dictionnaires, les exceptions et le traitement des données. Il explique comment définir et utiliser des fonctions, les différents types de fonctions, la portée des variables, la récursivité, ainsi que la création et l'utilisation de tuples et de dictionnaires. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

davidbkm73
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Partie 1 : Les bases du langage

Résumés Module 4 : Fonctions, tuples, dictionnaires, exceptions et


traitement des données

 La structuration du code et le concept de fonction ;


 Invocation de fonction et retour d'un résultat à partir d'une fonction ;
 Portées de nom et ombrage variable ;
 Les tuples et leur objectif, la construction et l'utilisation de tuples ;
 Les dictionnaires et leur objectif, la construction et l'utilisation de dictionnaires ;
 Exceptions - l'instruction try et la clause except, les exceptions Python intégrées, les tests de
code et le débogage.

4.1/ Les fonctions


1. Une fonction est un bloc de code qui exécute une tâche spécifique lorsque la fonction est
appelée (invoquée). Vous pouvez utiliser des fonctions pour rendre votre code réutilisable, mieux
organisé et plus lisible. Les fonctions peuvent avoir des paramètres et des valeurs de retour.

2. Il existe au moins quatre types de fonctions de base en Python :

 fonctions intégrées qui font partie intégrante de Python (telles que la fonction print()). Vous
pouvez voir une liste complète des fonctions intégrées de Python sur
[Link]
 ceux qui proviennent des modules préinstallés (vous les découvrirez dans le cours Python
Essentials Partie 2)
 des fonctions définies par l'utilisateur qui sont écrites par des utilisateurs pour des
utilisateurs - vous pouvez écrire vos propres fonctions et les utiliser librement dans votre
code,
 les fonctions lambda (vous les découvrirez dans le cours Python Essentials Partie 2.)

3. Vous pouvez définir votre propre fonction à l'aide du mot clé def et de la syntaxe suivante :

 def your_function(optional parameters):


 # the body of the function

Vous pouvez définir une fonction qui ne prend aucun argument, par exemple :

 def message(): # defining a function


 print("Hello") # body of the function
 message() # calling the function

Vous pouvez définir une fonction qui prend également des arguments, tout comme la fonction à un
paramètre ci-dessous :

1/12
 def hello(name): # defining a function
 print("Hello,", name) # body of the function
 name = input("Enter your name: ")
 hello(name) # calling the function

4.2/ Comment les fonctions communiquent avec leur environnement ?


1. Vous pouvez transmettre des informations aux fonctions à l'aide de paramètres. Vos fonctions
peuvent avoir autant de paramètres que vous le souhaitez.

Exemple de fonction à un paramètre :

 def hi(name):
 print("Hi,", name)
 hi("Greg")

Exemple de fonction à deux paramètres :

 def hi_all(name_1, name_2):


 print("Hi,", name_2)
 print("Hi,", name_1)
 hi_all("Sebastian", "Konrad")

Exemple de fonction à trois paramètres :

 def address(street, city, postal_code):


 print("Your address is:", street, "St.,", city, postal_code)
 s = input("Street: ")
 p_c = input("Postal Code: ")
 c = input("City: ")
 address(s, c, p_c)

2. Vous pouvez passer des arguments à une fonction en utilisant les techniques suivantes :

 passage d'argument positionnel dans lequel l'ordre des arguments passés importe
(Ex. 1),
 mot-clé (nommé) passage d'argument dans lequel l'ordre des arguments passés n'a
pas d'importance (Ex. 2),
 un mélange de passage d'arguments positionnels et de mots-clés (Ex. 3).

2/12
Ex. 1

 def subtra(a, b):
 print(a - b)
 subtra(5, 2) # outputs: 3
 subtra(2, 5) # outputs: -3

Ex. 2

 def subtra(a, b):
 print(a - b)
 subtra(a=5, b=2) # outputs: 3
 subtra(b=2, a=5) # outputs: 3

Ex. 3

 def subtra(a, b):
 print(a - b)
 subtra(5, b=2) # outputs: 3
 subtra(5, 2) # outputs: 3

Il est important de se rappeler que les arguments de position ne doivent pas suivre les arguments de
mot-clé. C'est pourquoi si vous essayez d'exécuter l'extrait suivant :

 def subtra(a, b):


 print(a - b)

 subtra(5, b=2) # outputs: 3
 subtra(a=5, 2) # Syntax Error

Python ne vous laissera pas le faire en signalant une SyntaxError.

3. Vous pouvez utiliser la technique de passage d'argument par mot-clé pour prédéfinir une valeur
pour un argument donné :

 def name(first_name, last_name="Smith"):


 print(first_name, last_name)

 name("Andy") # outputs: Andy Smith
 name("Betty", "Johnson") # outputs: Betty Johnson (the keyword argument replaced by
"Johnson")

3/12
4.3/ Retourner un résultat d'une fonction

1. Vous pouvez utiliser le mot-clé return pour indiquer à une fonction de renvoyer une valeur.
L'instruction return quitte la fonction, par exemple :

 def multiply(a, b):


 return a * b

 print(multiply(3, 4)) # outputs: 12

 def multiply(a, b):
 return

 print(multiply(3, 4)) # outputs: None

2. Le résultat d'une fonction peut être facilement affecté à une variable, par exemple :

 def wishes():
 return "Happy Birthday!"

 w = wishes()
 print(w) # outputs: Happy Birthday!

Regardez la différence de sortie dans les deux exemples suivants :

# Example 1

 def wishes():
 print("My Wishes")
 return "Happy Birthday"

 wishes() # outputs: My Wishes

# Example 2

 def wishes():
 print("My Wishes")
 return "Happy Birthday"

 print(wishes())

 # outputs: My Wishes
 # Happy Birthday

4/12
3. Vous pouvez utiliser une liste comme argument d'une fonction, par exemple :

 def hi_everybody(my_list):
 for name in my_list:
 print("Hi,", name)

 hi_everybody(["Adam", "John", "Lucy"])

4. Une liste peut également être un résultat de fonction, par exemple :

 def create_list(n):
 my_list = []
 for i in range(n):
 my_list.append(i)
 return my_list

 print(create_list(5))

4.4/ Portées en Python


1. Une variable qui existe en dehors d'une fonction a une portée à l'intérieur du corps de la
fonction (exemple 1) à moins que la fonction ne définisse une variable du même nom (exemple 2 et
exemple 3), par exemple :

Exemple 1:

 var = 2

 def mult_by_var(x):
 return x * var

 print(mult_by_var(7)) # outputs: 14

Exemple 2:

 def mult(x):
 var = 5
 return x * var
 print(mult(7)) # outputs: 35

5/12
Exemple 3:

 def mult(x):
 var = 7
 return x * var

 var = 3
 print(mult(7)) # outputs: 49

2. Une variable qui existe à l'intérieur d'une fonction a une portée à l'intérieur du corps de la
fonction (exemple 4), par exemple :

 def adding(x):
 var = 7
 return x + var

 print(adding(4)) # outputs: 11
 print(var) # NameError

3. Vous pouvez utiliser le mot clé global suivi d'un nom de variable pour rendre la portée de la
variable globale, par exemple :

 var = 2
 print(var) # outputs: 2

 def return_var():
 global var
 var = 5
 return var

 print(return_var()) # outputs: 5
 print(var) # outputs: 5

4.5/ Récursivité
1. Une fonction peut appeler d'autres fonctions ou même elle-même. Lorsqu'une fonction
s'appelle elle-même, cette situation est connue sous le nom de récursivité, et la fonction qui
s'appelle et contient une condition de terminaison spécifiée (c'est-à-dire le cas de base - une
condition qui ne dit pas à la fonction de faire d'autres appels à cette fonction) est appelée fonction
récursive.

2. Vous pouvez utiliser des fonctions récursives en Python pour écrire du code propre et élégant et
le diviser en morceaux plus petits et organisés. D'un autre côté, vous devez être très prudent car il
peut être facile de faire une erreur et de créer une fonction qui ne se termine jamais. Vous devez

6/12
également vous rappeler que les appels récursifs consomment beaucoup de mémoire et peuvent
donc parfois être inefficaces.

Lorsque vous utilisez la récursivité, vous devez prendre en compte tous ses avantages et
inconvénients.

La fonction factorielle est un exemple classique de la façon dont le concept de récursivité peut être
mis en pratique :

 def factorial(n):
 if n == 1: # The base case (termination condition.)
 return 1
 else:
 return n * factorial(n - 1)


 print(factorial(4)) # 4 * 3 * 2 * 1 = 24

4.6/ Tuples
1. Les tuples sont des collections de données ordonnées et non modifiables (immutable). Ils
peuvent être considérés comme des listes immutables. Ils sont écrits entre parenthèses :

 my_tuple = (1, 2, True, "a string", (3, 4), [5, 6], None)
 print(my_tuple)

 my_list = [1, 2, True, "a string", (3, 4), [5, 6], None]
 print(my_list)

Chaque élément de tuple peut être d'un type différent (c'est-à-dire des entiers, des chaînes, des
booléens, etc.). De plus, les tuples peuvent contenir d'autres tuples ou listes (et inversement).

2. Vous pouvez créer un tuple vide comme ceci :

 empty_tuple = ()
 print(type(empty_tuple)) # outputs: <class 'tuple'>

3. Un tuple à un élément peut être créé comme suit :

 one_elem_tuple_1 = ("one", ) # Brackets and a comma.


 one_elem_tuple_2 = "one", # No brackets, just a comma.

Si vous supprimez la virgule, vous direz à Python de créer une variable, pas un tuple :

 my_tuple_1 = 1,
 print(type(my_tuple_1)) # outputs: <class 'tuple'>

7/12

 my_tuple_2 = 1 # This is not a tuple.
 print(type(my_tuple_2)) # outputs: <class 'int'>

4. Vous pouvez accéder aux éléments de tuple en les indexant :

 my_tuple = (1, 2.0, "string", [3, 4], (5, ), True)


 print(my_tuple[3]) # outputs: [3, 4]

5. Les tuples sont immutables, ce qui signifie que vous ne pouvez pas modifier leurs éléments (vous
ne pouvez pas ajouter de tuples, ni modifier, ni supprimer des éléments de tuples). L'extrait de code
suivant provoquera une exception :

 my_tuple = (1, 2.0, "string", [3, 4], (5, ), True)


 my_tuple[2] = "guitar" # The TypeError exception will be raised.

Cependant, vous pouvez supprimer un tuple dans son ensemble :

 my_tuple = 1, 2, 3,
 del my_tuple
 print(my_tuple) # NameError: name 'my_tuple' is not defined

6. Vous pouvez parcourir les éléments d'un tuple (exemple 1), vérifier si un élément spécifique est
(pas) présent dans un tuple (exemple 2), utiliser la fonction len() pour vérifier combien d'éléments il y
a dans un tuple (exemple 3) , ou même joindre/multiplier des tuples (exemple 4) :

# Example 1
 tuple_1 = (1, 2, 3)
 for elem in tuple_1:
 print(elem)

# Example 2
 tuple_2 = (1, 2, 3, 4)
 print(5 in tuple_2)
 print(5 not in tuple_2)

# Example 3
 tuple_3 = (1, 2, 3, 5)
 print(len(tuple_3))

# Example 4
 tuple_4 = tuple_1 + tuple_2
 tuple_5 = tuple_3 * 2

8/12
 print(tuple_4)
 print(tuple_5)

Remarque :

Vous pouvez également créer un tuple à l'aide d'une fonction intégrée Python appelée tuple(). Ceci
est particulièrement utile lorsque vous souhaitez convertir un certain itérable (par exemple, une liste,
une plage, une chaîne, etc.) en un tuple :

 my_tuple = tuple((1, 2, "string"))


 print(my_tuple)

 my_list = [2, 4, 6]
 print(my_list) # outputs: [2, 4, 6]
 print(type(my_list)) # outputs: <class 'list'>
 tup = tuple(my_list)
 print(tup) # outputs: (2, 4, 6)
 print(type(tup)) # outputs: <class 'tuple'>

De la même manière, lorsque vous souhaitez convertir un itérable en liste, vous pouvez utiliser une
fonction intégrée Python appelée list() :

 tup = 1, 2, 3,
 my_list = list(tup)
 print(type(my_list)) # outputs: <class 'list'>

4.7/ Dictionnaires
1. Les dictionnaires sont des collections de données non ordonnées*, modifiables (mutables) et
indexées. (*Dans Python 3.6x, les dictionnaires sont classés par défaut).

Chaque dictionnaire est un ensemble de paires clé : valeur. Vous pouvez le créer en utilisant la
syntaxe suivante :

 my_dictionary = {
 key1: value1,
 key2: value2,
 key3: value3,
 }

9/12
2. Si vous souhaitez accéder à un élément du dictionnaire, vous pouvez le faire en faisant référence
à sa clé à l'intérieur d'une paire de crochets (ex. 1) ou en utilisant la méthode get() (ex. 2) :

 pol_eng_dictionary = {
 "kwiat": "flower",
 "woda": "water",
 "gleba": "soil"
 }

 item_1 = pol_eng_dictionary["gleba"] # ex. 1
 print(item_1) # outputs: soil

 item_2 = pol_eng_dictionary.get("woda")
 print(item_2) # outputs: water

3. Si vous souhaitez modifier la valeur associée à une clé spécifique, vous pouvez le faire en vous
référant au nom de clé de l'élément de la manière suivante :

 pol_eng_dictionary = {
 "zamek": "castle",
 "woda": "water",
 "gleba": "soil"
 }

 pol_eng_dictionary["zamek"] = "lock"
 item = pol_eng_dictionary["zamek"]
 print(item) # outputs: lock

4. Pour ajouter ou supprimer une clé (et la valeur associée), utilisez la syntaxe suivante :

 phonebook = {} # an empty dictionary



 phonebook["Adam"] = 3456783958 # create/add a key-value pair
 print(phonebook) # outputs: {'Adam': 3456783958}

 del phonebook["Adam"]
 print(phonebook) # outputs: {}

Vous pouvez également insérer un élément dans un dictionnaire en utilisant la méthode update(), et
supprimer le dernier élément en utilisant la méthode popitem(), par exemple :

10/12
 pol_eng_dictionary = {"kwiat": "flower"}

 pol_eng_dictionary.update({"gleba": "soil"})
 print(pol_eng_dictionary) # outputs: {'kwiat': 'flower', 'gleba': 'soil'}

 pol_eng_dictionary.popitem()
 print(pol_eng_dictionary) # outputs: {'kwiat': 'flower'}

5. Vous pouvez utiliser la boucle for pour parcourir un dictionnaire, par exemple :

 pol_eng_dictionary = {
 "zamek": "castle",
 "woda": "water",
 "gleba": "soil"
 }

 for item in pol_eng_dictionary:
 print(item)

 # outputs: zamek
 # woda
 # gleba

6. Si vous souhaitez parcourir les clés et les valeurs d'un dictionnaire, vous pouvez utiliser la
méthode items(), par exemple :

 pol_eng_dictionary = {
 "zamek": "castle",
 "woda": "water",
 "gleba": "soil"
 }

 for key, value in pol_eng_dictionary.items():
 print("Pol/Eng ->", key, ":", value)

7. Pour vérifier si une clé donnée existe dans un dictionnaire, vous pouvez utiliser le mot clé in :

 pol_eng_dictionary = {
 "zamek": "castle",
 "woda": "water",
 "gleba": "soil"
 }

 if "zamek" in pol_eng_dictionary:
 print("Yes")

11/12
 else:
 print("No")

8. Vous pouvez utiliser le mot-clé del pour supprimer un élément spécifique ou supprimer un
dictionnaire. Pour supprimer tous les éléments du dictionnaire, vous devez utiliser la méthode
clear() :

 pol_eng_dictionary = {
 "zamek": "castle",
 "woda": "water",
 "gleba": "soil"
 }

 print(len(pol_eng_dictionary)) # outputs: 3
 del pol_eng_dictionary["zamek"] # remove an item
 print(len(pol_eng_dictionary)) # outputs: 2

 pol_eng_dictionary.clear() # removes all the items
 print(len(pol_eng_dictionary)) # outputs: 0

 del pol_eng_dictionary # removes the dictionary

9. Pour copier un dictionnaire, utilisez la méthode copy() :

 pol_eng_dictionary = {
 "zamek": "castle",
 "woda": "water",
 "gleba": "soil"
 }
 copy_dictionary = pol_eng_dictionary.copy()

12/12

Vous aimerez peut-être aussi