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

PA - intro python - bases algorithmiques

Python est un langage de programmation interprété, structuré et facile à apprendre, utilisé notamment pour l'enseignement et la science des données. Il offre des types de données variés, des structures algorithmiques et de nombreuses librairies performantes. Les concepts de base incluent l'affectation, le typage automatique, les opérations, les branchements conditionnels et les boucles.

Transféré par

steeve.fictif
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)
0 vues29 pages

PA - intro python - bases algorithmiques

Python est un langage de programmation interprété, structuré et facile à apprendre, utilisé notamment pour l'enseignement et la science des données. Il offre des types de données variés, des structures algorithmiques et de nombreuses librairies performantes. Les concepts de base incluent l'affectation, le typage automatique, les opérations, les branchements conditionnels et les boucles.

Transféré par

steeve.fictif
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

Python

3
Généralités sur la programmation
ALGORITHMIE - PROGRAMMATION

4
Mode compilé vs. mode interprété

Langage interprété : + portabilité application ; - lenteur (R, VBA, Python…)

Langage compilé : + rapidité ; - pas portable


(solution possible : write once, compile anywhere ; ex. Lazarus)

Langage pseudo-compilé : + portabilité plate-forme ; - lenteur (?)


(principe : write once, run anywhere ; ex. Java et le principe JIT)

P y t h o n e s t interprété, il e s t i r r é m é d i a b l e m en t l ent, m a i s …
on peut lui associer des librairies intégrant des fonctions
compilées qui, elles, sont très rapides.

5
Mode de fonctionnement sous Python

PROGRAMMER EN PYTHON

7
Python est un langage de programmation interprété. Il est associé à un
interpréteur de commandes disponible pour différents OS (Windows, Linux, Mac
OS X, etc.)

C’est un « vrai » langage c.-à-d. types de données, branchements conditionnels,


boucles, organisation du code en procédures et fonctions, objets et classes,
découpage en modules.

Très bien structuré, facile à appréhender, c’est un langage privilégié pour


l’enseignement 1, 2.

Mode d’exécution : transmettre à l’interpréteur Python le fichier script « .py »

Python est associé à de très nombreuses librairies très performantes,


notamment des librairies de calcul scientifique (Numpy, SciPy, Pandas, etc.).

De fait, il est de plus en plus populaire, y compris auprès des data scientists.

Il est plus généraliste que R qui est vraiment tourné vers les statistiques.

8
Principales Librairies et Frameworks
Python propose les outils standards de la programmation (1/2)

Données typées. Python propose les types usuels de la


programmation : entier, réels, booléens, chaîne de caractères.

Structures avancées de données. Gestion des collections de


valeurs (énumérations, listes) et des objets structurés
(dictionnaires, classes)

Séquences d’instructions, c’est la base même de la


programmation, pouvoir écrire et exécuter une série de
commandes sans avoir à intervenir entre les instructions.

Structures algorithmiques : les branchements conditionnels et


les boucles.

10
Python propose les outils standards de la programmation (2/2)

Les outils de la programmation structurée : pouvoir regrouper


du code dans des procédures et des fonctions. Cela permet de
mieux organiser les applications.

Organisation du code en modules. Fichiers « .py » que l’on peut


appeler dans d’autres programmes avec la commande import

Possibilité de distribution des modules : soit directement les


fichiers « .py », soit sous forme d’extensions prêtes à l’emploi.

Python est « case sensitive », il différencie les termes écrits en


minuscule et majuscule. Des conventions de nommage existent1.
Mais le plus important est d’être raccord avec l’environnement
de travail dans lequel vous opérez.

11
Types de données, variables, opérations

BASES DE PYTHON

12
Premières opérations
Affectation – Typage automatique
➢ a = 1.2
a est une variable, en interne elle a été automatiquement typée en flottant « float » parce
qu’il y a un point décimal. a est l’identifiant de la variable (attention à ne pas utiliser le mots
réservés comme identifiant), = est l’opérateur d’affectation

Calcul
➢ d = a + 3
d sera un réel contenant la valeur 4.2

Forcer le typage d’une variable (sert aussi pour le transtypage)


➢ b = float(1)
Même sans point décimal, b sera considéré comme float (b = 1, il aurait été int dans ce cas).

Connaître le type d’un objet


➢ type(nom_de_variable)
Affiche le type interne d’une variable (ex. type(a) → <class ‘float’>)

Supprimer un objet de la mémoire


➢ del nom_de_variable
où nom_de_variable représente le nom de l’objet à supprimer.
13
Types élémentaires de Python

•Numérique qui peut être int (entier) ou float (double). Les opérateurs applicables
sont : + , - , * , / (division réelle), ** (puissance) , % (modulo) , // (division entière)
Types élémentaires de Python

•bool correspond au type booléen, il prend deux valeurs possibles True et False
(respecter la casse). Les opérateurs sont not (négation), and (ET logique), or (OU
logique)

ex. not(True) → False ; True and False → False ; etc.

•str désigner les chaînes de caractères. Une constante chaîne de caractère doit être
délimitée par des guillemets (ou des quotes)

