0% ont trouvé ce document utile (0 vote)
33 vues17 pages

TP1.1 Python

Transféré par

sanokho
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)
33 vues17 pages

TP1.1 Python

Transféré par

sanokho
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
Vous êtes sur la page 1/ 17

1. C'est quoi Python?

Python est un langage de programmation objet développé par Guido van Rossum. La première version du langage a été publiée en 1991. Python a deux versions
2 et 3. La version 2 est actuellement obsolète et n’est plus maintenue depuis le 1er janvier 2020. Python Software Foundation est l’association qui est chargée de
promouvoir et protéger le langage. Python présente de nombreux traits marquants :

Langage open source


Langage interprété rapide
Simplicité du langage
Syntaxe claire et cohérente
Indentation significative
Gestion automatique de la mémoire (garbage collector)
Typage dynamique fort : pas de déclaration
Très utilisé pour les tâches liées à la science des données

2. Hello World
Nous allons commencer par le célébre Hello World.

In [1]: print("Hello World")

Hello World

3. Les variables et les types


3.1 Les variables
En Python, la déclaration d'une variable et son initialisation se font en même temps :
In [2]: x = 1

On affecte à la variable x la valeur 1. Une variable est caractérisée par :

un identificateur : il peut contenir des lettres, des chiffres, des blancs soulignés mais il ne peut commencer par un chiffre. Python est sensible à la casse.
un type : c'est la nature des données.

Le type d’une variable peut donc changer si on change sa valeur.

3.2 Les types


La fonction type() permet de connaître le type de la valeur d'une variable.

3.2.1 Le type int (entier)


Il est utilisé pour stocker les nombres entiers positifs ou négatifs comme 3, 5, ...

In [3]: x = 17
type(x)

Out[3]: int

3.2.2 Le type float (flotant)


Il est utilisé pour stocker des nombres à virgule flottante comme 2.5, 6.733.

In [4]: pi = 3.14
type(pi)

Out[4]: float
Opérateur Signification Exemple

<< >> Décalage à gauche, à droite 8 << 1

| Opérateur logique ou bit à bit 8 | 1

& Opérateur logique et bit à bit 11 & 2

+ - Addition, soustraction 5 + 3

+= -= Addition ou soustraction puis affectation a += 3

* / Multiplication, division 3 * 4

// Division entière 5 // 2

% Reste d’une division entière (modulo) 5 % 2

*= /= Multiplication ou division puis affectation a *= 3

** Puissance 2 ** 3

3.2.3 Le type str (chaîne de caractères)


Le type str est une suite de carctères délimitée par des guillements simples, doubles ou triples.

In [5]: s = 'Bonjour'
type(s)

Out[5]: str

In [6]: s[0] # Accès au caractère d'indice 0.

Out[6]: 'B'

In [7]: s[0:3] # Recupération des caractères de position entre les indices 0 et 3 (3 exclu)

Out[7]: 'Bon'
In [8]: s[:4] # Recupération des quatre premiers caractères

Out[8]: 'Bonj'

In [9]: s[-1] # Dernier caractère de la chaîne s

Out[9]: 'r'

In [10]: s[::-1] # Inverser une chaîne

Out[10]: 'ruojnoB'

In [11]: print('La taille de s est : ', len(s))

La taille de s est : 7

In [12]: t = 'Le cours sur Python'


t.title()

Out[12]: 'Le Cours Sur Python'

In [13]: s = 'Python est un langage de programmation.'


s.replace('Python', 'Java')

Out[13]: 'Java est un langage de programmation.'

In [14]: s.split()

Out[14]: ['Python', 'est', 'un', 'langage', 'de', 'programmation.']

3.2.4 Le type bool (booléen)


Le type bool est utilisé pour les booléens (True ou False). En Python, pour avoir l'opposé d'une valeur booléenne on l'utilise
In [15]: b = True
type(b)

Out[15]: bool

In [16]: a = True
not(a)

Out[16]: False

3.2.5 Le type None (rien)


