Quelques bases de python pour la SPC¶
Télécharger le pdf
|
Télécharger le notebook
|
Lancer le notebook sur binder (lent)
L’environnement¶
Utilisation des notebook Jupyter
ENT
anaconda
Notebook = « mélange » de code et de texte
Le markdown¶
Le markdown est le langage utilisé pour mettre en forme le texte dans les cellules « markdown » des notebooks. C’est un langage très utilisé dans le monde du développement, parce qu’il permet de mettre en forme du texte tout en conservant une bonne lisibilité.
# Titre
## Sous titre
### Sous-sous titre
#### ....
On peut formater du texte **en gras**, en *italique*. On peut mettre `des extraits de code`
- une liste non numérotée
- élément 2
- élément 3
Une liste numérotée :
1. liste numérotée
2. liste numérotée
3. liste numérotée
Pour changer de paragraphe
il faut
sauter
une ligne
Prochain paragraphe
Ecrire des maths : $x^2$ ou une formule séparée : $$\frac{x^2}{\sqrt{3}}$$
Les éléments de base¶
En Python, tout est objet : les nombres, les chaînes de caractères, les listes, les fonctions… Pour déterminer le type d’un objet : fonction type()
A l’intérieur du code, un commentaire débute par #
Les nombres¶
nombres entiers (int) : exemple : 3
nombres à virgule (float) exemple : 1.
[1]:
type(3)
[1]:
int
[2]:
type(1.)
[2]:
float
Les opérations : classiquement, addition (+), soustraction (-), multiplication (*), division (/) et puissance (**)
[3]:
# Opérations
print(2*3)
print(6/4)
print(5**6)
6
1.5
15625
[4]:
# Conversions de type
# 3.124 --> int = 3
print(int(3.124))
# int -> float
print(float(3))
3
3.0
[5]:
# Mise en forme - notation scientifique
print("{0:.4e} {1:.2e}".format(338.14159, 444848.3234234))
# Mise en forme - un nombre donné de décimales
print("{0:.4f} {1:.2f}".format(338.14159, 444848.3234234))
3.3814e+02 4.45e+05
338.1416 444848.32
Les variables¶
on assigne une valeur à une variable avec le signe
=
. Exemple :a=12
met la valeur 12 dans la variablea
précision sur les noms de variables :
uniquement des lettres sans accents, ou des underscores
_
on peut utiliser des chiffres mais pas au début
pas de majuscules, juste des minuscules
[7]:
x=3
msg = 'Yo'
nom = "Albert"
print(x)
print (x*(msg+" ")+nom)
3
Yo Yo Yo Albert
[8]:
nom = nom + " Raymond"
print(nom)
Albert Raymond
Les listes¶
[9]:
l = [1, 'toto',3.2 , "5", 12]
# recupérer un element de la liste
e = l[2]
print(e)
3.2
Fin cours étapes 1 et 2 : faire applications correspondantes (dissolution et structures des atomes)
Les fonctions¶
Les librairies¶
Par défaut, le python a très peu de fonctionnalités. Mais il existe une énorme bibliothèque de fonctions qu’on peut utiliser pour enrichir les fonctionnalités d’un programme. L’index de la bibilothèque se trouve à l’adresse https://docs.python.org/3/library/index.html
En plus de cette bibliothèque de fonctions « par défaut » (bibliothèque standard), il existe des dizaines de milliers de bibliothèques que l’on peut consulter sur https://pypi.org/
Pour utiliser une fonction mathématique, ou d’autres types de fonctions qui ne sont pas connues « de base », il faut les importer.
[10]:
import math
math.cos(3.14)
math.sin(0)
[10]:
0.0
[11]:
# pour importer une seule fonction :
from math import cos
cos(3.14)
[11]:
-0.9999987317275395
[12]:
# Pour tout importer (à éviter)
from math import *
cos(3.14)
[12]:
-0.9999987317275395
Créer ses propres fonctions¶
Une fonction en maths : \(f(x)=3x+2\) s’écrit en python :
def f(x):
return 3*x+2
contraintes sur le nom de la fonction : pareil que pour les variables
début de la définition : def
un ou plusieurs arguments donnés entre parenthèses
le corps de la fonction doit être indenté (4 espaces)
la valeur retournée par la fonction est renvoyée par
return
la définition de la fonction se termine par :
[13]:
def f(x):
return 3*x+2
print(f(3))
print(f(15))
11
47
[14]:
# Une fonction peut avoir des arguments par défaut
def affine(x, a, b=0):
return a*x+b
print(affine(2,5,3))
print(affine(2,5,0))
print(affine(2,5))
13
10
10
[15]:
# On peut donner les arguments par nom
print(affine(a=5,x=2,b=3))
13
[16]:
# Il y a des variables LOCALES dans la fonction
toto = 12
titi = 15
def pouet(x):
print("Coucou")
toto=x+2
tutu=x-2
print(toto)
print(titi) # <--- pas d'erreur, on utilise la valeur globale
print(tutu)
pouet(2)
print(toto)
# print(tutu) <--- ça plante parce que tutu est local dans pouet
Coucou
4
15
0
12
[17]:
# Une fonction est une objet comme les autres, on peut donc
# la mettre dans une variable
def f(x):
return 3*x+2
g=f
print(g(3))
11
Les structures du langage¶
Les booléens et les tests¶
Les booléens et les opérations booléennes¶
Un booléen : valeur vraie ou fausse (0/1)… en python True
ou False
[18]:
type(True)
[18]:
bool
[19]:
type(False)
[19]:
bool
[20]:
print("vrai et vrai = ", True and True)
print("vrai ou faux = ", True or False)
print("non vrai = ", not True)
vrai et vrai = True
vrai ou faux = True
non vrai = False
Les tests¶
Les tests renvoient une valeur booléenne
« est-ce que machin est plus grand que truc ? » : vrai / faux
liste des tests disponibles : - >
supérieur - <
inférieur - >=
supérieur ou égal - <=
inférieur ou égal - ==
égal - !=
différent - in
présent dans
[21]:
print(3<4)
print(2>=2)
print(3!=2)
print(3==3.)
print(3 in [1, 3, 4])
print(2 in [1, 3, 4])
True
True
True
True
True
False
Les structures conditionnelles¶
Plusieurs manière de faire des actions qui dépendent d’une condition :
SI une condition
ALORS on fait des trucs
SI une condition
ALORS on fait des trucs
SINON on fait autre chose
SI une condition
ALORS on fait des trucs
SINON SI une autre condition
ALORS on fait des trucs
SINON SI encore une autre condition
ALORS onfait des trucs
SINON on fait des trucs
Au niveau de la syntaxe, le python ne précise pas le « ALORS » :
[22]:
# Exemple complet pour la syntaxe
age = 253
if age < 6:
print("Regarde tchoupi")
elif age < 9:
print("Regarde power rangers")
elif age < 12:
print("Regarde ta console")
elif age < 16:
print("Arrête d'être sur ton téléphone et travaille")
elif age < 80:
print("Abonne toi à Netflix")
else:
print("Regarde l'inspecteur Derrick")
Regarde l'inspecteur Derrick
Fin de cours étape 3 : faire application correspondante (loi d’Ohm - étape 1)