Modifications

Sauter à la navigation Sauter à la recherche
4 015 octets ajoutés ,  20 février 2016 à 15:27
Ligne 1 : Ligne 1 :  +
{{MicroPython.Pyboard.Discovery-NAV}}
 +
 
== Un bouquin? ==
 
== Un bouquin? ==
Cette section du tutoriel offre un aperçu rapide et très condensé.
+
{{bloc-etroit|text=Cette section du tutoriel offre un aperçu rapide et très condensé.
    
Le but est d'aller droit au but et le plus rapidement possible.
 
Le but est d'aller droit au but et le plus rapidement possible.
Ligne 6 : Ligne 8 :  
Quoi qu'il en soit, si vous cherchez de la littérature en Français autour du Langage Python, MC Hobby propose {{cl|23|différents ouvrages (sur stock) dans la section documentation du WebShop}}.
 
Quoi qu'il en soit, si vous cherchez de la littérature en Français autour du Langage Python, MC Hobby propose {{cl|23|différents ouvrages (sur stock) dans la section documentation du WebShop}}.
   −
OpenClassRoom offre aussi une excellent référence Francophone: "[https://openclassrooms.com/courses/apprenez-a-programmer-en-python Apprenez à programmer en Python]" déjà mentionné dans le cadre de nos tutoriels Raspberry-Pi (et oui, il utilise aussi Python).
+
Gerard Swinnen propose également un livre libre "[[PI-Python-Apprendre-Python|Apprendre à programmer avec Python 3]]" libre d'accès.
 +
 
 +
[[Fichier:Apprendre-Python-3.jpg|360px]]
 +
 
 +
OpenClassRoom offre aussi une excellent référence Francophone: "[https://openclassrooms.com/courses/apprenez-a-programmer-en-python Apprenez à programmer en Python]" déjà mentionné dans le cadre de nos tutoriels Raspberry-Pi (et oui, il utilise aussi Python).}}
    
== La programmation Python en Bref ==
 