Le type None est utilisé pour dire que la variable ne contient rien.

In [17]: s = None
print(s)

None

3.2.6 Le type list (liste)


Une liste est une structure de données qui contient une suite de valeurs. Les valeurs peuvent avoir de types différents.

In [18]: jours = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']

In [19]: jours.append('Dimanche') # Ajouter un élément à la fin de la liste


jours

Out[19]: ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche']

In [20]: a = [1, 2, 10]


a.insert(2, 5) # Insérer 5 à la position 2
a

Out[20]: [1, 2, 5, 10]


In [21]: a = [1, 2, 'Python', 3, 4]
del a[2] # Supprimer l'élément d'indice 2
print(a)

[1, 2, 3, 4]

In [22]: a = [1, 2, 'Python', 3, 4]


a.remove(2) # Supprimer l'élément d'indice 2
print(a)

[1, 'Python', 3, 4]

In [23]: a = [1, 2, 45, 10, 5]


a.sort() # Trier une liste
print(a)

[1, 2, 5, 10, 45]

In [24]: a = [1, 2, 3]
a.reverse() # Inverser une liste
print(a)

[3, 2, 1]

In [25]: a = [1, 2, 3, 2, 2]
a.count(2) # Compter le nombre d'éléments dans une liste

Out[25]: 3

3.2.7 Le type tuple


Les tuples sont des collections ordonnées de plusieurs éléments. Les tuples ressemblent aux listes mais on ne peut pas les modifier une fois qu’ils ont été créés.

In [26]: t = (15, 2, 20)


type(t)

Out[26]: tuple
In [27]: a, b = 1, 10

In [28]: a = (2, 5)
u, v = a

3.2.8 Le type dict (dictionnaire)


Les dictionnaires sont des collections de données sous forme de clé/valeur.

In [29]: etudiants = {'P30112': 'Amadou Ba', 'P30400':'Fallou Ka'}


etudiants['P30112']

Out[29]: 'Amadou Ba'

In [30]: etudiants.items()

Out[30]: dict_items([('P30112', 'Amadou Ba'), ('P30400', 'Fallou Ka')])

In [31]: for cle, valeur in etudiants.items():


print(cle, ' : ', valeur)

P30112 : Amadou Ba
P30400 : Fallou Ka

3.2.9 Le type set (les ensembles)


Les ensembles représentent un autre type d’objet séquentiel. Ils ne sont pas modifiables et ne peuvent contenir qu’une copie maximum de chaque élément.

In [32]: s = {1, 2, 2, 3}
print(s)

{1, 2, 3}
3.2.10 Les compréhension de listes, de dictionnaires et de sets

In [33]: l = [1, 2, 2, 4, 5, 14, 21, 1]

b = []
for x in l:
if x > 5:
b.append(x)
print(b)

[14, 21]

In [34]: l = [1, 2, 2, 4, 5, 14, 21, 1]


b = [x for x in l if x > 5] # Avec les compréhensions de list
print(b)

[14, 21]

4. Boucles et conditions
4.1 Boucle for
In [35]: for x in range(10):
print(x**2)

0
1
4
9
16
25
36
49
64
81

4.2 Boucle while


In [36]: i = 0
impairs = []
while i < 20:
if i%2 == 1:
impairs.append(i)
i = i + 1
print(impairs)

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

4.3 Condition if/else


In [37]: age = 14

if age > 16:


print("Vous avez plus de 16 ans.")
elif age < 0:
print("Tu te moque de moi?")
else:
print("Tu es encore jeune.")

Tu es encore jeune.

5. Les fonctions en Python


In [38]: # code hors fonction
def nom_fonction():
pass
# code de la fonction
# code hors fonction

In [39]: def est_premier(n):