ex. a  « tano » affecte la valeur « tano » à l’objet a qui devient donc une variable de
type chaîne de caractères. Une chaîne de caractère se comporte comme un vecteur :
len() pour connaître sa longueur, a[0] → « t », a[1:3] → « ano », a[2:] → « no », etc.

• Remarque : pour connaître la classe d’un objet i.e. le type associé à un objet, on
utilise la fonction type(nom_objet)
ex. type(1.2) → renvoie la valeur ‘float’

14
Instanciation et affectation

Affectation simple #typage automatique


a = 1.0
La seconde évite les #typage explicite
ambiguïtés. a = float(1)

Affectations multiples #même valeur pour plusieurs variables


a = b = 2.5
Pas fondamental
#affectations parallèles
a, b = 2.5, 3.2

15
Opérations, expressions, enchaînements

La plus couramment utilisée a = 1


b = 5
1 instruction = 1 ligne d = a + b

a = 1;b = 5 ;d = a + b;
Autres possibilités
a = 1;
Personne n’utilise
b = 5;
ces écritures
d = a + b;

Une opération particulière


Une variable ne se comporte pas a = 2
de la même manière de part et a = a + 1
d’autre du symbole d’affectation

16
Transtypage

Utilisation du mot-clé désignant le type


Principe
> nouveau_type (objet)

Conversion en numérique
a = " 12 " # a est de type chaîne caractère
b = float(a) #b est de type float

N.B. Si la conversion n’est pas possible ex. float(« toto »), Python renvoie une
erreur

Conversion en logique
a = bool(" TRUE ") # a est de type bool est contient la valeur True
a = bool(1) # renvoie True également

Conversion en chaîne de caractères


a = str(15) # a est de type chaîne et contient « 15 »

17
Opérateurs de comparaison

Les opérateurs de comparaison servent à comparer des


valeurs de même type et renvoient un résultat de type
booléen.

Sous Python, ces opérateurs sont <, <=, >, >=, != , ==

ex. a = (12 == 13) # a est de type bool, il a la valeur False

N.B. On utilisera principalement ces opérateurs dans les


branchements conditionnels.

18
Saisie et affichage à la console

ENTRÉES ET SORTIES

19
Saisie et affichage

Saisie a = input(" Saisir votre valeur ")


a = float(a)

input() permet d ’ ef fectuer une saisie au clavier


Il est possible d’ af f i cher un message d’ i nvi te
La fonction renvoie toujours une chaîne, il faut convertir

Affichage
#Affichage explicite • Un affichage multiple est possible
print(a) Ex. print(a,b) #affiche a et b

• L’ a f fich a g e direct du contenu d ’u n


tableau (liste) est possible également.

20
Un exemple

Pour gérer correctement


l’affichage des caractères
accentués

print(« prix ttc : », pttc)


Fonctionne également

Concaténation de 2 chaînes de caractères

21
Branchements conditionnels et boucles

STRUCTURES
ALGORITHMIQUES

22
Branchement conditionnel « if »

Condition est très souvent une


opération de comparaison

if condition:
bloc d’instructions
else:
bloc d’instructions

(1) Attention au : qui est primordial


(2) C’est l’indentation (le décalage par rapport à la
marge gauche) qui délimite le bloc d’instructions
(3) La partie else est facultative

23
Branchement conditionnel « if » (exemple)

Noter l’imbrication
des blocs.

Le code
appartenant au
même bloc doit être
impérativement
aligné sinon erreur.

24
Succession de if avec e lif

•elif n’est déclenché que si la (les)


condition(s) précédente(s) a (ont)
échoué.
•elif est situé au même niveau que
if et else
•On peut en mettre autant que
l’on veut

Il n’y a pas de switch() ou de case…of en Python

25
Avant la boucle « for » : g é n é r a t i o n d ’ u n e s é q u e n c e d e v a l e u r s

Principe de la boucle Elle ne s’applique que sur une collection de


for valeurs. Ex. tuples, listes,… à voir plus tard.

On peut définir des boucles indicées en


Suite arithmétique générant une collection de valeurs avec range()
simple (séquence de (1)range(4) → 0 1 2 3
valeurs entières) (2)range(1,4) → 1 2 3
(3)range(0,5,2) → 0 2 4

26
Boucle « for »

Séquence est une collection de valeurs


Peut être générée avec range()

for indice in séquence:


bloc d’instructions

Remarque :
• Attention à l’indentation toujours
• On peut « casser » la boucle avec break
• On peut passer directement à l’itération suivante avec continue
• Des boucles imbriquées sont possibles
• Le bloc d’instructions peut contenir des conditions
27
Boucle « for » (exemple)

Somme totale des valeurs comprises entre 1 et n (inclus) et


somme des valeurs paires dans le même intervalle

Il faut mettre n+1 dans


range() pour que n soit
inclus dans la somme

Observez attentivement
les indentations.

28
Boucle « while »

Opération de comparaison
Attention à la boucle infinie !

while condition:
bloc d’instructions

Remarque :
• Attention à l’indentation toujours
• On peut « casser » la boucle avec break

29
Boucle « while » (exemple)

Ne pas oublier
l’initialisation de i

Observez attentivement
les indentations.

30

Vous aimerez peut-être aussi