LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


expert:python_algo

(page en cours de rédaction)

Le procédural en python

Python est bien entendu capable de faire du procédural, sinon, comment pourriez-vous coder des méthodes?

Toutefois, si vous voulez faire du procédural pur, vous devriez utiliser un autre langage à terme. Vous pouvez d'ailleurs, en cas de besoin appeller dans vos programmes python des fonctions codées avec d'autres langages. C'est même assez fréquent pour les méthodes les plus complexes, ceci afin de les optimiser.

Le calcul

Python est une calculatrice. En plus, il respecte les priorités opératoires. Les opérateurs mathématiques:

  • adition : +
  • soustraction : -
  • multiplication : *
  • division : /
  • modulo : %

Le modulo donne le reste entier d'une division.

Voici quelques exemples:

In [8]: 2+3
Out[8]: 5

In [9]: 2*(3+4)
Out[9]: 14

In [10]: 6/2
Out[10]: 3

In [11]: 7/2
Out[11]: 3

In [12]: 7/2.0
Out[12]: 3.5

In [13]: 7%2
Out[13]: 1

Vous voyez ici que lorsqu'on divise deux entiers, le résultat est nécessairement un entier. Pour avoir un résultat plus précis, on spécifie explicitement que l'un des termes est un flotant.

Je vous laisse faire des tests avec votre interpréteur python.

Le types des données

Les types de base

Python accepte tous les types de données. Python a un typage dynamique, une variable peut être redéfinie à volonté, il sait reconnaître le type de données, pas besoin de le lui dire. Cependant, ce typage est fort, une fois que python a définit une varable comme étant d'un certain type, on ne la traite pas n'importe comment.

Le type de données, même si il est attribué dynamiquement, est donc très important. Voici les types de base en python:

  • integer : les nombres entiers
  • float : les nombres à virgule flotante
  • string : les chaînes de caractère

Ça fait peu par rapport aux autres langages. Pour illustrer le typage fort, voici un petit exemple:

In [4]: a=1

In [5]: b="j"

In [6]: type(a)
Out[6]: <type 'int'>

In [7]: type(b)
Out[7]: <type 'str'>

In [8]: c=2

In [9]: a+c
Out[9]: 3

In [10]: a+b
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/zafx/<ipython console> in <module>()

TypeError: unsupported operand type(s) for +: 'int' and 'str'

In [11]: d="d"

In [12]: b+d
Out[12]: 'jd'

Ici, on voit qu'on peut aditionner deux entiers sans problème. Aditionner deux string concatène les deux mais on ne peut pas aditionner string et int.

Les listes

Une liste est une variable qui peut contenir plusieurs éléments, de tout type.

Voici les commandes de base pour manipuler les listes:

maListe = ["a", "b", "c", "d", "e", ]
# longueur de la liste:
len(a)
>5
# acceder à un des elements:
maListe[0]
>'a'
# ajouter un element:
maListe.append("f")
# enlever un élement:
maListe.remove("f")

Il n'existe pas de tableaux en python. Cependant, une liste peut contenir d'autres listes! Si vous avez besoin d'un tableau, il vous suffit d'utiliser une liste de listes. Si vous aimez vous triturer l'esprit avec les tableaux à plusieurs dimensions, considérez les possibilités induites par une liste de listes de listes…

Les tuples

Les tuples sont des listes non modifiables. L'intérêt du tuple est d'économiser l'espace mémoire:

monTuple = (1, 2, 3, 4)
monTuple(2)
> 3

Le nombre d'opérations possibles avec un tuple est assez limité.

Les dictionnaires

Les opérateurs

if ... elif ... else

Les boucles

for

while

Les expressions régulières

Les décorateurs

Les autres tutos sur linuxPedia

expert/python_algo.txt · Dernière modification: 2018/11/17 13:53 (modification externe)