Ceci est une ancienne révision du document !
Table des matières
Initiation à python
Ce tuto est très inspiré de: Apprenez à programmer en Python de Vincent Le Goff Licence Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Générique (CC BY-NC-SA 2.0) Télécharger le pdf
Python
Installation
Linux: c'est déjà installé. Win$ et Mac: débrouillez-vous ?
Interpréteur
Je décide de bpython3
Quelques commandes
bpython version 0.16 on top of Python 3.5.3 /usr/bin/python3 >>> 1 1 >>> 3.14 3.14 >>> 1+2 3 >>> labomedia Traceback (most recent call last): File "<input>", line 1, in <module> labomedia NameError: name 'labomedia' is not defined >>> "Labomedia" 'Labomedia' >>>
int float string opération
1 3.14 "Moi" 1+3.14 1+"toto" 1/2
Variable
>>> a=1 >>> b=2 >>> a+b 3
Mots clé
and as class def elif else except False for from global if import in lambda None not or pass return True try while with
Boolean et rien
True False None
Type de données
1 # int 3.14 # float "Labbomedia" # str [1, 2, 3] # list {"1": "tot", "2": 1} # dict
Fonction
>>> type(1) <class 'int'> >>> print("Hello, World", end="!") Hello, World!
Ouvrir Geany
Créer un nouveau fichier et l'enregistrer avec une extension.py
La suite se fait en collant le code dans ce génie.
a = 1 b = 2 c = 3.14 d = "labo" e = "toto" r = a + b print(r) s = a - b print(s) t = a / b print(t) print(d + e) print(str(a) + e) print(a+e)
Condition
a = -6 if a < 0: print("bingo") print("") print("tu") print("as") print("gagné") print("") if a < -5: print("2 ème niveau d'indentation") else: print("tu as perdu") print(type("tu as perdu")) print("je fais autre chose")
Opérateur de comparaison
== != < > <= >=
Exercice Bissextile
Trouver si une année est bissextile:
Si une année n'est pas multiple de 4, elle n'est pas bissextile Si elle est multiple de 4, on regarde si multiple de 100 Si oui, on regarde si multiple de 400 Si oui, elle est bissextile Si non, elle n'est pas bissextile Si non, elle est bissextile
- bissextile.py
# Programme testant si une année est bissextile # Demande de l'année au clavier annee = input("Saisissez votre année ...") # attente de la saisie etc ......
Deux réponses: bissextile.py
Zen of python
Dans l'interpréteur
import this
Le beau est préférable au laid ; L'explicite est préférable à l'implicite ; Le simple est préférable au complexe ; Le complexe est préférable au compliqué ; Le plat est préférable à l'imbriqué. L'aéré est préférable au compact ; La lisibilité compte ; Les cas particuliers ne sont pas suffisamment particuliers pour casser la règle ; Même si l'aspect pratique doit prendre le pas sur la pureté. Les erreurs ne devraient jamais passer silencieusement ; A moins qu'elles n'aient été explicitement réduites au silence ; En cas d'ambiguïté, résistez à la tentation de deviner ; Il devrait exister une (et de préférence une seule) manière évidente de procéder ; Même si cette manière n'est pas forcément évidente au premier abord, à moins que vous ne soyez Néerlandais ; Maintenant est préférable à jamais ; Mais jamais est parfois préférable à immédiatement ; Si la mise en œuvre est difficile à expliquer, c'est une mauvaise idée ; Si la mise en œuvre est facile à expliquer, ce peut être une bonne idée ; Les espaces de noms sont une très bonne idée (faisons-en plus !).
Boucle
Table du 4:
print("1 x 4 =", 1*4) print("1 x 4 =", 1*4) ... ... print("10 x 4 =", 10 * 4)
Les répétitions sont très sales !
i = 0 while i >= 10: print(str(i) + " x 4 =", i * 4) i += 1
ou encore
for i in range(10): print(str(i) + " x 4 =", i * 4)
for i in [0, 1, 2, 3]: # seulement jusque 3 print(str(i) + " x 4 =", i * 4)
Itération
chaine = “Labomedia” for lettre in chaine:
print(lettre)
Fonctions
Simple
def ma_fonction(): print("Demain") def ta_fonction(a): print(a) def sa_fonction(a, n): while i < n: print(a, i) ma_fonction() ta_fonction("1") ta_fonction("Guido") sa_fonction(5, 3)
Arguments par défaut
def fonct(a=1, b=2, c=3): print(a, b, c) fonct() fonct(10) fonct(b=10)
Return
Une fonction sans return retourne None
def test1(): """Retourne None""" print("toto") def test2(): """Retourne """ print("toto") return "Python c'est fun" test1() print(test1()) test2() print(test2())
La fonction s'arrête sur le return, le code après return n'est pas excécuté.
def test(a): if a < 0: print("a<0") return 1 else: print("a>0") return 0 print("fin") test(1) test(-1)
Module
Module get object
labgetobject.py à utiliser dans blender