Intro - aperçu - premier code
🧮 Expressions, opérateurs, types, variables
- Plan de cours
- Introduction
- Aperçu
- On commence!
- Expressions
- Opérateurs
- Types
- Variables
- Exercices
Nous allons regarder le plan de cours pour voir :
- la planification des 15 semaines de cours
- les évaluations, leurs dates et les pondérations
- les règles relatives au plagiat
Des éléments de contenu peuvent être disponibles sous la forme de videos pour vous permettre de les réécouter
autant de fois que nécessaire.
Il peut donc être utile d'apporter des écouteurs pour les cours.
Si votre travail est suspecté de plagiat (code copié d'un(e) autre étudiant(e), code généré par IA, notions non abordées en classe, etc.), deux choses peuvent se produire :
- Le plagiat est prouvé par nos outils : note de 0, automatiquement.
- Le plagiat est plutôt évident, mais une validation est requise : vous serez convoqué(e) au bureau de votre enseignant(e). Vous devrez répondre à certaines questions pour prouver que vous comprenez et maîtrisez le code qui a été utilisé. Si vous ne réussissez pas à répondre à certaines questions, vous aurez la note de 0 (si vous ne comprenez pas votre propre code, c'est que vous avez plagié, d'une manière ou d'une autre).
En programmation, c'est difficile de distinguer "s'aider" et "copier", "travailler ensemble" et
"un qui travaille, l'autre qui recopie".
Voici quelques règles pour vous aider :
- Ne jamais partager un fichier de code ou un fragment de code, en général l'ami.e le recopie sans réfléchir.
- Vous pouvez expliquer, dessiner, reformuler, mais n'écrivez pas le code pour un.e ami.e.
- Si vous avez un doute, demandez à votre prof.
💡 La programmation, c’est l’art de donner des instructions précises à une machine pour qu’elle accomplisse une tâche. Contrairement à un humain, qui peut comprendre le contexte ou improviser, un ordinateur est totalement logique. Il exécute les instructions exactement comme elles sont écrites, sans les interpréter, et toujours dans l’ordre prévu.
💬 Il existe de nombreux langages de programmation, chacun avec ses forces et ses usages. Certains sont conçus pour la performance (comme C ou C++), d’autres pour la simplicité et la lisibilité. C’est le cas de Python, un langage très apprécié des débutants. Sa syntaxe claire permet de se concentrer sur les concepts sans être ralenti par des règles complexes.
🤖 Python est aussi largement utilisé dans des domaines comme l’intelligence artificielle, l’analyse de données et la modélisation scientifique, grâce à un vaste écosystème de bibliothèques.
🚫 Mais attention : il n’existe pas un langage unique pour tout faire. Par exemple :
- ⚙️ C/C++ : idéals pour les logiciels qui doivent être rapides et proches du matériel
- 🌐 JavaScript : incontournable pour le développement web
- 📱 Kotlin et Swift : spécialisés dans les applications mobiles
- 📊 R et Python : très utilisés pour les statistiques, l’analyse de données et la recherche scientifique
🔬 En sciences, savoir programmer est souvent un atout majeur, voire une nécessité. Que ce soit en biologie, en physique ou en chimie, la programmation permet de :
- 🔄 Modéliser des phénomènes complexes ;
- 📈 Analyser des données expérimentales ;
- 🧪 Simuler des processus naturels.
📚 Quelques exemples :
- 🧬 Biologie : analyser des génomes ou modéliser l’évolution d’une population ;
- 📐 Mathématiques : résoudre numériquement des équations différentielles ou visualiser des fonctions en 3D ;
- ⚗️ Chimie : étudier des réactions chimiques ou manipuler des structures moléculaires ;
- 🌍 Géologie : analyser des relevés sismiques ou modéliser l’érosion d’un terrain au fil du temps ;
- 🪐 Physique : simuler la trajectoire d’un objet ou l’interaction entre particules.
🧠 Mais ce n’est pas tout : programmer renforce aussi des compétences générales comme la pensée logique, la résolution de problèmes et la rigueur — des qualités essentielles pour tout scientifique.
🚀 Enfin, la maîtrise de Python (ou d’un autre langage) ouvre la porte à des domaines en forte croissance, comme la science des données ou l’intelligence artificielle, très présents dans la recherche et l’industrie.
✅ En résumé : apprendre à programmer, ce n’est pas juste utile — c’est souvent indispensable pour comprendre, modéliser et explorer le monde scientifique.
⚙️ Python est un langage interprété, ce qui signifie que le code n’est pas compilé en un fichier exécutable, mais lu et exécuté ligne par ligne par un interpréteur Python installé sur votre ordinateur.
💻 Peu importe le système d’exploitation (Windows, macOS ou Linux), tant que l’interpréteur Python est présent,
il peut comprendre et exécuter les instructions écrites dans un fichier .py
.
🧱 La machine ne fait aucune déduction : elle suit les instructions exactement comme elles sont écrites, dans l’ordre, sans se poser de questions.
🛠️ Éditeurs et environnements de développement (IDE)
📝 En théorie, on pourrait écrire du code Python avec un simple Bloc-notes ou TextEdit, puis l’exécuter via un terminal. Mais dans la pratique, cela devient vite fastidieux et source d’erreurs.
💡 C’est pourquoi les programmeurs utilisent des outils appelés environnements de développement ou IDE (Integrated Development Environments), qui facilitent grandement le travail.
🔧 Un bon IDE ou éditeur de code propose :
- 🎨 La coloration syntaxique pour une meilleure lisibilité ;
- ✍️ L’autocomplétion pour écrire plus vite ;
- 🚨 La détection d’erreurs avant même d’exécuter le programme ;
- 🐞 Des outils de débogage pour corriger plus facilement les problèmes.
🧰 Exemples d’outils populaires
Voici deux outils très utilisés pour programmer en Python :
- 🐍 PyCharm : conçu spécifiquement pour Python, avec une interface conviviale et des fonctionnalités intégrées comme la gestion automatique des environnements virtuels. Idéal pour les débutants.
- 💻 VS Code : léger, rapide, hautement personnalisable grâce à des extensions. Parfait si vous aimez ajuster votre environnement.
✅ En résumé : bien que Python soit simple à apprendre, utiliser un bon environnement de développement rend l’apprentissage plus efficace, plus agréable… et moins frustrant !
Pour ce cours, nous utiliserons PyCharm.
Si jamais vous voulez installer Python et PyCharm sur votre ordinateur personnel, voici comment faire.
Pour installer PyCharm avec la même configuration qu’au cégep, suivez ce guide pas à pas (prévoir environ 20 minutes).
Une fois l’installation faite, ce second guide vous montre comment créer votre tout premier projet Python dans PyCharm.
🚀 Ce que vous allez pouvoir faire avec Python après ce cours
Plutôt que de simplement parler de variables ou de graphiques de façon abstraite, voici quelques exemples concrets et motivants d'applications que vous serez en mesure de réaliser en Python, en combinant les notions vues dans le cours :
Ne vous inquiétez pas si certaines notions vous semblent encore mystérieuses! Nous apprendrons plus tard en détail comment créer et utiliser des notebooks Python. D'ici là, vous pouvez tout de même télécharger, ouvrir dans PyCharm et essayer d'exécuter les exemples ci-dessous. Sinon, votre prof fera la démonstration avec vous en classe. Ces exemples illustrent concrètement ce que vous serez capables de faire après ce cours.
🔬 Analyse de séquences génétiques
Vous pourrez lire des séquences d'ADN ou d'ARNm, en extraire des statistiques utiles et produire des graphiques professionnels, comme ceux-ci :
🌀 Génération de fractales
Grâce aux mathématiques et à la visualisation en Python, vous serez capables de créer des images fascinantes et colorées comme celle-ci :
🤖 Reconnaissance automatisée d'images
Vous découvrirez comment les algorithmes peuvent analyser des données et reconnaître des motifs, comme identifier automatiquement des chiffres manuscrits :
🛠️ Les outils que vous apprendrez à maîtriser
Pour réaliser ces applications et bien d'autres, vous apprendrez à utiliser :
- 🐍 Le langage Python
- 🛠️ Des outils de développement modernes : PyCharm, GitHub
- 📊 Des bibliothèques scientifiques comme NumPy, Matplotlib, Pandas, Scikit-learn, ...
- 🧠 Les bases de la programmation scientifique
⚡ Tout cela sans avoir à utiliser Excel ni d'interface compliquée : vos données, vos analyses, vos graphiques, directement dans votre code Python!
Suivez pas à pas les instructions ci-dessous pour écrire et exécuter votre premier code Python.
Dans la Console Python
de PyCharm (en bas à gauche), vous pouvez écrire et exécuter directement des commandes Python grâce
au mode interactif.
Vous verrez quelque chose comme ça :
Python Console
>>> |
Le >>>
est l'invite de commande, il attend que vous tapiez quelque chose.
On peut maintenant donner des instructions à l'ordinateur.
Tapez cette commande (vous pouvez aussi la copier-coller) puis appuyez sur Entrée
:
print("Bonjour le monde!")
Vous devriez voir s'afficher :
Python Console>>> print("Bonjour le monde!")
Bonjour le monde!
>>> |
- L'interpréteur Python a compris l'ordre d'imprimer parce qu'on lui a dit
print
. Ici imprimer veut dire afficher dans notre console. - Le truc à imprimer est fourni entre les parenthèses, c'est un paramètre. Ici on veut imprimer un bout de texte.
- L'interpréteur comprend que c'est du texte à afficher et pas d'autres instructions parce que c'est entre
guillements (
""
).
Tapez maintenant une simple expression mathématique, comme :
6 / 2 * (1 + 2)
Trop puissant!! Il nous affiche la réponse!
On peut donc continuer à taper des commandes et voir les résultats immédiatement.
C'est le mode interactif de Python, idéal pour tester des idées rapidement.
Vous pouvez utiliser les touches ⬆️ et ⬇️ pour rappeler les dernières commandes que vous avez tapées, ce qui est très pratique pour éviter de retaper la même chose plusieurs fois.
En mathématique, les expressions :
-
Peuvent contenir des constantes, des nombres, des variables et des opérateurs et des opérandes.
Par exemple, l'expression pour calculer la circonférence d'un cercle est : 2πr- 2 est une constante
- π est une constante mathématique un peu longue (3.14159265358979...)
- r est une variable qu'on doit remplacer par la valeur du rayon
-
Elles génèrent un résultat décimal ou entier.
Par exemple, l'expression représentant la multiplication de ses 3 valeurs produit une valeur numérique.
Avec un rayon de 2, le résultat de l'expression est 12.5664 -
Pour résoudre une expression mathématique, on commence par remplacer les variables par leur valeur
(ex : on donne une valeur au rayon), puis on procède au calcul de la valeur (ex : 2 * 3.1416 * 2).
En programmation, les expressions fonctionnent à la base comme en mathématique.
Une particularité des expressions en programmation, c'est qu'elles peuvent contenir autre chose que simplement des nombres ou des variables représentant des nombres.
On peut par exemple dans une expression inclure des caractères ou même des mots. Pour notre première rencontre, nous allons voir quelques expressions en lien avec les chaînes de caractères.
Au fur et à mesure que nous avancerons dans la session, nous allons intégrer de nouveaux éléments possibles dans les expressions, comme des fonctions (cours R02) des valeurs booléennes (cours R03), et ainsi de suite.
Voici des exemples d'expression :
5
est une expression qui vaut 5 et de type entier (int)."5"
est une expression de type texte (entre guillemets""
).5 + 3
est une expression de type entier, et qui vaut 8."5"
+"3"
est une expression de type texte, et qui vaut"53"
.
Les expressions en Python peuvent contenir des opérateurs arithmétiques.
Il existe plusieurs opérateurs qui permettent de construire des expressions à partir d'autres expressions.
Plusieurs sont répertoriés dans l'aide-mémoire, mais nous commencerons avec ceux-ci
:
Opérateur | Description | Exemple | Valeur résultante |
---|---|---|---|
+ | Addition | 10 + 3 | 13 |
- | Soustraction | 10 - 3 | 7 |
* | Multiplication | 10 * 3 | 30 |
/ | Division (float) | 10 / 3 | 3.333... |
// | Division entière | 10 // 3 | 3 |
% | Modulo (reste) | 10 % 3 | 1 |
** | Puissance | 10 ** 3 | 1000 |
Les opérandes peuvent être des valeurs (comme dans les exemples du tableau), mais pourraient aussi être des variables, un élément d'un tableau, une expression, etc.
La valeur résultante de l'utilisation d'un opérateur arithmétique peut être de type int
ou float
, selon l'opérateur ET selon les opérandes.
Dans la console, tapez les expressions 10 / 3
et 10 // 3
pour voir la différence entre les deux.
Les types sont expliqués plus en détail dans une section plus bas.
Un autre opérateur très utile est l'opérateur d'affectation =
, qui permet de stocker une valeur dans une variable :
Opérateur | Description | Exemple |
---|---|---|
= | Affectation simple | x = 5 |
Nous y arrivons bientôt.
Les opérateurs n'ont pas tous la même priorité, c'est-à-dire que certains sont évalués avant d'autres.
Par exemple, dans l'expression 10 + 3 * 2
, la multiplication est effectuée avant l'addition, donc le résultat est 16
.
On dit que la multiplication a une priorité plus élevée que l'addition.
Pour voir la liste complète des priorités, consultez l'aide-mémoire sur les opérateurs.
Les parenthèses ()
sont des opérateurs qui permettent de regrouper des expressions pour forcer l'ordre d'évaluation.
Par exemple, si on veut que l'addition soit effectuée en premier, on peut écrire (10 + 3) * 2
, ce qui donne 26
comme résultat.
Dans la console, tapez les expressions 10 + 3 * 2
et (10 + 3) * 2
pour voir la différence entre les deux.
En programmation, les valeurs que l'on manipule ont un type, et le type d'une valeur détermine comment on peut l'utiliser et quelles opérations sont possibles avec cette valeur.
Voici les types de données de base pour débuter en Python :
Type | Description | Exemple |
---|---|---|
int | Nombre entier | 42 |
float | Nombre décimal | 3.14 |
str | Chaîne de caractères | "Alice" |
bool | Booléen (vrai ou faux) | True |
Un nombre entier (int
) s'écrit simplement avec des chiffres, comme 42
ou -99
.
Un nombre décimal (float
) s'écrit avec une partie entière et une partie décimale séparées par un point, comme 3.14
ou -0.001
.
Une chaîne de caractères (str
) s'écrit entre guillemets, comme "Alice"
ou 'Bonjour!'
.
On peut utiliser des guillemets simples (''
) ou doubles (""
), mais il faut être cohérent.
L'expression "123"
est une chaîne de caractères, pas un nombre entier!
Si vous voulez un nombre entier, il faut écrire 123
sans guillemets.
Un booléen (bool
) est une valeur qui peut être soit True
(vrai) soit False
(faux).
Ce sont les deux seules valeurs possibles pour un booléen.
L'expression 'True'
est une chaîne de caractères, pas un booléen!
Si vous voulez un booléen, il faut écrire True
sans guillemets.
Python possède une fonction permettant de connaître le type d'une expression, la fonction type().
Dans la console, tapez ces lignes une par une pour voir le type de chaque expression :
type(42)
type('42')
type(6 * 7)
type(3.14)
type("Alice")
type(True)
type('False')
On peut changer le type d'une expression en utilisant des fonctions de conversion.
Par exemple, pour convertir un entier en chaîne de caractères, on utilise la fonction str().
Pour convertir une chaîne de caractères en entier, on utilise la fonction int().
Voici quelques exemples, essayez-les dans la console :
type(str(42)) # Convertit l'entier 42 en chaîne de caractères
type(int("42")) # Convertit la chaîne de caractères "42" en entier
type(float(3)) # Convertit l'entier 3 en nombre décimal
type(float("3.14")) # Convertit la chaîne de caractères "3.14" en nombre décimal
Certains opérateurs se comportent différemment selon le type de leurs opérandes.
Par exemple, l'opérateur +
peut faire la somme de deux nombres ou concaténer deux chaînes de caractères.
Voici quelques exemples, essayez-les dans la console :
5 + 3 # Addition de deux entiers
"coucou " + "Alice" # Concaténation de deux chaînes de caractères
"coucou " + str(81) # Concaténation d'une chaîne de caractères et d'un entier converti en chaîne
Il existe aussi des structures de données plus complexes pour stocker des données, que nous verrons plus tard.
Les variables servent à stocker des informations manipulées par une application.
Elles vont être stockées temporairement dans la mémoire vive de l'ordinateur (la RAM).
Syntaxe pour créer une variable
Il faut écrire le nom qu'on souhaite donné à notre variable, suivi de l'opérateur d'affectation =
, suivi
d'une expression :
nom_de_ma_variable = (expression)
nom_de_ma_variable
est le nom de la variable, qui doit être unique.=
est l'opérateur d'affectation, qui permet de stocker la valeur de l'expression dans la variable.(expression)
est une expression qui peut être une valeur, une opération mathématique, ou même une chaîne de caractères.
L'expression est d'abord évaluée, puis la valeur résultante est stockée dans la variable.
=
n'est pas un symbole d'égalité, comme en mathématiques, mais un symbole d'affectation.- On calcule d'abord l'expression, ce qui nous donne une valeur et un type.
- Puis on affecte cette valeur et ce type à nom_de_ma_variable.
L'opérateur d'affectation =
a une priorité plus basse que les opérateurs arithmétiques, et donc l'expression à droite est évaluée avant, puis la valeur résultante est affectée à la variable.
Exemples :
x = 5 * 6 # (5 * 6) est évalué, puis le résultat (30) est affecté à x
y = 2 * x # (2 * x) est évalué, puis le résultat (60) est affecté à y
#Variable initialisée avec une valeur
temperature_a = 36
#Variable initialisée à l'aide d'une expression (valeur - valeur)
temperature_b = 36 - 5
#Variable initialisée à l'aide d'une expression (variable + valeur)
temperature_hier = 25
temperature_courante = temperature_hier + 5
Pour voir ce qui est stocké dans une variable, il suffit de taper son nom dans la console et d'appuyer sur Entrée
.
Par exemple, si vous avez créé une variable x
, tapez simplement x
dans la console et appuyez sur Entrée
.
Vous verrez la valeur de x
s'afficher :
>>> x = 42
>>> x
42
Les variables sont comme des boîtes dans lesquelles on peut mettre des valeurs.
On peut les nommer comme on veut, tant que le nom est unique et respecte certaines règles.
Nom des variables
Chaque variable possède un nom unique permettant de l'identifier.
- En mathématiques, nous sommes habitués d'utiliser des noms de variables comme ou .
- En programmation, on essaie d'utiliser des noms plus significatifs de l'information que l'on va stocker dans la variable.
- Par exemple, si on stocke la température d'une journée, on pourrait nommer la variable
temperature_journee
.
- Les noms de variables peuvent contenir uniquement des lettres, des chiffres (0-9) et des underscores
_
. - Les noms de variables ne peuvent pas commencer par un chiffre.
- Les noms de variables ne peuvent pas contenir d'espaces, de caractères spéciaux (comme
!
,@
,#
, etc.) - Les noms de variables ne doivent pas être des mots réservés du langage Python (comme
if
,else
,while
,for
, etc.). - Les noms de variables doivent être en minuscules, et si le nom est composé de plusieurs mots, on utilise un underscore
_
pour les séparer (par exemple,temperature_journee
). - Si une variable contient une valeur qui ne devrait jamais être modifiée au cours de l'application, on la
nomme en MAJUSCULES pour indiquer que cette valeur ne devrait pas être modifiée (par exemple,
PI
). - Il est fortement recommandé de ne pas utiliser d'accents dans les noms de variables, même si Python les accepte.
# Exemples
rayon_cercle = 20 # variable de type int
PI = 3.1416 # variable (constate) de type float
nom_element_chimique = "Hydrogène" # variable de type str, les guillemets sont importants !
est_un_element_halogene = True # variable de type bool
circonference_circle = rayon_cercle * PI # variable de type float contenant le résultat d'une expression
# Afficher les variables à l'aide de la fonction "print"
print("*** VALEURS DES VARIABLES : ***")
print("rayon_cercle :", rayon_cercle)
print("PI :", PI)
print("nom_element_chimique :", nom_element_chimique)
print("est_halogene :", est_halogene)
print("circonference_circle :", circonference_circle)
Le contenu d'une variable peut être modifié au fur et à mesure de l'exécution des instructions à l'aide de
l'opérateur d'assignation =
.
Dans l'exemple ci-dessous, la variable "resultat" est modifiée 3 fois.
nombre1 = 10
nombre2 = 20
nombre3 = 30
resultat = nombre1 + nombre2
resultat = resultat + nombre3
resultat = resultat / 3
print("resultat :", resultat)
Est-ce que vous pourriez prédire le résultat et deviner à quel calcul il correspond?
Le mode interactif est pratique pour tester des idées, mais :
- Tout disparaît dès que vous fermez la console (ou PyCharm).
- Vous ne pouvez pas conserver votre code.
- Vous devez tout retaper à chaque fois.
C'est pourquoi, à partir du prochain cours, nous allons créer des scripts Python, c'est-à-dire des fichiers .py
dans lesquels nous allons écrire et conserver tout notre code.
🧰 Exercices d'environnement de travail
Complétez les exercices de cette section avant de poursuivre avec les autres exercices plus bas.
En suivant cette recette, créez-vous un compte GitHub si vous n'en avez pas déjà un.
À l'aide de GitHub Desktop, clonez sur votre bureau le répertoire GitHub créé par votre enseignant.e pour la rencontre d'aujourd'hui.
Vous y créerez un premier projet PyCharm.
Vous pouvez lire cette recette pour vous aider à comprendre.
Pour sauvegarder les changements apportés dans votre repo (nouveau projet créé, etc.), n'oubliez pas de faire un commit suivi d'un push avant de fermer votre ordinateur.
En suivant cette recette, créez un projet PyCharm dans votre répertoire GitHub cloné sur le bureau de votre poste.
N'oubliez pas de faire un commit-push avec GitHub Desktop pour sauvegarder votre nouveau projet dans votre repo sur GitHub.
✏️ Exercices de compréhension
Pour les exercices de cette section, vous pouvez écrire vos réponses sur papier (comme ce sera le cas en examen) ou vous pouvez créer un fichier markdown dans votre projet PyCharm créé plus haut.
Sans exécuter le code, déterminez le résultat de chacune des expressions ci-dessous.
Par la suite, tapez (ou copiez) et exécutez le code dans la console, et comparez le résultat avec vos réponses.
2 / 8 - 1 / 8
(1 + 3) / 4
2 ** 3
350 // 100
"K" + "L"
"K" + str(45)
1 / 3
float(3)
La fonction round()
permet d'arrondir. :
- Le 1er paramètre est la valeur à arrondir.
- Le 2ème paramètre est le nombre de décimales à conserver.
Poursuivez l'exercice avec les expressions suivantes :
print(round(1 / 3, 3))
print(round(2 / 3 + 1, 2))
Sans exécuter le code, qu'affichera le programme ci-dessous?
En situation d'examen, ce type de question serait à faire sans l'ordinateur.
nombre1 = 10
nombre2 = nombre1 * nombre1
nombre1 = 40
nombre3 = nombre2 - nombre1 - 10
print(nombre1, nombre2, nombre3)
Validez ensuite votre réponse en exécutant le code dans la console de PyCharm. Si vous avez utilisé un fichier markdown pour écrire vos réponses, n'oubliez pas de mettre à jour votre réponse avec le résultat obtenu dans la console.
Sans exécuter le code, qu'affichera le programme ci-dessous?
x = 50
y = 100
temporaire = y
y = x
x = temporaire
print(x, y)
Validez votre réponse.
Que s'est-il passé avec le contenu des variables x
et y
?