« Les bases de Python » : différence entre les versions

De knowledge
Aller à la navigation Aller à la recherche
m (while)
mAucun résumé des modifications
Ligne 52 : Ligne 52 :
|}
|}


== Les boucles ==
== Les listes et le tuples ==
Il y a beaucoup de façons de faire des boucles en Python.
C'est un truc qui trouble beaucoup. En python il y a deux types de structures... les listes (des tableaux) et les tuples.


=== Itération sur un objet liste ===
=== Listes ===
Une liste en Python c'est ce que l'on appelle d'habitude un tableau. Ce sont des valeurs entre crochets séparés par des virgules.<syntaxhighlight lang="python3">
Une liste est ce que l'on appelle tableau (array) dans la majorités des langages (en C par exemple). La syntaxe est une liste de valeurs séparées par des "," et encadrées par des "[ ]".<syntaxhighlight lang="python3">
# Classiquement (oui un commentaire c'est #)
# Classiquement (oui un commentaire c'est #)
a=[1,2,3,4,5]
a=[1,2,3,4,5]
Ligne 63 : Ligne 63 :
c=["un",1,"quatorze",22,"vla les flics"]
c=["un",1,"quatorze",22,"vla les flics"]
# C'est très "objet" Python :)
# C'est très "objet" Python :)
</syntaxhighlight>Pour faire une itération sur les éléments de la liste:<syntaxhighlight lang="python3">
 
print (c[1])
# écrira 1
</syntaxhighlight>La fonction len donnera la taille de la liste.<syntaxhighlight lang="python3">
a=[1,2,3,4]
print (len(a))
</syntaxhighlight>Nous donnera la valeur 4
{| class="wikitable"
|[[Fichier:Attention.png|gauche|57x57px|sans_cadre]]ATTENTION : Le premier index est 0 donc le dernier est '''len() - 1'''
|}
 
=== Tuples ===
C'est une structure de plus bas niveau. Un exemple<syntaxhighlight lang="python3">
# Exemple de tuple
tuple=(1,2,3)
print (tuple)
 
</syntaxhighlight>La on imprime l'objet tuple. La sortie est :<syntaxhighlight lang="text">
(1, 2, 3)
</syntaxhighlight>Les valeurs ne sont pas indexées on ne peut par écrire <syntaxhighlight lang="python3">
tuple=(1,2,3)
print (tuple[0])  ### Erreur de syntaxe pas d'index sur un tuple
</syntaxhighlight>Pour accéder aux valeurs on fait:<syntaxhighlight lang="python3">
tuple=(1,2,3)
x,y,z=tuple
print (x)
</syntaxhighlight>Là on écris bien la valeur du premier élément d'un tuple.
{| class="wikitable"
|[[Fichier:Attention.png|gauche|57x57px|sans_cadre]]AT On doit avoir le même nombre de variables devant le "=" que d'éléments dans le tuple! En revanche len(tuple) donne bien le nombre de valeurs dans le tuple.TENTION
|}
 
== Les boucle ==
Il y a beaucoup de façons de faire des boucles en Python.
 
=== Itération sur un objet liste ===
Pour faire une itération sur les éléments de la liste:<syntaxhighlight lang="python3">
a=[1,2,3,4,5]
for i in a:
for i in a:
     print (i)
     print (i)

Version du 20 septembre 2023 à 14:58

Je ne sais pas vous mais moi je switche souvent d'un langage à l'autre. C, C++, perl, python, javascript, bash.....

Quand je passe un moment sur l'un j'oublie l'autre donc je vais faire une petite page de rafraichissement pour chacun.

Généralités

Attention.png
ATTENTION: Tout ce qui va suivre concerne Python3. Si je parles d'une syntaxe Python2 ce sera précisé. La syntaxe Python2 est très moche. Je ne l'utilise que quand je suis obligé (module écrit en python2 seulement)

Python est un langage de script qui vient après des langages comme perl. Il est plus structuré que ce dernier. Il est de nos jours utilisé partout. Vraiment partout! Même si on n'en est pas fan il faut y passer.

Python est un langage "WISIWIG" dit on. En gros la structure se voit a l'écran en lisant le code. On est OBLIGE de bien écrire le code.

Ce qui en "C" s'écrirait :

#include <stdio.h>

int min(int a, int b) {
    if (a<b)
        return a;
    else 
        return b;
}

void main (){
    printf (min(3,2));
}

ou bien :

#include <stdio.h>

int min(int a, int b) {if (a<b) return a; else return b;}

void main (){printf (min(3,2));}

C'est moins clair mais on peut! En Python

def min(a,b):
    if (a<b):
        return a 
    else:
        return b

print (min(1,5))
Attention.png
ATTENTION
  • Il n'y a pas d'accolades "{ }" mais des ":" et des tabulations...
  • Il n'y a pas de point virgules (c'est ce qui me troubles! Normalement y'a TOUJOURS des virgules)
  • les blocs de codes sont définis par l'indentation
  • L'indentation peut être faite par des tabulation ou des espaces mais attention ce n'est pas parceque c'est indenté proprement dans l'éditeur que c'est correct syntaxiquement. Si votre éditeur fait des tabulations de 8 caractères (la norme normalement) on ne voit pas la différence entre 8 espaces et une tab sur l'écran mais Python vas hurler à la faute d'indentation! WISIWIG mes fesses!

Les listes et le tuples

C'est un truc qui trouble beaucoup. En python il y a deux types de structures... les listes (des tableaux) et les tuples.

Listes

Une liste est ce que l'on appelle tableau (array) dans la majorités des langages (en C par exemple). La syntaxe est une liste de valeurs séparées par des "," et encadrées par des "[ ]".

# Classiquement (oui un commentaire c'est #)
a=[1,2,3,4,5]
b=["un","deux","trois","quatre","cinq"]
# Ou même
c=["un",1,"quatorze",22,"vla les flics"]
# C'est très "objet" Python :)

print (c[1])
# écrira 1

La fonction len donnera la taille de la liste.

a=[1,2,3,4]
print (len(a))

Nous donnera la valeur 4

Attention.png
ATTENTION : Le premier index est 0 donc le dernier est len() - 1

Tuples

C'est une structure de plus bas niveau. Un exemple

# Exemple de tuple
tuple=(1,2,3)
print (tuple)

La on imprime l'objet tuple. La sortie est :

(1, 2, 3)

Les valeurs ne sont pas indexées on ne peut par écrire

tuple=(1,2,3)
print (tuple[0])  ### Erreur de syntaxe pas d'index sur un tuple

Pour accéder aux valeurs on fait:

tuple=(1,2,3)
x,y,z=tuple
print (x)

Là on écris bien la valeur du premier élément d'un tuple.

Attention.png
AT On doit avoir le même nombre de variables devant le "=" que d'éléments dans le tuple! En revanche len(tuple) donne bien le nombre de valeurs dans le tuple.TENTION

Les boucle

Il y a beaucoup de façons de faire des boucles en Python.

Itération sur un objet liste

Pour faire une itération sur les éléments de la liste:

a=[1,2,3,4,5]
for i in a:
    print (i)

Pour le coup c'est simple et élégant.

While

Qu'on se rassure le while est toujours là.

i = 1
while i < 6:
  print(i)
  i += 1

En revanche adieux le i++ on est obligé d'utiliser le moche i+=1.