== La programmation Python en Bref ==
Ligne 19 : Ligne 25 :     
Le site web [https://docs.python.org/3/ Python 3.5.1 documentation] est une excellente ressource pour découvrir le langage sur PC. La syntaxe est identique pour MicroPython, la différence réside principalement dans les bibliothèques supportées.
 
Le site web [https://docs.python.org/3/ Python 3.5.1 documentation] est une excellente ressource pour découvrir le langage sur PC. La syntaxe est identique pour MicroPython, la différence réside principalement dans les bibliothèques supportées.
  −
OpenClassRoom offre une excellent référence Francophone: "[https://openclassrooms.com/courses/apprenez-a-programmer-en-python Apprenez à programmer en Python]" déjà mentionné dans le cadre de nos tutoriels Raspberry-Pi (et oui, il utilise aussi Python).
      
== Structure d'un programme ==
 
== Structure d'un programme ==
Ligne 163 : Ligne 167 :  
  <nowiki>1 - obtenu une expression vraie
 
  <nowiki>1 - obtenu une expression vraie
 
100
 
100
fin de programme</nowiki>  
+
fin de programme</nowiki>
 
      
=== Retour à la ligne ===
 
=== Retour à la ligne ===
Ligne 178 : Ligne 181 :  
Un programme n'est rien d'autre que des instructions manipulant des nombres de façon intelligente.
 
Un programme n'est rien d'autre que des instructions manipulant des nombres de façon intelligente.
   −
Les variables sont utilisées pour faire ces manipulations.
+
Les variables sont utilisées pour faire ces manipulations.  
   −
=== Les entiers ===
+
En python, le type des variables est fixé et évolue de façon dynamique.
{{fname|int}}
     −
Principal outil de travail, un entier est stocké sur 2 octets (2 bytes, soit 16 bits).
+
C'est l'assignation de la valeur qui fixera le type de la variable.
   −
Il n'a pas de décimal et stocke une valeur entre -32.768 et 32.767.
+
=== Les nombres ===
 +
{{fname|1=i = 12}}
   −
=== Les entiers longs ===
+
Les nombres sont les principaux outils de travail des programmes.
{{fname|long}}
     −
Ce type est utilisé quand un entier n'est pas suffisant.  
+
En python, les types entier {{fname|int}} et {{fname|long}} sont unifiés et permettent de stocker des valeurs entières.  
   −
Utilise 4 octets (4 bytes, soit 32 bits) de RAM et supporte les valeurs allant de -2.147.483.648 à 2.147.483.647
+
En Python, un entier pure permet de stocker une valeur jusqu'à 2^31 -1 (soit 9223372036854775807)... et python change automatiquement la représentation du nombre si ce dernier devient trop grand.
   −
=== Les booléens ===
+
Il n'y a donc presque pas de limite en python (si ce n'est celle de la mémoire).
{{fname|boolean}}
     −
Une simple variable vrai ({{fname|True}}) ou faux ({{fname|False}}) . Utile car elle n'utilise qu'un bit de mémoire RAM.
+
Envie d'en savoir plus? Voyez [[PI-Python-Apprendre-Python#Ouvrage_PDF|le livre de George Swinnen, Apprendre à programmer en Python 3, page 49, "Les données numériques"]].
    
=== Les valeurs décimales ===
 
=== Les valeurs décimales ===
{{fname|float}}
+
{{fname|1=f = 2.5}}
    
Utilisé pour les opérations mathématiques à virgule flottante (nombres décimaux).
 
Utilisé pour les opérations mathématiques à virgule flottante (nombres décimaux).
   −
Utilise 4 octets (32 bits) de mémoire RAM et peut stocker une valeur allant de -3,4028235E+38 à 3,4028235E+38.
+
<nowiki>f = 2.5
 +
print( f + 1.3 )</nowiki>
 +
 
 +
Envie d'en savoir plus? Voyez [[PI-Python-Apprendre-Python#Ouvrage_PDF|le livre de George Swinnen, Apprendre à programmer en Python 3, page 61, "Le type float"]].
 +
 
 +
=== Nombres complexes ===
 +
Bien que cela soit peu pertinent dans le cadre de ce kit, sachez que python supporte les nombres complexes (partie réelle + partie imaginaire).
 +
 
 +
=== Les booléens ===
 +
{{fname|1=b = True}}
 +
 
 +
Une simple variable ou une expression est vraie ({{fname|True}}) ou fausse ({{fname|False}}) .
 +
 
 +
=== Chaîne de caractère ===
 +
{{fname|1=s = "Bonjour le monde"}}
 +
 
 +
Les chaînes de caractères Python vont bien au delà du simple stockage de lettre.
 +
 
 +
Envie d'en savoir plus? Voyez [[PI-Python-Apprendre-Python#Ouvrage_PDF|le livre de George Swinnen, Apprendre à programmer en Python 3, page 63, "Les données alphanumériques"]].
 +
 
 +
=== None ===
 +
{{fname|1=ref = None}}
 +
 
 +
None permet d'indiquer que la variable est "vide". C'est une valeur pratique dans de nombreux cas de programmation avancée.
 +
 
 +
== Les autres types natifs ==
 +
A côtés des types de variables traditionnels, il existe quelques types natifs simple d'emploi et d'une puissance inouïe.
 +
 
 +
Il n'est pas nécessaire de savoir les utiliser mais savoir qu'ils existent est important... au moins pour faire des recherches.
 +
 
 +
=== Les Listes ===
 +
Les listes permettent de regrouper un ensemble de valeurs (de différent types) sous forme de liste. Il est, par la suite, possible d'explorer cette liste, extraire une valeur, etc.
 +
 
 +
Etant donné qu'il s'agit d'une liste non bornée, il est très simple d'y ajouter de nouvelles entrées (pas besoin de redimensionner la liste).
 +
 
 +
<nowiki>une_liste = [ 'lundi', 'mardi', 'mercredi', 123, 15, 16 ]
 +
print( une_liste[1] )
 +
print( une_liste[3] )</nowiki>
 +
 
 +
ce qui produira le résultat:
 +
<nowiki>mardi
 +
123</nowiki>
 +
 
 +
Envie d'en savoir plus? Voyez [[PI-Python-Apprendre-Python#Ouvrage_PDF|le livre de George Swinnen, Apprendre à programmer en Python 3, page 67, "Les listes (première approche)"]].
 +
 
 +
=== Les dictionnaires ===
 +
Un dictionnaire est une structure particulière permettant d'associer une valeur avec une clé. Cette clé permet d'identifier facilement la valeur que l'on désire extraire du dictionnaire.
 +
 
 +
Chaque clé doit être unique et peut être de n'importe quel type. Le plus évident semble être l'utilisation d'un mot clé (donc une chaîne de caractère) mais cela fonctionne aussi avec des entiers, des objets, etc.
   −
=== Le caractère ===
+
<nowiki>dico = { 'nom' : 'Mhoa', 'prenom': 'Joseph', 'age': 13 }
{{fname|char}}
+
dico['ville'] = 'Bruxelles'
   −
Stocke un caractère en utilisant le code ASCII (ex : 'A' = 65). Utilise un octet (1 byte, soit 8 bits) de mémoire RAM.
+
print( dico['prenom'] )
 +
print( dico['ville'] )</nowiki>
   −
Arduino manipule les chaines de caractères (strings) comme des tableaux de caractères (array de char).
+
Ce qui produit le résultat suivant:
 +
 
 +
<nowiki>Joseph
 +
Bruxelles</nowiki>
 +
 
 +
Envie d'en savoir plus? Voyez [[PI-Python-Apprendre-Python#Ouvrage_PDF|le livre de George Swinnen, Apprendre à programmer en Python 3, page 182, "Les dictionnaires"]].
 +
 
 +
=== Les tuples ===
 +
Python dispose également d'une autre structure un peu bizarre, à mis chemin entre les listes et objet non modifiable (comme les chaînes de caractères).
 +
 
 +
Le fait que les tuples soient "non modifiable" est une particularité du langage (particularité à dessein).
 +
 
 +
Cette structure laisse souvent les nouveaux venu un peu perplexe mais se révèle vite assez pratique au cours du temps, surtout grâce à son écriture très compacte.
 +
 
 +
En effet, grâce au tuple vous pourrez:
 +
* passer plusieurs valeurs à une fonction
 +
* permettre à vos fonctions de retourner facilement plusieurs valeurs.
 +
 
 +
<nowiki>def test( valeur ):
 +
    return( 7, valeur+'-Hello', 'test-'+valeur )
 +
 
 +
print( test('salut') )
 +
print( test('salut')[0] )
 +
print( test('salut')[1] )
 +
print( test('salut')[2] )</nowiki>
 +
 
 +
Ce qui produit les résultats suivants:
 +
 
 +
<nowiki>(7, 'salut-Hello', 'test-salut')
 +
7
 +
salut-Hello
 +
test-salut</nowiki>
 +
 
 +
Envie d'en savoir plus? Voyez [[PI-Python-Apprendre-Python#Ouvrage_PDF|le livre de George Swinnen, Apprendre à programmer en Python 3, page 180, "Les tupples"]].
 +
 
 +
=== Bytes et byte arrays ===
 +
Vous rencontrerez inévitable ce type de donnée dès que vous aurez besoin de manipuler des données binaires (par exemple, le contenu d'un fichier jpeg).
    
== Opérateurs mathématiques ==
 
== Opérateurs mathématiques ==
Ligne 222 : Ligne 308 :  
|- style="font-size: 90%"
 
|- style="font-size: 90%"
 
| align="left" | =
 
| align="left" | =
| align="left" | (assignation) rend quelque-chose equal à autre chose. Ex: x = 10 * 2 (x est maintenant égal à 20)
+
| align="left" | (assignation) rend quelque-chose égale à autre chose. Ex: x = 10 * 2 (x est maintenant égal à 20)
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
 
| align="left" | % (modulo)
 
| align="left" | % (modulo)
Ligne 238 : Ligne 324 :  
| align="left" | /
 
| align="left" | /
 
| align="left" | (division)
 
| align="left" | (division)
 +
|- style="font-size: 90%"
 +
| align="left" | **
 +
| align="left" | (puissance)
 
|}
 
|}
   −
Voyez [http://ardx.org/PROG ardx.org/PROG] pour une référence complète (''anglais'').
+
{{MicroPython.Pyboard.Discovery-TRAILER}}
29 917

modifications

Menu de navigation