initiation_a_python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
initiation_a_python [2021/04/24 08:03] – [Geany: un éditeur sympa multiplateforme] serge | initiation_a_python [2021/08/21 13:41] (Version actuelle) – [PEP8] serge | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======Python: | ======Python: | ||
+ | |||
+ | <WRAP center round box 80% centeralign> | ||
+ | **[[toutes_les_pages_sur_python|Toutes les pages sur Python]] sans les pages sur {{tagpage> | ||
+ | </ | ||
+ | |||
<WRAP center round box 80% centeralign> | <WRAP center round box 80% centeralign> | ||
Ligne 12: | Ligne 17: | ||
* **[[https:// | * **[[https:// | ||
* **[[https:// | * **[[https:// | ||
+ | |||
+ | =====Les sources complètes de ces TD===== | ||
+ | * https:// | ||
+ | * **[[https:// | ||
=====Installation===== | =====Installation===== | ||
- | * **[[python: | + | * **[[python_installation]]** |
=====Quelques commandes===== | =====Quelques commandes===== | ||
- | ====Tester | + | ====Tester |
+ | * **[[https:// | ||
+ | {{ : | ||
===Un terminal quelconque=== | ===Un terminal quelconque=== | ||
- | Ouvrir un terminal: | + | Ouvrir un terminator: |
- | | + | {{ :media_14:terminator_python.png?600 |}} |
- | Python 3.5.3 (default, Jan 19 2017, 14:11:04) | + | |
- | [GCC 6.3.0 20170118] on linux | + | |
- | Type " | + | |
- | >>> | + | |
| | ||
=====Premiers pas===== | =====Premiers pas===== | ||
Ligne 125: | Ligne 133: | ||
print(f" | print(f" | ||
</ | </ | ||
+ | |||
+ | |||
+ | =====Les différents types de variable===== | ||
+ | ====Liste==== | ||
+ | <code python> | ||
+ | l = [1, 2, 3, 4, 5] | ||
+ | # On compte à partir de zéro | ||
+ | l[1] = 2 | ||
+ | </ | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | ====Dictionnaire==== | ||
+ | <code python> | ||
+ | d = {1: " | ||
+ | # Les clés doivent être immuables | ||
+ | d[3] = " | ||
+ | print(d) | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ====Tuples==== | ||
+ | <code python> | ||
+ | t = (" | ||
+ | print(t) | ||
+ | t = " | ||
+ | print(t) | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ====Set==== | ||
+ | Liste toutes les valeurs existantes, il n'y a pas de doublons. | ||
+ | <code python> | ||
+ | my_set = {1, 2, 3, 4, 2, 1} | ||
+ | print(my_set) | ||
+ | </ | ||
+ | |||
=====Condition===== | =====Condition===== | ||
Ligne 154: | Ligne 200: | ||
== != < > <= >= | == != < > <= >= | ||
</ | </ | ||
- | |||
- | |||
- | |||
- | =====Exercice Bissextile===== | ||
- | Trouver si une année est bissextile: | ||
- | <code text> | ||
- | 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 | ||
- | </ | ||
- | |||
- | <file python bissextile.py> | ||
- | # Programme testant si une année est bissextile | ||
- | |||
- | # Demande de l' | ||
- | annee = input(" | ||
- | etc ...... | ||
- | </ | ||
- | |||
- | Deux réponses: **[[https:// | ||
- | |||
=====Boucle===== | =====Boucle===== | ||
- | Table du 4: | + | **Table du 4** |
<code python> | <code python> | ||
print(" | print(" | ||
Ligne 189: | Ligne 211: | ||
print(" | print(" | ||
</ | </ | ||
- | Les répétitions sont très sales ! | + | **Les répétitions sont très sales !** |
<code python> | <code python> | ||
i = 0 | i = 0 | ||
Ligne 196: | Ligne 218: | ||
i += 1 | i += 1 | ||
</ | </ | ||
- | ou encore | + | **ou encore** |
<code python> | <code python> | ||
for i in range(10): | for i in range(10): | ||
Ligne 205: | Ligne 227: | ||
print(str(i) + " x 4 =", i * 4) | print(str(i) + " x 4 =", i * 4) | ||
</ | </ | ||
- | =====Itération===== | + | **Itération** |
<code python> | <code python> | ||
chaine = " | chaine = " | ||
Ligne 211: | Ligne 233: | ||
print(lettre) | print(lettre) | ||
</ | </ | ||
+ | |||
=====Fonctions===== | =====Fonctions===== | ||
====Pourquoi faire des fonctions ou des classes ?==== | ====Pourquoi faire des fonctions ou des classes ?==== | ||
Ligne 220: | Ligne 243: | ||
* Permettre un travail en équipe en découpant un projet en bout de projet indépendant. | * Permettre un travail en équipe en découpant un projet en bout de projet indépendant. | ||
- | ====Une fonction fait une chose. Une class fait une chose==== | + | **Une fonction fait une chose. Une class fait une chose** |
* [[http:// | * [[http:// | ||
Ligne 294: | Ligne 317: | ||
| | ||
</ | </ | ||
- | =====Module Package===== | + | =====Module Package |
===def=== | ===def=== | ||
Une ou des fonctions dans un fichier est un module. Plusieurs modules font un package. | Une ou des fonctions dans un fichier est un module. Plusieurs modules font un package. | ||
Ligne 334: | Ligne 357: | ||
=====Exception===== | =====Exception===== | ||
- | |||
<code python> | <code python> | ||
try: | try: | ||
Ligne 348: | Ligne 370: | ||
**[[https:// | **[[https:// | ||
- | =====Pass===== | + | ===Pass=== |
- | ====Du sale==== | + | **Du sale** |
<code python> | <code python> | ||
try: | try: | ||
Ligne 357: | Ligne 379: | ||
pass | pass | ||
</ | </ | ||
- | + | **Du propre** | |
- | ====Du propre==== | + | |
Ne jamais passer les erreurs sous silence, ou les faire taire explicitement. | Ne jamais passer les erreurs sous silence, ou les faire taire explicitement. | ||
- | | ||
<code python> | <code python> | ||
def exemple_propre(a): | def exemple_propre(a): | ||
Ligne 372: | Ligne 392: | ||
</ | </ | ||
- | ====Pass pour du code en construction | + | **Pass pour du code en construction** |
<code python> | <code python> | ||
def je_multiplie(): | def je_multiplie(): | ||
Ligne 379: | Ligne 399: | ||
def j_imprime(): | def j_imprime(): | ||
pass | pass | ||
- | </ | ||
- | =====Les différents types de variable===== | ||
- | ====Liste==== | ||
- | <code python> | ||
- | l = [1, 2, 3, 4, 5] | ||
- | # On compte à partir de zéro | ||
- | l[1] = 2 | ||
- | </ | ||
- | * [[http:// | ||
- | * [[https:// | ||
- | ====Dictionnaire==== | ||
- | <code python> | ||
- | d = {1: " | ||
- | # Les clés doivent être immuables | ||
- | d[3] = " | ||
- | print(d) | ||
- | </ | ||
- | |||
- | [[http:// | ||
- | |||
- | ====Tuples==== | ||
- | <code python> | ||
- | t = (" | ||
- | print(t) | ||
- | t = " | ||
- | print(t) | ||
- | </ | ||
- | |||
- | [[http:// | ||
- | |||
- | ====Set==== | ||
- | Liste toutes les valeurs existantes, il n'y a pas de doublons. | ||
- | <code python> | ||
- | my_set = {1, 2, 3, 4, 2, 1} | ||
- | print(my_set) | ||
</ | </ | ||
Ligne 493: | Ligne 478: | ||
print(b.kind) | print(b.kind) | ||
- | class Contact: | ||
- | |||
- | def __init__(self, | ||
- | self.name = name | ||
- | self.phone = None | ||
- | | ||
- | def set_phone(phone): | ||
- | self.phone = phone | ||
- | | ||
- | def get_phone(self): | ||
- | return self.phone | ||
- | |||
- | c = Contact(" | ||
- | print(c.get_phone()) | ||
- | |||
- | copains = [" | ||
- | mon_carnet = {} | ||
- | for copain in copains: | ||
- | mon_carnet[copain] = Contact(copain) | ||
- | | ||
- | print(" | ||
</ | </ | ||
- | [[https:// | ||
- | |||
- | http: | ||
- | =====Excercices===== | ||
- | ====Numéro 1==== | ||
- | Nettoyer, créer une class avec method training, testing | ||
- | * https:// | ||
- | |||
- | ====Numéro 2==== | ||
- | Faire des commentaires sur ce fichier des sources de python: **[[https:// | ||
- | |||
- | Un long commentaire pour [[https:// | ||
=====La philosophie Python===== | =====La philosophie Python===== | ||
Ligne 558: | Ligne 510: | ||
====PEP8===== | ====PEP8===== | ||
- | * [[http://sametmax.com/le-pep8-en-resume/|un tuto parmi des tas sur @]] chez sametmax.com | + | |
**Avec python, nous sommes toujours entre adultes responsables.** | **Avec python, nous sommes toujours entre adultes responsables.** |
initiation_a_python.txt · Dernière modification : 2021/08/21 13:41 de serge