Article Index

1°) Introduction

Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent, conçu pour être rapide (à apprendre, utiliser et comprendre) et pour appliquer une syntaxe propre et uniforme. Deux versions similaires mais incompatibles de Python sont couramment utilisées, Python 2.7 et 3.x. Il a des interfaces avec de nombreux appels système et bibliothèques, ainsi qu'avec divers systèmes de fenêtres (Qt,Gtk,FLTK,...), et est extensible en C ou C ++. Il est également utilisable comme langage d'extension pour les applications qui nécessitent une interface programmable. Enfin, Python est portable: il fonctionne sur de nombreuses variantes Unix, Mac et Windows.

2°) Exemple d'application

  1. Inkscape
  2. Gimp
  3. Blender
  4. QGIS
  5. ArcGis
  6. Autocad
  7. SageMath
  8. Civilization IV

3°) Installation et environement

En fonction de vos besoin et donc de l'environement d'utilisation il faudras utiliser des outils différents, et la version de python peux être restrin. Par exemple les applications présenter ci-avants intègre une version de python de la branc 2.x. De plus l'installation de bibliothque (package) peut devenir difficile (pas de gestion automatique). En revanche pour une utilisation "classique" de developpement d'applications cela seras aisé et dépendra uniquement du système d'exploitation.
linux et mac: pour linux/mac il vous suffira d'utiliser le gestionnaire de package de votre distribution, je recommande évidement d'installer les outils de développements C/C++ complémentaire afin de pouvoir installer facilement de nouvelle bibliothèques pour ubuntu «apt install python3» / pour slackware «slapt-get -i python3» ... etc
windows: pour windows cela peut être plus difficile, et pour faciliter les choses différentes environement de développement permettent d'interfacer les différents outils nécéssaires je recommande par exemple Anaconda The World's Most Popular Data Science Platform d'autres sont toutes fois possible tel-que ActivePython, Canopy, WinPython. Depuis Windows 10, le système propose également le «linux subsystem» que je recommande.

4°) Executer python

pour éxécuter un code python simplement écrire dans le terminal :
python3 fichier_code_principal.py
pour utiliser l'interpréteur python, juste utiliser la commande sans argument, le lancement affiche quelques informations sur l'envrinement d'execustion puis donne la main symbolisé par >>>:
Python 3.6.8 (default, Aug 20 2019, 17:12:48)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

5°) Installer une bibliothèque

pour installer une bibliothèque rien de plus simple avec le gestionnaire "pip" :
pip3 install nom_du_module
Par exemple avec quelques bibliothèques que je recommande :
  1. matplotlib
  2. opencv-python
  3. opencv-contrib-python
  4. scikit-image
  5. parameter-sherpa
  6. seaborn
  7. astropy
  8. scipy
  9. h5py
  10. eli5
  11. pyopencl
  12. PyOpenGL
  13. matplotlib
  14. rasterio
  15. pandas
  16. utm
  17. pyproj
  18. tqdm
  19. theano
  20. torch
  21. tensorflow
  22. geopandas
  23. numpy
  24. sklearn
pour les environements windows pip est également disponible, mais peu parfoit posé soucis sur certain module et leurs dépandences/compilation de module C/C++. Il est alors plus simple d'utiliser le gestionnaire de package de l'environement. Par exemple "conda" pour anaconda précédement cité lorsque c'est possible.


6°) Utiliser une bibliothèque

pour utiliser un module dans python il suffie de l'importer. En écrivant le nom du module suivie d'un "." vous pouvez acceder au fonction du module. de plus en effectuant deux tabulation la listes des functions et variables du module sont affichées. Exemple :
>>> import math
>>> math.
math.acos(       math.cosh(       math.fmod(       math.isnan(      math.pow(
math.acosh(      math.degrees(    math.frexp(      math.ldexp(      math.radians(
math.asin(       math.e           math.fsum(       math.lgamma(     math.sin(
math.asinh(      math.erf(        math.gamma(      math.log(        math.sinh(
math.atan(       math.erfc(       math.gcd(        math.log10(      math.sqrt(
math.atan2(      math.exp(        math.hypot(      math.log1p(      math.tan(
math.atanh(      math.expm1(      math.inf         math.log2(       math.tanh(
math.ceil(       math.fabs(       math.isclose(    math.modf(       math.tau
math.copysign(   math.factorial(  math.isfinite(   math.nan         math.trunc(
math.cos(        math.floor(      math.isinf(      math.pi   
>>> math.
  python propose un certain nombre de module "standar" disponibles directement après l'installation. c'est la cas de "math" la liste complètes est disponible ici The Python Standard Library. quelques unes seront utilisées dans le cadre de ce cours. De plus touts les modules, toutes les functions et les classes propose une documentation, par exemple avec la commande help(math)
Help on module math:

NAME
math

MODULE REFERENCE
https://docs.python.org/3.9/library/math

The following documentation is automatically generated from the Python
source files. It may be incomplete, incorrect or include features that
are considered implementation detail and may vary between Python
implementations. When in doubt, consult the module reference at the
location listed above.

DESCRIPTION
This module provides access to the mathematical functions
defined by the C standard.
il est aussi possible de n'importer qu'une seul fonction d'un module, par exemple :
>>> from math import pow
>>> pow(2.8284271247461903, 2)
8.000000000000002

7°) Utilisation mode "calculette"

Quelques exemples me semble suffisent, pour illustrer sont utilisation basique :
>>> import math
>>> # (ceci est un commentaire)
>>> # la fonction print permet d'afficher dans la console les paramètres
>>> print('Hello, world!')
Hello, world!
>>> # calcule racine de polyone
>>> a=5 # création d'une variable (a) et on lui donne une valeur (5)
>>> b=8
>>> c=1
>>> delta=math.pow(b,2)-4*a*c
>>> print(delta)
44.0
>>> x1=(-b-math.sqrt(delta))/(2*a)
>>> x2=(-b+math.sqrt(delta))/(2*a)
>>> print(x1,x2)
-1.4633249580710799 -0.13667504192892005
>>>