for d in range(2, n//2+1):
if n%d==0:
return False
return True

In [40]: x = 25
y = 23
print(x, "est un nombre premier? ", est_premier(x))
print(y, "est un nombre premier? ", est_premier(y))

25 est un nombre premier? False


23 est un nombre premier? True

Python permet la création de fonctions anonymes appelées fonctions lambda.


In [41]: g = lambda x, y: x + y

In [42]: g(15, 5)

Out[42]: 20

La liste des fonctions existantes est disponible en ligne à l'adresse https://docs.python.org/3/library/functions.html (https://docs.python.org/3/library/functions.html)

6. Les exceptions
Une exception est une erreur qui se produit lors de l'exécution du programme.

In [43]: def div(a, b):


return a/b

print(div(5,2))
#print(div(5,0))

2.5

In [44]: def div(a, b):


try:
return a/b
except ZeroDivisionError:
print("Attention, division par 0")

print(div(5,2))
print(div(5,0))
#print(div(5,'0'))

2.5
Attention, division par 0
None
In [45]: def div(a, b):
try:
return a/b
except ZeroDivisionError:
print("Attention, division par 0")
except TypeError:
print("Il faut des int!")

print(div(5,2))
print(div(5,0))
print(div(5,'0'))

2.5
Attention, division par 0
None
Il faut des int!
None

7. Les classes
Une classe est un ensemble de variables et de fonctions qui définissent un objet.

In [46]: class MaClass:


pass

In [47]: c = MaClass()
print(type(c))

<class '__main__.MaClass'>

La méthode isinstance permet de savoir si une objet est une instance d'une classe donnée.
In [48]: c = MaClass()
print(type(c))
print(isinstance(c, MaClass))

<class '__main__.MaClass'>
True

In [49]: class Etudiant:

def __init__(self, prenom, nom):


self.prenom = prenom
self.nom = nom

def setAge(self, age):


self.age = age

def getAge(self):
return self.age

In [50]: e1 = Etudiant("Moussa", "Gueye")


print(e1.prenom, ' ', e1.nom)
e1.setAge(19)
print(e1.age)
print(e1.getAge())

Moussa Gueye
19
19

8. Les modules
En Python, un module est un fichier contenant un ensemble de variables, de fonctions et de classes qui peuvent être utilisées par un autre programme.
In [51]: """
exemple de module
"""

variable_1 = 125
variable_2 = [12, 15, 0]

def somme(a, b):


return a + b

class Produit:
"""Class Produit"""

def __str__(self):
return "Class Produit"

9. Le module graphviz
In [52]: !pip install graphviz

Requirement already satisfied: graphviz in /opt/conda/lib/python3.7/site-packages (0.8.4)


In [53]: from graphviz import Digraph

g = Digraph('G', filename='hello.gv')

g.edge('Hello', 'World')

Out[53]:
Hello

World
In [54]: from graphviz import Digraph, nohtml

g = Digraph('g', filename='btree.gv',
node_attr={'shape': 'record', 'height': '.1'})

g.node('node0', nohtml('<f0> |<f1> G|<f2>'))


g.node('node1', nohtml('<f0> |<f1> E|<f2>'))
g.node('node2', nohtml('<f0> |<f1> B|<f2>'))
g.node('node3', nohtml('<f0> |<f1> F|<f2>'))
g.node('node4', nohtml('<f0> |<f1> R|<f2>'))
g.node('node5', nohtml('<f0> |<f1> H|<f2>'))
g.node('node6', nohtml('<f0> |<f1> Y|<f2>'))
g.node('node7', nohtml('<f0> |<f1> A|<f2>'))
g.node('node8', nohtml('<f0> |<f1> C|<f2>'))

g.edge('node0:f2', 'node4:f1')
g.edge('node0:f0', 'node1:f1')
g.edge('node1:f0', 'node2:f1')
g.edge('node1:f2', 'node3:f1')
g.edge('node2:f2', 'node8:f1')
g.edge('node2:f0', 'node7:f1')
g.edge('node4:f2', 'node6:f1')
g.edge('node4:f0', 'node5:f1')

g
Out[54]:
G

E R

B F H Y

A C

Documentation sur graphviz (https://graphviz.readthedocs.io/en/stable/manual.html)

Vous aimerez peut-être aussi