Chap XIII : calcul scientifique avec python
-
Upload
mohammed-tamali -
Category
Engineering
-
view
1.572 -
download
0
Transcript of Chap XIII : calcul scientifique avec python
from turing_machine import TuringMachine
initial_state = init
accepting_states = [final]
transition_function = (init0)(init 1 R)
(init1)(init 0 R)
(init )(final N)
final_states = [final]
t = TuringMachine(010011
initial_state = init
final_states = final_states
transition_function=transition_function)
print(Input on Tape)
tshow_tape()
while not tfinal()
tstep()
print(Result of the Turing machine calculation)
tshow_tape()
Version 310
Universiteacute de Beacutechar
Laboratoire des Eacutetudes Eacutenergeacutetiques en Zones Arides
Eacutequipe Modeacutelisation amp Simulation des Systegravemes
Cours reacutealiseacute par Pr TAMALI Mohammed
httpmtamaliwordpresscom
Universiteacute de Beacutechar | FSampT
(ENERGARID LabSimulIA)
Presentation The University of Bechar was born in 1986 as the National Institutes of Higher Education (INES) in 1992 it becomes University Center and on January 07 2007 it was officially declared as a University Since then many Research Teams have seen the day In 2011 The Laboratory for Energy Systems Studies Applied to Arid Zones was run by a group of young and well motivated researchers (7 Research teams) to solve real problems affecting arid zones SimulIA Team is one of them in the same laboratory The Workload of SimulIA concern studies and applications of modeling and simulation of systems in Arid Areas Research areas Energy amp Environment (Modeling amp Simulation) Application of heat in arid zones Energy economy Mapping and development of resources in arid zones SIMULIA for the task in the short term to develop the computer code for modeling and simulation which can be accessed online Website of the laboratory team httpenergaridwordpresscom
2
Introduction (Geacuteneacuteraliteacutes amp Historique)
Elaboration drsquoun environnement logiciel Python
(Installation Personnalisation amp Utilisation)
Domaines drsquoutilisation
Outils drsquoeacutelaboration de code Python (IDE)
Base de repreacutesentation des donneacutees (Eleacutements de base)
Structure algorithmique du langage Python
Matrices amp Systegravemes lineacuteaires
Systegravemes non-lineacuteaires
Interpolation amp approximation
Inteacutegration amp Diffeacuterentiation numeacuterique
Calcul parallegravele
Conclusion
Plan
3
Introduction (Geacuteneacuteraliteacutes) Les matheacutematiques appliqueacutees et le calcul scientifique jouent un rocircle croissant comme outils non
eacutevitables pour lrsquoeacutelaboration de recherches scientifiques et dans la conception de processus
industriels Le calcul scientifique reste pour toujours lrsquoeacutetape premiegravere de la voie du
deacuteveloppement culturel et technique drsquoun pays donneacute
Par ailleurs le niveau de complexiteacute des systegravemes geacuteneacuteralement manipuleacutes par les ecirctres
humains que nous sommes est tregraves eacuteleveacute agrave un niveau ougrave toute avanceacutee intellectuelle engendrera
des retombeacutes au niveau industriel tant que tous les processus de lrsquoeacuteconomie en deacutependent
En contre partie la majoriteacute des produits technologiques sont juste la solution immeacutediate de bon
nombre de reacutesolutions de requecircte de la vie courante Lavegravenement de linformatique et de ses
produits les langages de programmation de tout bord de lInternet et des teacuteleacutecommunications agrave
chacun ses infrastructures et ses protocoles a reacutevolutionneacute les meacutethodologies de travail des
eacutequipes et laboratoires de recherches Les langages de deacuteveloppement informatique des outils
et suites logiciels sont drsquoun grand secours aux travaux de modeacutelisation et de simulation des
processus
Les matheacutematiques appliqueacutees et linformatique sont les moyens de conception (Modeacutelisation et
Simulation) plus encore ils sont les vecteurs qui ont provoqueacute une ameacutelioration nette dans les
pratiques de tous les jours et aussi dans la vitesse de mise en œuvre de moyens exploitables
Les langage de programmation comme le CC++ le FORTRAN ou le Python ont joueacute un grand
rocircle dans le cours de deacuteveloppement de beaucoup de proceacutedeacutes (Modeacutelisation) et ont faciliteacute la
compreacutehension de beaucoup pheacutenomegravenes (Simulation) 4
Introduction (Historique) Python est un langage inteacuteressant pour sa faciliteacute et sa richesse en possibiliteacutes drsquoutilisation En
version de base Python dispose de nombreuses fonctionnaliteacutes inteacutegreacutees en standard
Autour des aptitudes de base standard Il est extensible par des modules de tout bord qui sont
les contributions de deacuteveloppeurs deacutevoueacutes agrave la cause de lrsquoOpen Source Ce sont des
bibliothegraveques qui aident le deacuteveloppeur agrave travailler sur des projets particuliers Plusieurs
bibliothegraveques peuvent ainsi ecirctre installeacutees pour par exemple deacutevelopper des interfaces
graphiques en Python (cas de tkinter)
Python est un langage de programmation dont la premiegravere version est sortie en 1991 Creacuteeacute par
Guido van Rossum il a eacuteteacute porteacute du Macintosh de son deacuteveloppeur qui travaillait agrave cette eacutepoque
au Centrum voor Wiskunde en Informatica aux Pays-Bas jusquagrave se voir associer une
organisation agrave but non lucratif particuliegraverement deacutevoueacutee la PSF (Python Software Foundation)
creacuteeacutee en 2001 Ce langage a eacuteteacute baptiseacute ainsi en hommage agrave la troupe de comiques les laquoMonty
Pythonraquo
5
Deacuteveloppeur Informaticien
Neacuteerlandais (langage Python)
Guido van Rossum
31 janvier 1956 Monty Python est le nom dune troupe ceacutelegravebre
dhumoristes britanniques (1969)
Introduction (Logiciel Open Source vs Proprieacutetaire) La PSF (Python Software Foundation) creacuteeacutee en 2001 appartient agrave Open Source Initiative et agrave la
FSF (Free Software Foundation)
Un logiciel proprieacutetaire appeleacute parfois de maniegravere militante logiciel privateur ou encore logiciel
non libre est un logiciel dont la duplication la modification ou lusage est limiteacute
La deacutesignation Open Source ou lsquoCode Source Ouvertrsquo sapplique aux logiciels dont la licence
respecte des critegraveres preacuteciseacutement eacutetablis par lOpen Source Initiative cest-agrave-dire les possibiliteacutes
de libre redistribution daccegraves au code source et de creacuteation de travaux deacuteriveacutes Mis agrave la
disposition du grand public ce code source est geacuteneacuteralement le reacutesultat dune collaboration
entre deacuteveloppeurs
6
Elaboration drsquoun environnement logiciel Python
Installation Beaucoup de meacutethodologies sont valable pour deacutevelopper un environnement compatible pour une programmation avec le
langage Python (Celui-ci est teacuteleacutechargeable sous deux version 2X ou 3X version de base qui ne sont pas forcement
totalement compatible) Le langage Python est utilisable sous diffeacuterent systegraveme drsquoexploitation (Win LinuxUNIX ou Mac OS)
Une autre alternative encore plus interessante que la premiegravere
est drsquoinstaller le logiciel ANACONDA
Avec lrsquoun des eacutediteurs de scripts
7
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Presentation The University of Bechar was born in 1986 as the National Institutes of Higher Education (INES) in 1992 it becomes University Center and on January 07 2007 it was officially declared as a University Since then many Research Teams have seen the day In 2011 The Laboratory for Energy Systems Studies Applied to Arid Zones was run by a group of young and well motivated researchers (7 Research teams) to solve real problems affecting arid zones SimulIA Team is one of them in the same laboratory The Workload of SimulIA concern studies and applications of modeling and simulation of systems in Arid Areas Research areas Energy amp Environment (Modeling amp Simulation) Application of heat in arid zones Energy economy Mapping and development of resources in arid zones SIMULIA for the task in the short term to develop the computer code for modeling and simulation which can be accessed online Website of the laboratory team httpenergaridwordpresscom
2
Introduction (Geacuteneacuteraliteacutes amp Historique)
Elaboration drsquoun environnement logiciel Python
(Installation Personnalisation amp Utilisation)
Domaines drsquoutilisation
Outils drsquoeacutelaboration de code Python (IDE)
Base de repreacutesentation des donneacutees (Eleacutements de base)
Structure algorithmique du langage Python
Matrices amp Systegravemes lineacuteaires
Systegravemes non-lineacuteaires
Interpolation amp approximation
Inteacutegration amp Diffeacuterentiation numeacuterique
Calcul parallegravele
Conclusion
Plan
3
Introduction (Geacuteneacuteraliteacutes) Les matheacutematiques appliqueacutees et le calcul scientifique jouent un rocircle croissant comme outils non
eacutevitables pour lrsquoeacutelaboration de recherches scientifiques et dans la conception de processus
industriels Le calcul scientifique reste pour toujours lrsquoeacutetape premiegravere de la voie du
deacuteveloppement culturel et technique drsquoun pays donneacute
Par ailleurs le niveau de complexiteacute des systegravemes geacuteneacuteralement manipuleacutes par les ecirctres
humains que nous sommes est tregraves eacuteleveacute agrave un niveau ougrave toute avanceacutee intellectuelle engendrera
des retombeacutes au niveau industriel tant que tous les processus de lrsquoeacuteconomie en deacutependent
En contre partie la majoriteacute des produits technologiques sont juste la solution immeacutediate de bon
nombre de reacutesolutions de requecircte de la vie courante Lavegravenement de linformatique et de ses
produits les langages de programmation de tout bord de lInternet et des teacuteleacutecommunications agrave
chacun ses infrastructures et ses protocoles a reacutevolutionneacute les meacutethodologies de travail des
eacutequipes et laboratoires de recherches Les langages de deacuteveloppement informatique des outils
et suites logiciels sont drsquoun grand secours aux travaux de modeacutelisation et de simulation des
processus
Les matheacutematiques appliqueacutees et linformatique sont les moyens de conception (Modeacutelisation et
Simulation) plus encore ils sont les vecteurs qui ont provoqueacute une ameacutelioration nette dans les
pratiques de tous les jours et aussi dans la vitesse de mise en œuvre de moyens exploitables
Les langage de programmation comme le CC++ le FORTRAN ou le Python ont joueacute un grand
rocircle dans le cours de deacuteveloppement de beaucoup de proceacutedeacutes (Modeacutelisation) et ont faciliteacute la
compreacutehension de beaucoup pheacutenomegravenes (Simulation) 4
Introduction (Historique) Python est un langage inteacuteressant pour sa faciliteacute et sa richesse en possibiliteacutes drsquoutilisation En
version de base Python dispose de nombreuses fonctionnaliteacutes inteacutegreacutees en standard
Autour des aptitudes de base standard Il est extensible par des modules de tout bord qui sont
les contributions de deacuteveloppeurs deacutevoueacutes agrave la cause de lrsquoOpen Source Ce sont des
bibliothegraveques qui aident le deacuteveloppeur agrave travailler sur des projets particuliers Plusieurs
bibliothegraveques peuvent ainsi ecirctre installeacutees pour par exemple deacutevelopper des interfaces
graphiques en Python (cas de tkinter)
Python est un langage de programmation dont la premiegravere version est sortie en 1991 Creacuteeacute par
Guido van Rossum il a eacuteteacute porteacute du Macintosh de son deacuteveloppeur qui travaillait agrave cette eacutepoque
au Centrum voor Wiskunde en Informatica aux Pays-Bas jusquagrave se voir associer une
organisation agrave but non lucratif particuliegraverement deacutevoueacutee la PSF (Python Software Foundation)
creacuteeacutee en 2001 Ce langage a eacuteteacute baptiseacute ainsi en hommage agrave la troupe de comiques les laquoMonty
Pythonraquo
5
Deacuteveloppeur Informaticien
Neacuteerlandais (langage Python)
Guido van Rossum
31 janvier 1956 Monty Python est le nom dune troupe ceacutelegravebre
dhumoristes britanniques (1969)
Introduction (Logiciel Open Source vs Proprieacutetaire) La PSF (Python Software Foundation) creacuteeacutee en 2001 appartient agrave Open Source Initiative et agrave la
FSF (Free Software Foundation)
Un logiciel proprieacutetaire appeleacute parfois de maniegravere militante logiciel privateur ou encore logiciel
non libre est un logiciel dont la duplication la modification ou lusage est limiteacute
La deacutesignation Open Source ou lsquoCode Source Ouvertrsquo sapplique aux logiciels dont la licence
respecte des critegraveres preacuteciseacutement eacutetablis par lOpen Source Initiative cest-agrave-dire les possibiliteacutes
de libre redistribution daccegraves au code source et de creacuteation de travaux deacuteriveacutes Mis agrave la
disposition du grand public ce code source est geacuteneacuteralement le reacutesultat dune collaboration
entre deacuteveloppeurs
6
Elaboration drsquoun environnement logiciel Python
Installation Beaucoup de meacutethodologies sont valable pour deacutevelopper un environnement compatible pour une programmation avec le
langage Python (Celui-ci est teacuteleacutechargeable sous deux version 2X ou 3X version de base qui ne sont pas forcement
totalement compatible) Le langage Python est utilisable sous diffeacuterent systegraveme drsquoexploitation (Win LinuxUNIX ou Mac OS)
Une autre alternative encore plus interessante que la premiegravere
est drsquoinstaller le logiciel ANACONDA
Avec lrsquoun des eacutediteurs de scripts
7
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Introduction (Geacuteneacuteraliteacutes amp Historique)
Elaboration drsquoun environnement logiciel Python
(Installation Personnalisation amp Utilisation)
Domaines drsquoutilisation
Outils drsquoeacutelaboration de code Python (IDE)
Base de repreacutesentation des donneacutees (Eleacutements de base)
Structure algorithmique du langage Python
Matrices amp Systegravemes lineacuteaires
Systegravemes non-lineacuteaires
Interpolation amp approximation
Inteacutegration amp Diffeacuterentiation numeacuterique
Calcul parallegravele
Conclusion
Plan
3
Introduction (Geacuteneacuteraliteacutes) Les matheacutematiques appliqueacutees et le calcul scientifique jouent un rocircle croissant comme outils non
eacutevitables pour lrsquoeacutelaboration de recherches scientifiques et dans la conception de processus
industriels Le calcul scientifique reste pour toujours lrsquoeacutetape premiegravere de la voie du
deacuteveloppement culturel et technique drsquoun pays donneacute
Par ailleurs le niveau de complexiteacute des systegravemes geacuteneacuteralement manipuleacutes par les ecirctres
humains que nous sommes est tregraves eacuteleveacute agrave un niveau ougrave toute avanceacutee intellectuelle engendrera
des retombeacutes au niveau industriel tant que tous les processus de lrsquoeacuteconomie en deacutependent
En contre partie la majoriteacute des produits technologiques sont juste la solution immeacutediate de bon
nombre de reacutesolutions de requecircte de la vie courante Lavegravenement de linformatique et de ses
produits les langages de programmation de tout bord de lInternet et des teacuteleacutecommunications agrave
chacun ses infrastructures et ses protocoles a reacutevolutionneacute les meacutethodologies de travail des
eacutequipes et laboratoires de recherches Les langages de deacuteveloppement informatique des outils
et suites logiciels sont drsquoun grand secours aux travaux de modeacutelisation et de simulation des
processus
Les matheacutematiques appliqueacutees et linformatique sont les moyens de conception (Modeacutelisation et
Simulation) plus encore ils sont les vecteurs qui ont provoqueacute une ameacutelioration nette dans les
pratiques de tous les jours et aussi dans la vitesse de mise en œuvre de moyens exploitables
Les langage de programmation comme le CC++ le FORTRAN ou le Python ont joueacute un grand
rocircle dans le cours de deacuteveloppement de beaucoup de proceacutedeacutes (Modeacutelisation) et ont faciliteacute la
compreacutehension de beaucoup pheacutenomegravenes (Simulation) 4
Introduction (Historique) Python est un langage inteacuteressant pour sa faciliteacute et sa richesse en possibiliteacutes drsquoutilisation En
version de base Python dispose de nombreuses fonctionnaliteacutes inteacutegreacutees en standard
Autour des aptitudes de base standard Il est extensible par des modules de tout bord qui sont
les contributions de deacuteveloppeurs deacutevoueacutes agrave la cause de lrsquoOpen Source Ce sont des
bibliothegraveques qui aident le deacuteveloppeur agrave travailler sur des projets particuliers Plusieurs
bibliothegraveques peuvent ainsi ecirctre installeacutees pour par exemple deacutevelopper des interfaces
graphiques en Python (cas de tkinter)
Python est un langage de programmation dont la premiegravere version est sortie en 1991 Creacuteeacute par
Guido van Rossum il a eacuteteacute porteacute du Macintosh de son deacuteveloppeur qui travaillait agrave cette eacutepoque
au Centrum voor Wiskunde en Informatica aux Pays-Bas jusquagrave se voir associer une
organisation agrave but non lucratif particuliegraverement deacutevoueacutee la PSF (Python Software Foundation)
creacuteeacutee en 2001 Ce langage a eacuteteacute baptiseacute ainsi en hommage agrave la troupe de comiques les laquoMonty
Pythonraquo
5
Deacuteveloppeur Informaticien
Neacuteerlandais (langage Python)
Guido van Rossum
31 janvier 1956 Monty Python est le nom dune troupe ceacutelegravebre
dhumoristes britanniques (1969)
Introduction (Logiciel Open Source vs Proprieacutetaire) La PSF (Python Software Foundation) creacuteeacutee en 2001 appartient agrave Open Source Initiative et agrave la
FSF (Free Software Foundation)
Un logiciel proprieacutetaire appeleacute parfois de maniegravere militante logiciel privateur ou encore logiciel
non libre est un logiciel dont la duplication la modification ou lusage est limiteacute
La deacutesignation Open Source ou lsquoCode Source Ouvertrsquo sapplique aux logiciels dont la licence
respecte des critegraveres preacuteciseacutement eacutetablis par lOpen Source Initiative cest-agrave-dire les possibiliteacutes
de libre redistribution daccegraves au code source et de creacuteation de travaux deacuteriveacutes Mis agrave la
disposition du grand public ce code source est geacuteneacuteralement le reacutesultat dune collaboration
entre deacuteveloppeurs
6
Elaboration drsquoun environnement logiciel Python
Installation Beaucoup de meacutethodologies sont valable pour deacutevelopper un environnement compatible pour une programmation avec le
langage Python (Celui-ci est teacuteleacutechargeable sous deux version 2X ou 3X version de base qui ne sont pas forcement
totalement compatible) Le langage Python est utilisable sous diffeacuterent systegraveme drsquoexploitation (Win LinuxUNIX ou Mac OS)
Une autre alternative encore plus interessante que la premiegravere
est drsquoinstaller le logiciel ANACONDA
Avec lrsquoun des eacutediteurs de scripts
7
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Introduction (Geacuteneacuteraliteacutes) Les matheacutematiques appliqueacutees et le calcul scientifique jouent un rocircle croissant comme outils non
eacutevitables pour lrsquoeacutelaboration de recherches scientifiques et dans la conception de processus
industriels Le calcul scientifique reste pour toujours lrsquoeacutetape premiegravere de la voie du
deacuteveloppement culturel et technique drsquoun pays donneacute
Par ailleurs le niveau de complexiteacute des systegravemes geacuteneacuteralement manipuleacutes par les ecirctres
humains que nous sommes est tregraves eacuteleveacute agrave un niveau ougrave toute avanceacutee intellectuelle engendrera
des retombeacutes au niveau industriel tant que tous les processus de lrsquoeacuteconomie en deacutependent
En contre partie la majoriteacute des produits technologiques sont juste la solution immeacutediate de bon
nombre de reacutesolutions de requecircte de la vie courante Lavegravenement de linformatique et de ses
produits les langages de programmation de tout bord de lInternet et des teacuteleacutecommunications agrave
chacun ses infrastructures et ses protocoles a reacutevolutionneacute les meacutethodologies de travail des
eacutequipes et laboratoires de recherches Les langages de deacuteveloppement informatique des outils
et suites logiciels sont drsquoun grand secours aux travaux de modeacutelisation et de simulation des
processus
Les matheacutematiques appliqueacutees et linformatique sont les moyens de conception (Modeacutelisation et
Simulation) plus encore ils sont les vecteurs qui ont provoqueacute une ameacutelioration nette dans les
pratiques de tous les jours et aussi dans la vitesse de mise en œuvre de moyens exploitables
Les langage de programmation comme le CC++ le FORTRAN ou le Python ont joueacute un grand
rocircle dans le cours de deacuteveloppement de beaucoup de proceacutedeacutes (Modeacutelisation) et ont faciliteacute la
compreacutehension de beaucoup pheacutenomegravenes (Simulation) 4
Introduction (Historique) Python est un langage inteacuteressant pour sa faciliteacute et sa richesse en possibiliteacutes drsquoutilisation En
version de base Python dispose de nombreuses fonctionnaliteacutes inteacutegreacutees en standard
Autour des aptitudes de base standard Il est extensible par des modules de tout bord qui sont
les contributions de deacuteveloppeurs deacutevoueacutes agrave la cause de lrsquoOpen Source Ce sont des
bibliothegraveques qui aident le deacuteveloppeur agrave travailler sur des projets particuliers Plusieurs
bibliothegraveques peuvent ainsi ecirctre installeacutees pour par exemple deacutevelopper des interfaces
graphiques en Python (cas de tkinter)
Python est un langage de programmation dont la premiegravere version est sortie en 1991 Creacuteeacute par
Guido van Rossum il a eacuteteacute porteacute du Macintosh de son deacuteveloppeur qui travaillait agrave cette eacutepoque
au Centrum voor Wiskunde en Informatica aux Pays-Bas jusquagrave se voir associer une
organisation agrave but non lucratif particuliegraverement deacutevoueacutee la PSF (Python Software Foundation)
creacuteeacutee en 2001 Ce langage a eacuteteacute baptiseacute ainsi en hommage agrave la troupe de comiques les laquoMonty
Pythonraquo
5
Deacuteveloppeur Informaticien
Neacuteerlandais (langage Python)
Guido van Rossum
31 janvier 1956 Monty Python est le nom dune troupe ceacutelegravebre
dhumoristes britanniques (1969)
Introduction (Logiciel Open Source vs Proprieacutetaire) La PSF (Python Software Foundation) creacuteeacutee en 2001 appartient agrave Open Source Initiative et agrave la
FSF (Free Software Foundation)
Un logiciel proprieacutetaire appeleacute parfois de maniegravere militante logiciel privateur ou encore logiciel
non libre est un logiciel dont la duplication la modification ou lusage est limiteacute
La deacutesignation Open Source ou lsquoCode Source Ouvertrsquo sapplique aux logiciels dont la licence
respecte des critegraveres preacuteciseacutement eacutetablis par lOpen Source Initiative cest-agrave-dire les possibiliteacutes
de libre redistribution daccegraves au code source et de creacuteation de travaux deacuteriveacutes Mis agrave la
disposition du grand public ce code source est geacuteneacuteralement le reacutesultat dune collaboration
entre deacuteveloppeurs
6
Elaboration drsquoun environnement logiciel Python
Installation Beaucoup de meacutethodologies sont valable pour deacutevelopper un environnement compatible pour une programmation avec le
langage Python (Celui-ci est teacuteleacutechargeable sous deux version 2X ou 3X version de base qui ne sont pas forcement
totalement compatible) Le langage Python est utilisable sous diffeacuterent systegraveme drsquoexploitation (Win LinuxUNIX ou Mac OS)
Une autre alternative encore plus interessante que la premiegravere
est drsquoinstaller le logiciel ANACONDA
Avec lrsquoun des eacutediteurs de scripts
7
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Introduction (Historique) Python est un langage inteacuteressant pour sa faciliteacute et sa richesse en possibiliteacutes drsquoutilisation En
version de base Python dispose de nombreuses fonctionnaliteacutes inteacutegreacutees en standard
Autour des aptitudes de base standard Il est extensible par des modules de tout bord qui sont
les contributions de deacuteveloppeurs deacutevoueacutes agrave la cause de lrsquoOpen Source Ce sont des
bibliothegraveques qui aident le deacuteveloppeur agrave travailler sur des projets particuliers Plusieurs
bibliothegraveques peuvent ainsi ecirctre installeacutees pour par exemple deacutevelopper des interfaces
graphiques en Python (cas de tkinter)
Python est un langage de programmation dont la premiegravere version est sortie en 1991 Creacuteeacute par
Guido van Rossum il a eacuteteacute porteacute du Macintosh de son deacuteveloppeur qui travaillait agrave cette eacutepoque
au Centrum voor Wiskunde en Informatica aux Pays-Bas jusquagrave se voir associer une
organisation agrave but non lucratif particuliegraverement deacutevoueacutee la PSF (Python Software Foundation)
creacuteeacutee en 2001 Ce langage a eacuteteacute baptiseacute ainsi en hommage agrave la troupe de comiques les laquoMonty
Pythonraquo
5
Deacuteveloppeur Informaticien
Neacuteerlandais (langage Python)
Guido van Rossum
31 janvier 1956 Monty Python est le nom dune troupe ceacutelegravebre
dhumoristes britanniques (1969)
Introduction (Logiciel Open Source vs Proprieacutetaire) La PSF (Python Software Foundation) creacuteeacutee en 2001 appartient agrave Open Source Initiative et agrave la
FSF (Free Software Foundation)
Un logiciel proprieacutetaire appeleacute parfois de maniegravere militante logiciel privateur ou encore logiciel
non libre est un logiciel dont la duplication la modification ou lusage est limiteacute
La deacutesignation Open Source ou lsquoCode Source Ouvertrsquo sapplique aux logiciels dont la licence
respecte des critegraveres preacuteciseacutement eacutetablis par lOpen Source Initiative cest-agrave-dire les possibiliteacutes
de libre redistribution daccegraves au code source et de creacuteation de travaux deacuteriveacutes Mis agrave la
disposition du grand public ce code source est geacuteneacuteralement le reacutesultat dune collaboration
entre deacuteveloppeurs
6
Elaboration drsquoun environnement logiciel Python
Installation Beaucoup de meacutethodologies sont valable pour deacutevelopper un environnement compatible pour une programmation avec le
langage Python (Celui-ci est teacuteleacutechargeable sous deux version 2X ou 3X version de base qui ne sont pas forcement
totalement compatible) Le langage Python est utilisable sous diffeacuterent systegraveme drsquoexploitation (Win LinuxUNIX ou Mac OS)
Une autre alternative encore plus interessante que la premiegravere
est drsquoinstaller le logiciel ANACONDA
Avec lrsquoun des eacutediteurs de scripts
7
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Introduction (Logiciel Open Source vs Proprieacutetaire) La PSF (Python Software Foundation) creacuteeacutee en 2001 appartient agrave Open Source Initiative et agrave la
FSF (Free Software Foundation)
Un logiciel proprieacutetaire appeleacute parfois de maniegravere militante logiciel privateur ou encore logiciel
non libre est un logiciel dont la duplication la modification ou lusage est limiteacute
La deacutesignation Open Source ou lsquoCode Source Ouvertrsquo sapplique aux logiciels dont la licence
respecte des critegraveres preacuteciseacutement eacutetablis par lOpen Source Initiative cest-agrave-dire les possibiliteacutes
de libre redistribution daccegraves au code source et de creacuteation de travaux deacuteriveacutes Mis agrave la
disposition du grand public ce code source est geacuteneacuteralement le reacutesultat dune collaboration
entre deacuteveloppeurs
6
Elaboration drsquoun environnement logiciel Python
Installation Beaucoup de meacutethodologies sont valable pour deacutevelopper un environnement compatible pour une programmation avec le
langage Python (Celui-ci est teacuteleacutechargeable sous deux version 2X ou 3X version de base qui ne sont pas forcement
totalement compatible) Le langage Python est utilisable sous diffeacuterent systegraveme drsquoexploitation (Win LinuxUNIX ou Mac OS)
Une autre alternative encore plus interessante que la premiegravere
est drsquoinstaller le logiciel ANACONDA
Avec lrsquoun des eacutediteurs de scripts
7
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python
Installation Beaucoup de meacutethodologies sont valable pour deacutevelopper un environnement compatible pour une programmation avec le
langage Python (Celui-ci est teacuteleacutechargeable sous deux version 2X ou 3X version de base qui ne sont pas forcement
totalement compatible) Le langage Python est utilisable sous diffeacuterent systegraveme drsquoexploitation (Win LinuxUNIX ou Mac OS)
Une autre alternative encore plus interessante que la premiegravere
est drsquoinstaller le logiciel ANACONDA
Avec lrsquoun des eacutediteurs de scripts
7
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python Installation La plateforme ANACONDA installe tout le neacutecessaire (lrsquoenvironnement PYTHON 3X2X) et donnera accegraves aux possibiliteacutes
drsquoeacutetendre lrsquoinstallation aux modules PYTHON neacutecessaires pour le deacuteveloppement de calcul scientifique de lrsquoingeacutenieur ou du
chercheur
Les diffeacuterents modules (librairies) neacutecessaire sont
NUMPY Analyse numeacuterique amp Matrices
SCIPY Extension pour calcul scientifique
MATPLOTLIB Dessin de courbe
SYMPY calcul symbolique
NETWORKX manipulation et gestion des graphes
PLOTLY Librairie en ligne pour dessin de courbes
EVENTLET
TKINTER Librairie pour manipulation drsquointerface graphique
IPYTHON Bibliothegraveque pour calcul scientifique
CYTHON Interface pour environnement CC++
JPYTHON Interface pour environnement JAVA
JUPYTER Editeur orienteacute navigateur
DJANGO-CMS System de gestion de contenus
WIDGY CMS utilisant le Framework Django
hellipencore des milliers de modules
8
Notre choix
Environnement
Notre choix
IDE
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python Installation Assistant de lrsquoinstallation de ANACONDA et de PYCHARM
La plateforme ANACONDA = Python Modules LrsquoIDE de programmation PYTHON PyCharm 9
Notre choix
Environnement
Notre choix
De lrsquoIDE
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python Personnalisation Sous PyCharm en mode TEREMINAL nous ajoutons
les modules neacutecessaires agrave la plateforme ANACONDA Dans la fenecirctre TERMINAL nous utiliserons CONDA
HPycharmProjectsessaigtconda install mpi4py
Using Anaconda Cloud api site
httpsapianacondaorg
Fetching package metadata
Solving package specifications
Package plan for installation in environment
hAnaconda325
The following packages will be downloaded
package | build
mpi4py-200 | py35_0 264 KB
The following NEW packages will be INSTALLED
mpi4py 200-py35_0 (copy)
Proceed ([y]n) Y
Fetching packages
mpi4py-200-p 100 || Time 00001 16926 kBs
Extracting packages hellip
[COMPLETE]|| 100
Linking packages
[mpi4py]| | 0
[COMPLETE]|| 100
10 Fenecirctre ABOUT
de PyCharm
Ideacutee du jour
Commande
installation modules
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm en mode TEREMINAL nous ajoutons les
modules neacutecessaires agrave la plateforme ANACONDA Caracteacuteristiques du langage script Python
Avantages
bull Tregraves riches librairies pour le calcul scientifique
bull Langage bien structureacute permettant drsquoeacutecrire des
programmes lisibles lsquowe code what we thinkrsquo
bull Drsquoautres librairies hors le cadre du calcul scientifique
(Gestion des services Web Accegraves aux ports seacuterie etc)
bull Graticiel lsquoOpen Sourcersquo derriegravere une large communauteacute
bull Compaciteacute du programme deacuteveloppeacute
bull Beaucoup drsquoalternatives pour lrsquoeacutedition (IDE)
Inconveacutenients
bull Environnement de deacuteveloppement moins
bull Pas tous les algorithmes qui peuvent ecirctre trouveacutes dans le
logiciel
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 11 Fenecirctre ABOUT
de PyCharm
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python Utilisation Sous PyCharm
Caracteacuteristiques du langage script Python
Python est un langage script informatique geacuteneacuterique et
moderne
bull Langage Python integravegre tous les types de donneacutees
(chaicircne reacuteel int) les controcircles des collections de
donneacutees (listes dictionnaires) et des modegraveles de flux
etc
bull La bibliothegraveque standard integravegre plusieurs Modules
bull Un grand nombre de modules speacutecialiseacutes ou des
applications sont eacutecrites en Python protocoles web
framework web etc Ainsi que le calcul scientifique
- Outils de deacuteveloppement (test automatique geacuteneacuteration de
documentation)
- et encore plushellip
Python peut ecirctre utiliser sous deux modes selon
lrsquointeractiviteacute escompteacutee
1 Commande en ligne
2 Exeacutecution de fichier script py 12
Mode console
Python
Mode
programme (py)
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Cette interface Web est facilement mise en œuvre par son
installation
conda install jupyter (si Anaconda est installeacute)
Ou
pip install jupyter
Le lancement de lrsquointerface est fait en invoquant
Jupiter notebook
Ouvrir le navigateur et entrer lrsquoadresse http1270018888
Pour utiliser un autre PORT autre que 8888
On note http127001Nouveau_Port
Lrsquointerface JUPITER est intuitive et facile agrave utiliser ses
fonctionnaliteacutes sont bull Deacuteploiement sous protocole Internet drsquoaptitude de calcul
Python
bull Toute les possibiliteacutes de gestion des documents lsquoNotebookrsquo
sont offertes
bull Possibiliteacutes drsquoeacutedition non limiteacutees (LaTeX HTML Code hellip)
bull Exeacutecution immeacutediate
bull Compatibiliteacute avec la plupart des langages et scripts de
programmation (CC++ Java JavaScript Julia Python R
Octave hellip)
bull Offre accessibiliteacute agrave Jupyter Drive via Google Drive
bull Options de Reporting avanceacutees (HTML LaTeX PDF)
13
Exemple de
code avec son
exeacutecution
Menu et barre
drsquooutils
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Elaboration drsquoun environnement logiciel Python Utilisation Sous Jupyter Interface WEB pour Python
Les notebooks sont accessibles agrave partir de PyCharm Les notebooks sont des solutions de collaboration de preacutefeacuterences
ils integravegrent toute les fonctionnaliteacutes exigeacutees par un chercheur
dans le domaine des sciences humaines ou technologiques
Organisation des documents leur ouverture eacutedition ou mise agrave
jours se fait dans le mecircme endroit sans aucune deacutependance par
rapport agrave la machine puisque les notebooks sont accessible en
ligne (Serveur Ordinateur de bureau ou Peacuteripheacuterique mobile)
Les possibiliteacutes sont eacutetendues ainsi qursquoune documentation
abondante
14
Graphique
3D
Exemple de Code
Python
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
15
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import numpy as np
systeme = nparray([[12][3-4]])
valeur=nparray([[3][1]])
sol=nplinalgsolve(systemevaleur)
print(x=sol[00] et y=sol[10])
x= 14 et y= 08
Reacutesolution de systegraveme lineacuteaire AX=b gtgtgt import numpy as np
gtgtgt from scipy import linalg
gtgtgt A = nparray([[1 2] [3 4]])
gtgtgt A
array([[1 2][3 4]])
gtgtgt b = nparray([[5] [6]])
gtgtgt b
array([[5][6]])
gtgtgt linalginv(A)dot(b) slow
array([[-4 ][ 45]])
gtgtgt Adot(linalginv(A)dot(b)) - b Veacuterification array([[888178420e-16][266453526e-15]])
gtgtgt nplinalgsolve(A b) fast
array([[-4 ][ 45]])
gtgtgt Adot(nplinalgsolve(A b)) - b Veacuterification array([[ 0][ 0]])
Importation de la
librairie Numpy
16
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
17
import numpy as np
from scipy import signal misc
import matplotlibpyplot as plt
image = miscface(gray=True)astype(npfloat32)
derfilt = nparray([10 -2 10] dtype=npfloat32)
ck = signalcspline2d(image 80)
deriv = (signalsepfir2d(ck derfilt [1]) +signalsepfir2d(ck [1] derfilt))
laplacian = nparray([[010] [1-41] [010]] dtype=npfloat32)
deriv2 = signalconvolve2d(cklaplacianmode=lsquosameboundary=symm)
pltfigure()
pltimshow(image)
pltgray()
plttitle(lsquoImage original)
pltshow()
pltfigure()
pltimshow(deriv)
pltgray()
plttitle(lsquosortie avec filtre spline)
pltshow()
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
from matplotlibpyplot import figure hold plot legend draw
from numpy import linspace
import scipystats as stats
from numpyrandom import randn
x = randn(100)
fig = figure()
ax = figadd_subplot(111)
axhist(x bins=30 label=rsquoEmpiricalrsquo)
xlim = axget_xlim()
ylim = axget_ylim()
pdfx = linspace(xlim[0] xlim[1] 200)
pdfy = statsnormpdf(pdfx)
pdfy = pdfy pdfymax() ylim[1]
hold(True)
plot(pdfx pdfy rsquor-rsquo label=rsquoPDFrsquo)
axset_ylim((ylim[0] 12 ylim[1]))
legend()
hold(False)
draw()
18
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse des donneacutees (Panda QtGraph)
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation 19
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Domaines drsquoutilisation
matplotlib inline
from pylab import plot show title xlabel ylabel subplot savefig
from scipy import fft arange ifft
from numpy import sin linspace pi
from scipyiowavfile import readwrite
def plotSpectru(yFs)
n = len(y) lungime semnal
k = arange(n)
T = nFs
frq = kT two sides frequency range
frq = frq[range(n2)] one side frequency range
Y = fft(y)n fft computing and normalization
Y = Y[range(n2)]
plot(frqabs(Y)r) plotting the spectrum
xlabel(Freq (Hz))
ylabel(|Y(freq)|)
Fs = 44100 sampling rate
ratedata=read(fatihawav)
y=data
lungime=len(y)
timp=len(y)44100
t=linspace(0timplen(y))
subplot(211)
plot(ty)
xlabel(Time)
ylabel(Amplitude)
subplot(212)
plotSpectru(yFs)
show()
20
Lecture de la
sourah
Code du traitement
audio
Spectre Amp|Freacuteq
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele (MPI Python)
Theacuteorie des graphes (Networkx)
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
21 Exemple
de graphe
Fenecirctre Aperccedilu
du bloc-note
Importation de la
librairie NetworkX
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
import RPiGPIO as GPIO
GPIOsetmode(GPIOBCM) set board mode to Broadcom
GPIOsetup(17 GPIOOUT) set up pin 17
GPIOsetup(18 GPIOOUT) set up pin 18
GPIOoutput(17 1) turn on pin 17
GPIOoutput(18 1) turn on pin 18
Importation
librairie GPIO
Module
Galileo Gen 2
Module
RaspBerry PI 3
22
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
23
from OCCSTEPControl import STEPControl_Reader
from OCCIFSelect import IFSelect_RetDone IFSelect_ItemsByEntity
from OCCDisplaySimpleGui import init_display
step_reader = STEPControl_Reader()
status = step_readerReadFile(modelswind_turbinestp)
if status == IFSelect_RetDone check status
failsonly = False
step_readerPrintCheckLoad(failsonly IFSelect_ItemsByEntity)
step_readerPrintCheckTransfer(failsonly IFSelect_ItemsByEntity)
ok = step_readerTransferRoot(1)
_nbs = step_readerNbShapes()
aResShape = step_readerShape(1)
else
print(Error cant read file)
sysexit(0)
display start_display add_menu add_function_to_menu = init_display()
displayDisplayShape(aResShape update=True)
start_display()
Importation
librairie OCC
Maillage Dauphin
Rendu du macirct drsquoun
aeacuterogeacuteneacuterateur
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
POO avec Python (Programmation
Orienteacutee Objet) Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
class Rocket()
Rocket simule une roquette pour un jeu
ou une simulation de physique
def __init__(self)
Each rocket has an (xy) position
selfx = 0
selfy = 0
def move_up(self)
Increacutementation de la position y de la roquette
selfy += 1
Deacutefinir une ensemble de 5 roquettes les stocker dans une liste
my_rockets = []
for x in range(05)
new_rocket = Rocket()
my_rocketsappend(new_rocket)
A remarquer que chaque roquette est un objet agrave part entiegravere
for rocket in my_rockets
print(rocket)
Deacutefinition drsquoune
nouvelle Classe
Instantiation
Meacutethode Constructeur
__init__
24
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation
du geacutenome Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
25
from Bio import SeqIO
for seq_record in SeqIOparse(ls_orchidgbk genbank)
print(seq_recordid)
print(repr(seq_recordseq))
print(len(seq_record))
Z785331
Seq(CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGCGC
IUPACAmbiguousDNA())
740
Z784391
Seq(CATTGTTGAGATCACATAATAATTGATCGAGTTAATCTGGAGGATCTGTTTACTGCC
IUPACAmbiguousDNA())
592
Sinon dans une Terminal Python
gtgtgt from BioSeq import Seq
gtgtgt from BioAlphabet import generic_dna
gtgtgt gene = Seq(GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA +
GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT +
AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT +
TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT +
AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA
generic_dna)
gtgtgt genetranslate(table=Bacterial)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHR
HasStopCodon(ExtendedIUPACProtein() )
gtgtgt genetranslate(table=Bacterial to_stop=True)
Seq(VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDHHHR
ExtendedIUPACProtein())
Logo de
BioPython Seacutequence drsquoADN
Importation
librairie BIO
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les domaines utilisant le langage script Python sont nombreux
Calcul scientifique de base (Modegravele (Non-) lineacuteaire)
Python pour traitement du signal
Calcul de probabiliteacute et statistiques
Deacuteveloppement de graphiques interactive avec Plotly
Visualisation des donneacutees avec Lightning
Lissage et reacutegression non Parameacutetrique
Solveur drsquoeacutequations diffeacuterentielles partielles
Librairie Python drsquoanalyse sonore du coran
Analyse de Big-Data en python
Machine Learning sous Python avec le package scikit-learn
Economeacutetrie sous Python avec le package StatsModels
Introduction agrave la programmation parallegravele avec MPI Python
Theacuteorie des graphes
Commande de processus et systegravemes embarqueacutes
Plateforme CAD 2D3D (Python CAD FreeCAD)
Bioinformatique et manipulation du geacutenome
Deacuteveloppement de sites Web (Framework Django)
Domaines drsquoutilisation
26
Installer agrave partir de PyPI
$ pip install mezzanine
Instantier un projet
$ mezzanine-project monproject
$ cd monproject
Instantier une Base de donneacutees
$ python managepy createdb
Lancer le serveur Web
$ python managepy runserver
Installation en mode
commande
URL du site instantieacute
Version Mobile Menu
Version Administration
Sites Web fait avec
Mezzanine
Version Normal
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL
Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
27
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
28
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les environnements de deacuteveloppement inteacutegreacutes de code Python sont nombreux des solutions proprieacutetaires agrave celles portant le
label GPL Ils sont de trois grandes cateacutegories
Les applications bureaux (Desktop)
Les consoles de commande en ligne
Les interfaces orienteacutees Web
Outils drsquoeacutelaboration de code Python (IDE)
29
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
30
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Nom de Symbole Les noms de variables en Python peuvent contenir des caractegraveres alphanumeacuteriques a-z A-Z 0-
9 et certains caractegraveres speacuteciaux tel que _ Les noms de variables normales doivent commencer par une lettre
Par convention les noms de variables commencent par une lettre minuscule et les noms de classe commencent par
une lettre majuscule En outre il y a un certain nombre de mots-cleacutes Python qui ne peuvent pas ecirctre utiliseacutes comme
noms de variables Ces mots-cleacutes sont les suivants
and as assert break class continue def del elif else except exec finally for from global if import in
is lambda not or pass print raise return try while with yield
Affectation assignment de variable
x = 10
my_variable = 122
type(x) fonction TYPE retourne le type de la variable entre parenthegravese
builtinsfloat
Verification de type x = 10
veacuterifier si la variable est reacuteelle
type(x) is float
isinstance(x float)
True
z = complex(x)
print(z type(z))
(1+0j) ltclass complexlsquogt
Base de repreacutesentation des donneacutees
31
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Operateurs et comparaisons Opeacuterateurs arithmeacutetiques + - (division entiegravere) puissance
30 20
10
NB operators puissance en python nrsquoest pas ^ mais
2 2
4
Les opeacuterateurs de comparaison sont gtltgt=lt===
objects identiques
x1 = x2 = [12]
x1 is x2
True
2 gt= 2 2 lt= 2
(True True)
Chaines de caractegraveres les liste et les dictionnaires s = Hello world
type(s)
builtinsstr
length of the string the number of characters
len(s)
11
replace a substring in a string with somethign else
s2 = sreplace(world test)
print(s2)
Hello test
s[0]
H
Base de repreacutesentation des donneacutees
32
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Chaines de caractegraveres les liste et les dictionnaires s = Hello worldldquo
replace a substring in a string with somethign else
s2 = sreplace(world test)
Hello test
print(s2)
s[05]
Hellolsquo
s[05]
Hellolsquo
s[]
Hello worldlsquo
print(value = f 10) Formatage C des variables
value = 1000000
s2 = value1 = 2f value2 = d (31415 15)
print(s2)
value1 = 314 value2 = 1
Listes l = [1234]
print(type(l))
print(l)
ltclass listgt
[1 2 3 4]
l = [1 a 10 1-1j] peuvent ecirctre heacuteteacuterogegravene
print(l)
[1 a 10 (1-1j)]
Base de repreacutesentation des donneacutees
33
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Listes start = 10
stop = 30
step = 2
range(start stop step)
range(10 30 2)
list(range(start stop step))
[10 12 14 16 18 20 22 24 26 28]
s2 = list(s)
S2
[H e l l o w o r l d]
Tri de la liste
s2sort()
print(s2)
[ H d e l l l o o r w]
l = []
lappend(A)
lappend(d)
lappend(d)
print(l)
[A d d]
Tuples Ce sont des variables comme les listes mais pas alteacuterables
point = (10 20)
print(point type(point))
(10 20) ltclass tuplegt
Base de repreacutesentation des donneacutees
34
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Tuples x y = point
print(x = x)
print(y = y)
x = 10
y = 20
Dictionaries params = parameter1 10 parameter2 20 parameter3 30
print(type(params))
print(params)
ltclass dictgt
fparameter2 20 parameter3 30 parameter1 10
params[parameter1] = A
params[parameter2] = B
Ajouter une nouvelle entreacutee
params[parameter4] = D
print(paramegravetre = + str(params[parameter1]))
print(paramegravetre = + str(params[parameter2]))
print(paramegravetre = + str(params[parameter3]))
print(paramegravetre = + str(params[parameter4]))
paramegravetre = A
paramegravetre = B
paramegravetre = 30
paramegravetre = D
Base de repreacutesentation des donneacutees
35
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
36
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Affectation amp Controcircle conditionnel de flue statement1 = False Crsquoest une affectation
statement2 = False
if statement1 Test valideacute condition (statement1) est VRAIE
print(statement1 is True)
elif statement2 Exeacutecuteacutee condition (statement2) est VRAIE
print(statement2 is True)
else Exeacutecuteacutee sinon
print(statement1 and statement2 are False)
Boucles for x in [123] [123] peut ecirctre deacutesigneacute par range(3) avec print(x+1)
print(x)
1
2
3
for word in [scientific computing with python]
print(word) condition de reacutepeacutetition deacutependante du contenu de la liste
scientific
computing
with
python
l1 = [x2 for x in range(05)] agrave remarquer la compaciteacute du Python
print(l1)
[0 1 4 9 16]
Base de repreacutesentation des donneacutees
37
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Boucles var = 0
while var = 1
print jlsquoeacutecris mon programme ici
choix = raw_input(voulez vous recommencer ( on ) )
if choix == n
var = 1
else
lsquovous allez ecirctre renvoyeacute au deacutebut du programmersquo
X = y 2
while x gt 1
If y x == 0
print y lsquo est facteur de rsquo x
break
x -= 1
else
print y lsquo est premierlsquo
Lrsquoutilisation de zip et map peut srsquoaveacutereacutee encore plus efficace
l1 = [1 2 3]
l2 = [4 5 6]
for (x y) in zip(l1 l2)
print x y -- x + y
1 4 -- 5
2 5 -- 7
3 6 -- 9
Base de repreacutesentation des donneacutees
38
s=0123456789
print map(int s)
[0 1 2 3 4 5 6 7 8 9]
Utilisation et
puissance de MAP
Utilisation de ZIP
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Intervales range(start stop step)
range(5 10)
5 jusqursquoagrave 10 (exclue) avec un pas de 1
range(0 10 3)
0 3 6 9
range(-10 -100 -30)
-10 -40 -70
Test conditionnel binaire x = 5
y = 10
if x gt y
print(x est grand que y)
else
print(ldquox nrsquoest pas grand que yrdquo)
Dans Python on peut compliquer les chose
x = 5
y = 10
Z = 12
if z gt x gt y
print(lsquoy est petit que x et x est petit que z)
Base de repreacutesentation des donneacutees
39
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Boucle avec test conditionnel binaire break continue et else dans une boucle for
for n in range(2 10)
for x in range(2 n)
if n x == 0
print(n lsquoest eacutegal agrave x nx)
break
else
print(n lsquoest premier)
Utilisation de lrsquoinstruction continue
for num in range(2 10)
if num 2 == 0 le symbole deacutesigne lrsquoopeacuteration RESTE de la division
print(ldquoNombre paire trouveacute num)
continue
print(ldquoNombre non premier num)
Base de repreacutesentation des donneacutees
40
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Deacutefinition de fonction (proceacutedure avec retour) def fib(n) Ecrire la suite de Fibonacci jusqursquoagrave n
a b = 0 1
while a lt n
print(a end= )
a b = b a+b
print()
fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
f = fib deacutesignation par reacutefeacuterence f agrave la fonction fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
autre type de deacutefinition de fonction
def ask_ok(prompt retries=4 complaint=Oui or Non srsquoil vou plait )
while True
ok = input(prompt)
if ok in (lsquoo lsquooui lsquoOui)
return True
if ok in (lsquon no non lsquoNon)
return False
retries = retries - 1
if retries lt 0
raise OSError(lsquoUtilisateur non coopeacuteratif)
print(complaint)
Base de repreacutesentation des donneacutees
41
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Lrsquoinstruction lambda def make_incrementeur(n)
return lambda x x + n
f = make_incrementeur(42)
f(0)
42
f(1)
43
un autre cas drsquoutilisation
pairs = [(1 one) (2 two) (3 three) (4 four)]
pairssort(key=lambda pair pair[1])
pairs
[(4 four) (1 one) (3 three) (2 two)]
Les annotations dans une fonction Les annotations deacutefinissent des messages de preacutesentation
def f(chiken str eggs str = eggs) -gt str remarquer que la fonction est de type STR
print(Annotations f__annotations__)
print(Arguments chiken eggs)
return chiken + and + eggs
f(spam)
Annotations chiken ltclass strgt return ltclass strgt eggs ltclass strgt
Arguments spam eggs
spam and eggslsquo
Base de repreacutesentation des donneacutees
42
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les deacutecorateurs python Notre deacutecorateur
def decorate(func)
print uJe suis dans la fonction decorate et je deacutecore s func__name__
print uExeacutecution de la fonction s func__name__
return func
Fonction cible utiliseacutee avec DECORATOR
decorate
def foobar(args)
print join(args)
Exemple drsquoappel de la fonction
foobar(A B C D)
Je suis dans la fonction decorate et je deacutecore foobar
Exeacutecution de la fonction foobar
A B C D
Il est posible drsquoattribuer plusieurs deacutecorateurs agrave une seule fonction
decorateur1
decorateur2
def ma_fonction()
instructions
Base de repreacutesentation des donneacutees
43
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Manipulation des listes a = [6625 333 333 1 12345]
print(acount(333) acount(6625) acount(x))
2 1 0
ainsert(2 -1)
aappend(333)
a
[6625 333 -1 333 1 12345 333]
aindex(333)
1
aremove(333)
a
[6625 -1 333 1 12345 333]
areverse()
a
[333 12345 1 333 -1 6625]
asort()
a
[-1 1 6625 333 333 12345]
apop()
12345
a
[-1 1 6625 333 333]
Base de repreacutesentation des donneacutees
44
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Puissance du langage Python Lrsquoensemble des lignes suiantes peut ecirctre compacteacute par ce qui suit
combs = []
for x in [123]
for y in [314]
if x = y
combsappend((x y))
Combs
Ou bien
[(x y) for x in [123] for y in [314] if x = y]
Donne le mecircme reacutesultat
[(1 3) (1 4) (2 3) (2 1) (2 4) (3 1) (3 4)]
Calcul de la valeur de PI arrondie
from math import pi
[str(round(pi i)) for i in range(1 6)]
[31 314 3142 31416 314159]
Geacuteneacuterateur avec utilisation de YIELD
def generateur()
yield a
yield b
yield cldquo
i=generateur()
for v in i
print v
a
b
c
Base de repreacutesentation des donneacutees
45
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les expressions reacuteguliegraveres en python Les expressions reacuteguliegravere sont utiliseacutees pour veacuterifier la conformiteacute des expressions de
chaines de caractegraveres par rapport agrave un motif Les symboles suivants sont utiliseacutes
^ $ + [ ] | ( )
Le point correspond agrave nimporte quel caractegravere
^ Indique un commencement de segment mais signifie aussi contraire de
$ Fin de segment
[xy] Une liste de segment possible Exemple [abc] eacutequivaut agrave a b ou c
(x|y) Indique un choix multiple type (ps|ump) eacutequivaut agrave ps OU UMP
d le segment est composeacute uniquement de chiffre ce qui eacutequivaut agrave [0-9]
D le segment nest pas composeacute de chiffre ce qui eacutequivaut agrave [^0-9]
s Un espace ce qui eacutequivaut agrave [ tnrfv]
S Pas despace ce qui eacutequivaut agrave [^ tnrfv]
w Preacutesence alphanumeacuterique ce qui eacutequivaut agrave [a-zA-Z0-9_]
W Pas de preacutesence alphanumeacuterique [^a-zA-Z0-9_]
Est un caractegravere deacutechappement T2 Le T soit reacutepeacuteteacute 2 fois
TA19 La seacutequence TA doit ecirctre preacutesente de 1 agrave 9 fois
TAM10 La seacutequence TAM nrsquoexiste pas ou reacutepeacuteteacutee 10 fois
LI1 La seacutequence LI doit ecirctre reacutepeacuteteacutee au moins une fois
Base de repreacutesentation des donneacutees
46
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les expressions reacuteguliegraveres en python Utilisation des expressions reacuteguliegravere
import re
print rematch(rGR()S GRIS)
lt_sreSRE_Match object at 0x02019DE0gt
Une utilisation freacutequente consiste en la validation des valeurs des emails saisis
Utilisation des expressions reacuteguliegravere
import re
mails = [lsquomtamaligmailcomrsquorsquoutmbuniv-bechardzrsquo lsquo8freefrrsquo lsquouniv-bechardzrsquo lsquotamalicdtarsquo]
regex = recompile(rrsquo^[a-z0-9_-]+[a-z0-9_-]+[(com|fr|dz)]+rsquo
for mail in mails
if regexmatch(mail) is not None
print Ce mail s est valide mail
else
print Erreur ce mail s est non valide mail
Ce mail mtamaligmailcom est valide
Ce mail utmbuniv-bechardz est valide
Ce mail 8freefr est valide
Erreur ce mail univ-bechardz est non valide
Erreur ce mail tamalicdta est non valide
Base de repreacutesentation des donneacutees
47
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Les fichiers Creacuteer lire et eacutecrire dans un fichier en python Utilisation des expressions reacuteguliegravere
fichier = open(donneestxt r)
print fichier
ltopen file lsquodonneestxt mode r at 0x7ff6cf3fe4b0gt
Le descripteur permet de renseigner la machine sur la maniegravere avec laquelle le fichier est utiliseacute
r pour ouverture en mode READ
w pour ouverture en mode WRITE chaque fois le contenu du fichier est eacutecraseacute sinon python le creacutee
a pour ajout lsquoAPPENDrsquo Si le fichier nexiste pas python le creacutee
b Ouverture en mode Binaire
t Ouverture en mode Texte
x creacutee un nouveau fichier et louvrir pour eacutecriture
proceacutedure geacuteneacuterale pour lrsquoutilisation drsquoun fichier
fichier = open(lsquodonneestxtrsquo r)
print fichierread()
fichierclose()
Lrsquoinstruction WITH peut ecirctre utiliseacutee sans besoin de la fonction CLOSE
with open(datatxt r) as fichier
print fichierread()
Base de repreacutesentation des donneacutees
48
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
49
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Le langage Python est un langage script interpreacuteteacute Le programme portant lrsquoune des extension py pyw ou pwc est
structureacute selon le canevas suivant
Les codifications
usrbinpython27
--codingencodage -
Les imports des librairies
Les instructions
Le langage Python passe pour ecirctre exeacutecuteacute sur deux eacutetapes la premiegravere UNE PRECOMPILATION geacuteneacuteration du code
machine et finalement un eacutecriture en code machine exeacutecutable (selon la machine)
Lrsquoenvironnement drsquoexeacutecution des scripts eacutecrits en Python regroupe les avantages des TRADUCTEURS (travaille en ligne par
ligne) et les COMPILATEURS (puissance de la structure algorithmique)
La bibliothegraveque cx_Freeze sert agrave transformer les fichiers scripts Pyhon py en exeacutecutable exe
Structures algorithmique du python
50
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
51
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Matrices amp Systegravemes lineacuteaires
52
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
53
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
54
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
55
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
56
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
57
Le calcul scientifique
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58
Reacutefeacuterences L-V Bertallanfy lsquoGeneral System Theoryrsquo Edition MASSON 1972
58