Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
Exécution d’un programme python
Langage de haut niveau ( “loin du hardware” )
Types de données
Fonctions de base Généraliste : nombreux domaines d’application (calcul numérique ,
Définir ses propres fonctions
Conclusions administration système, développement web, jeux ...)
Liste d’outils pour le
calcul et l’analyse de
multi paradigme : procédural, orienté objet, fonctionnel
données
Modules du projet Scipy
Gestion mémoire automatique (garbage collection)
Intégration de code C et fortran
.
Très grande bibliothèque standard
Syntaxe orientée sur la lisibilité du code
Plusieurs contextes d’utilisation: Interface interactive (shell) > scripts >
programmes > bibliothèques (modules)
Le langage Premières versions du langage datent du début des années 90. Version 1.0 :
Exécution d’un programme python
Types de données 1994.
Fonctions de base
Définir ses propres fonctions
Conclusions
Python 2.0 : 2000
Liste d’outils pour le Aujourd’hui deux versions co-existent:
calcul et l’analyse de
données python 2.7 : Dernière version de la série des 2.x, la plus utilisée (ici aussi)
Modules du projet Scipy
Intégration de code C et fortran
python 3.0 : version destinée à corriger certaines erreurs de design qui
.
nécessitent de casser la compatibilité.
Certaines bibliothèques (modules) dont nous parlerons sont compatibles 2.7 pas
3.x
Il existe un outil de conversion automatique 2to3 qui semble assez efficace (non
testé).
Le langage
Exécution d’un programme python Avant: développement C et R exclusivement
Types de données
Fonctions de base Volonté d’apprendre un langage de haut niveau pour:
Définir ses propres fonctions
Conclusions Manipuler / formater des fichiers rapidement
Liste d’outils pour le Développer rapidement. Tester des idées.
calcul et l’analyse de
données
Modules du projet Scipy
Apprentissage très rapide, coder est agréable
.
Intégration de code C et fortran
Exécution suffisamment rapide
Réutilisation du code simple
Aujourd’hui: remplace 99.9% du C et 80% du R (subsiste
pour plot + packages spécifiques)
Le langage
Exécution d’un programme python
Types de données
Les principes
Fonctions de base
Définir ses propres fonctions
Conclusions
There should be one – and preferably only one – obvious way to do it
Liste d’outils pour le Beautiful is better than ugly
calcul et l’analyse de
données
Modules du projet Scipy
Explicit is better than implicit
.
Intégration de code C et fortran
Simple is better than complex
Complex is better than complicated
Readability counts
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Déroulement
L’interpréteur python compile programme.py en un bytecode (indépendant
du système)
Le bytecode est exécuté par une Machine Virtuelle.
Le langage
Exécution d’un programme python
Types de données Pas d’étape de compilation explicite : l’environnement d’exécution et de
Fonctions de base
Définir ses propres fonctions
développement sont les mêmes.
Conclusions
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
Exécution d’un programme python
Types de données
Fonctions de base Actions
Définir ses propres fonctions
Conclusions
.
Intégration de code C et fortran
Répétition : "Il n'a " + 'jamais '*2 + 'connu de loi'
Exemples de surcharge d’opérateurs
Le langage
Exécution d’un programme python
Les chaînes ne sont pas modifiables (immutable):
Types de données
Fonctions de base >>> titre [0]= 'B'
Définir ses propres fonctions
Conclusions Traceback (most recent call last ):
Liste d’outils pour le File "<stdin >", line 1, in <module >
calcul et l’analyse de
données
TypeError : 'str ' object does not support item assignment
Modules du projet Scipy
.
Intégration de code C et fortran
Pour modifier, il faut créer :
>>> titre ='B'+titre [1:]
>>> titre
'Barmen '
Comptage : '0001100110'.count('0') → 6
Exécution d’un programme python
Types de données
Fonctions de base
Définir ses propres fonctions
Conclusions
Recherche : opérateur in méthodes find , index
Liste d’outils pour le >>> s='genes .csv '
calcul et l’analyse de
données >>> '.' in s , s.find('.'), s.index('.')
Modules du projet Scipy
Intégration de code C et fortran
(True , 5, 5)
.
>>> ',' in s , s.find(',')
(False , -1)
>>> s.index (',')
Traceback (most recent call last ):
File "<stdin >", line 1, in <module >
ValueError : substring not found
Le langage
Exécution d’un programme python
Types de données
Fonctions de base
Définir ses propres fonctions Le type list est un des types les plus utilisés en python
Conclusions
.
Intégration de code C et fortran (liste de listes de listes)
Actions similaires à celles vues sur les chaînes
Le langage
Exécution d’un programme python
>>> L
Types de données
Fonctions de base
['14 ', 14231363 , 14232541 , 'ENSOARG00000002239 ', 'MC1R ']
Définir ses propres fonctions >>> del L[3] ## suppression
Conclusions
>>> L
Liste d’outils pour le
calcul et l’analyse de ['14 ', 14231363 , 14232541 , 'MC1R ']
données
Modules du projet Scipy
>>> L2
.
Intégration de code C et fortran ['13 ', 63237431 , 63242627 , 'ASIP ']
>>> genes =[L,L2] ### liste de listes
>>> genes
[[ '14 ', 14231363 , 14232541 , 'MC1R '],
['13 ', 63237431 , 63242627 , 'ASIP ']]
Le langage
>>> new_gene
Exécution d’un programme python ['6', 70189729 , 70234612 , 'KIT ']
Types de données
Fonctions de base
>>> genes. append ( new_gene )
Définir ses propres fonctions
Conclusions
>>> genes
Liste d’outils pour le
[[ '14 ', 14231363 , 14232541 , 'MC1R '],
calcul et l’analyse de ['13 ', 63237431 , 63242627 , 'ASIP '],
données
Modules du projet Scipy ['6', 70189729 , 70234612 , 'KIT ']]
.
Intégration de code C et fortran
>>> mygene = genes .pop () ## renvoie et supprime le dernier élémen
>>> mygene
['6', 70189729 , 70234612 , 'KIT ']
>>> genes
[[ '14 ', 14231363 , 14232541 , 'MC1R '],
['13 ', 63237431 , 63242627 , 'ASIP ']]
Le langage
>>> glen.keys ()
Exécution d’un programme python ['MC1R ', 'KIT ', 'ASIP ']
Types de données
Fonctions de base
>>> glen. values ()
Définir ses propres fonctions
Conclusions
[1178 , 44883 , 5196]
Liste d’outils pour le
>>> glen. items () ## liste de tuples
calcul et l’analyse de [( 'MC1R ', 1178) , ('KIT ', 44883) , ('ASIP ', 5196)]
données
Modules du projet Scipy >>> len(glen)
.
Intégration de code C et fortran
3
>>> for g in glen.keys ():
... print g,'\t',glen[g]
MC1R 1178
KIT 44883
ASIP 5196
Le langage
Exécution d’un programme python
Types de données
Fonctions de base
>>> glen. items () ## rappel
Définir ses propres fonctions
Conclusions
[( 'MC1R ', 1178) , ('KIT ', 44883) , ('ASIP ', 5196)]
Liste d’outils pour le
## création a partir d'une liste de tuples
calcul et l’analyse de >>> dict(glen. items ())
données
Modules du projet Scipy {'MC1R ': 1178 , 'ASIP ': 5196 , 'KIT ': 44883}
.
Intégration de code C et fortran
## Warning : Ça commence à devenir moche :(
>>> dict ([ (g[-1],g[2]-g[1]) for g in genes ])
{'MC1R ': 1178 , 'KIT ': 44883 , 'ASIP ': 5196}
Le langage
Exécution d’un programme python Le type d’objet file sert à manipuler les fichiers dans des programmes
Types de données
Fonctions de base python.
Définir ses propres fonctions
Conclusions Ces objets sont créés avec la fonction open.
Liste d’outils pour le
calcul et l’analyse de Ils fournissent des méthodes pour travailler sur les fichiers
données
Modules du projet Scipy
.
Intégration de code C et fortran >>> input=open('small_gene_list .csv ','r') ## r: read , par défau
>>> input=open('small_gene_list .csv ')
>>> input. close ()
>>> output =open('/tmp/ small_gene_list .tsv ','w') ## write
>>> output =open('/tmp/ small_gene_list .tsv ','a') ## append
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
.
Intégration de code C et fortran 42
>>> int (2.8)
2
str(o) Renvoie une chaine de caractère repésentant l’objet o.
>>> str (10)
'10 '
Le langage
Exécution d’un programme python
>>> L= range (100000000000) ## trop gros passera pas
Types de données
Fonctions de base
Traceback (most recent call last ):
Définir ses propres fonctions File "<stdin >", line 1, in <module >
Conclusions
MemoryError
Liste d’outils pour le
calcul et l’analyse de >>> L= xrange (100000000000)
données
Modules du projet Scipy
>>> for x in L:
.
Intégration de code C et fortran if x < 10:
print x,
else:
break
0 1 2 3 4 5 6 7 8 9
Le langage
Exécution d’un programme python Fonction générique de tri de liste (d’iterables)
Types de données
Fonctions de base
Définir ses propres fonctions
>>> sorted (glen.keys ()) ## ['ASIP ', 'KIT ', 'MC1R ']
Conclusions >>> sorted (glen. values ()) ## [1178 , 5196 , 44883]
Liste d’outils pour le >>> sorted (glen. values (), reverse =True) ## [44883 , 5196 , 1178]
calcul et l’analyse de
données
Modules du projet Scipy Arguments optionnels:
Intégration de code C et fortran
.
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage Une fonction est définie avec le mot clef def. Il est suivi du nom de la fonction
Exécution d’un programme python
Types de données et d’une liste entre () de ses arguments.
Fonctions de base
Définir ses propres fonctions
Conclusions
>>> def droite (x): # Ecrit le résultat de 2x+1
Liste d’outils pour le
... """ Ecrit le résultat de 2x+1 """
calcul et l’analyse de ... print 2*x+1
données
Modules du projet Scipy
>>> x= droite (2)
.
Intégration de code C et fortran
5
>>> x
>>> print x
None
>>> help( droite ) ## grace à la docstring
Le langage
Exécution d’un programme python return
Types de données
Fonctions de base
Définir ses propres fonctions
Le mot clef return permet de renvoyer la valeur de la fonction. S’il est omis, ou
Conclusions n’est pas suivi d’une expression, la fonction renvoie la valeur None.
Liste d’outils pour le
calcul et l’analyse de >>> def droite (x): # Renvoie le résultat de 2x+1
données
Modules du projet Scipy ... """ Renvoie le résultat de 2x+1 """
.
Intégration de code C et fortran
... return 2*x+1
>>> x= droite (2)
>>> x
5
Le langage De petites fonctions anonymes peuvent être créées en utilisant le mot clef
Exécution d’un programme python
Types de données lambda. Elles ne doivent être constituées que d’une seule expression.
Fonctions de base
Définir ses propres fonctions
Conclusions Exemple: Tri des items d’un dictionnaire
Liste d’outils pour le
calcul et l’analyse de
données >>> glen. items ()
Modules du projet Scipy
[( 'ASIP ', 5196) , ('MC1R ', 1178) , ('KIT ', 44883)]
Intégration de code C et fortran
.
>>> sorted (glen. items (), key= lambda i: i[0])
[( 'ASIP ', 5196) , ('KIT ', 44883) , ('MC1R ', 1178)]
>>> sorted (glen. items (), key= lambda i: i[1])
[( 'MC1R ', 1178) , ('ASIP ', 5196) , ('KIT ', 44883)]
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
Exécution d’un programme python
Types de données
Fonctions de base
Définir ses propres fonctions
Conclusions
$ python
Liste d’outils pour le
calcul et l’analyse de
Python 2.7.6 (default , Mar 8 2014 , 08:59:18)
données ....
.
Modules du projet Scipy
Intégration de code C et fortran
>>> print " Hello World "
Hello World
>>>
Le langage
Exécution d’un programme python
script.py
Types de données
Fonctions de base
Définir ses propres fonctions #!/ usr/bin/env python
Conclusions
print " Hello World "
Liste d’outils pour le
calcul et l’analyse de
données
Modules du projet Scipy
.
Intégration de code C et fortran Execution
python script .py
chmod +x script .py
./ script .py
Le langage
Exécution d’un programme python Importer tout le module
Types de données
Fonctions de base
Définir ses propres fonctions
Conclusions
import bonjour
Liste d’outils pour le
bonjour . dis_bonjour ()
calcul et l’analyse de
données
.
Modules du projet Scipy
Intégration de code C et fortran
Importer un sous ensemble de fonctions
Le langage
Exécution d’un programme python Syntaxe
Types de données
Fonctions de base Autres types
Définir ses propres fonctions
Conclusions
Programmation Objet
Liste d’outils pour le
calcul et l’analyse de Exceptions
données
Modules du projet Scipy
Intégration de code C et fortran
Modules de la bibliothèque standard
.
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
Exécution d’un programme python Numpy est un ensemble de modules (package) dédié au calcul numérique en
Types de données
Fonctions de base
python
Définir ses propres fonctions
Conclusions Basé sur un nouveau type d’objet : le tableau (array) multidimensionnel
Liste d’outils pour le
calcul et l’analyse de
homogène. Il est associé à un type (entier, flottant, complexe ...).
données
Modules du projet Scipy
Des modules numpy fournissent des fonctions pour le calcul numérique, en
.
Intégration de code C et fortran particulier:
Algèbre Linéaire (numpy.linalg): calcul matriciel, décompositions, résolution
d’équations
Echantillonage aléatoire (numpy.random): Générateurs de nombres aléatoires,
principales distributions, permutations, mélanges
Le langage
Exécution d’un programme python Packages pour certaines analyses plus spécialisées. En particulier, pour
Types de données
Fonctions de base l’analyse de données génétiques on peut mentionner les packages :
Définir ses propres fonctions
Conclusions scikit-learn: Machine Learning. Stable.
Liste d’outils pour le
calcul et l’analyse de
classification (SVM, random forest ...)
données clustering : k-means, hclust, melange gaussiens ...
Modules du projet Scipy
.
Intégration de code C et fortran regression : ridge, lasso, elastic net, Automatic Relevance Determination ...
Reduction de dimension : PCA, Analyse factorielle
scikit-statsmodel : en developpement, : Modèles linéaires et linéaires
généralisés, ANOVA, tests statistiques ...
Le langage
1 Introduction
Exécution d’un programme python
Types de données
Fonctions de base
2 Le langage
Définir ses propres fonctions
Conclusions
Exécution d’un programme python
Liste d’outils pour le Types de données
calcul et l’analyse de
données
Fonctions de base
Modules du projet Scipy
Intégration de code C et fortran
Définir ses propres fonctions
.
Conclusions
3 Liste d’outils pour le calcul et l’analyse de données
Modules du projet Scipy
Intégration de code C et fortran
Le langage
Exécution d’un programme python Python fournit une interface permettant :
Types de données
Fonctions de base d’écrire des extensions en C
Définir ses propres fonctions
Conclusions d’inclure l’interpréteur dans un programme C.
Liste d’outils pour le Les mains dans le camboui ...
calcul et l’analyse de
données
Modules du projet Scipy
Cython est un logiciel permettant de faciliter l’écriture d’extensions C.
.
Intégration de code C et fortran Convertit automatiquement du code python en code C
Fournit une extension du langage python pour générer du code C plus efficace.
Compatible openMP pour la parallélisation fine du code.
pythran : Meme objectif que cython. Génère du C++
Le langage
Exécution d’un programme python
Types de données
Fonctions de base
Définir ses propres fonctions
Conclusions F2py est un ensemble d’outils permettant de construire des interfaces entre
Liste d’outils pour le
calcul et l’analyse de
fortran et python. Fait partie du projet scipy, dépend de numpy.
données
Modules du projet Scipy
Construire des modules codés en fortran utilisables en python
Intégration de code C et fortran
.
Appeller des fonctions python depuis un code fortran
Le langage
Exécution d’un programme python
Types de données
Python est un langage complet, facile à apprendre
Fonctions de base
Définir ses propres fonctions
Apprentissage progressif:
Conclusions
Interface interactive pour tester /apprendre
Liste d’outils pour le Langage de script pour la manipulation de fichiers
calcul et l’analyse de
données Langage objet pour l’écriture de programmes complets / de bibliothèques
Modules du projet Scipy
.
Intégration de code C et fortran Extension / Optimisation pour le calcul intensif
Packages d’analyse numérique / statistique
Potentiel certain à remplacer R ...
Bon candidat pour l’apprentissage d’un nouveau langage :)