intiation python, avril 2003 introduction présenter python –simplicité –utilisation pratiques...

Post on 03-Apr-2015

109 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

intiation python, avril 2003

introduction

• Présenter Python– simplicité– utilisation pratiques

• Conserver cette info en ligne

• Susciter des échanges à l’Ircam

intiation python, avril 2003

Plan

• Introduction c’est quoi python? petit historique comparatif

• Un avant-goût Hello.py

La tabulation

• Les mots du langage

• Les structures de données

• Quelques scripts (en ligne) Fichiers et répertoires Récursivité L’audio Les GUIs Mac spécial

• L’installation

• L’éditeur

• Présentation Kasper

intiation python, avril 2003

c’est quoi python?

• langage dit « de script »• son concepteur, Guido Van Rossum, le situe entre le C et le Shell• orienté objet

– un objet est un morceau de code qui possède• des données internes (qui le différencie d’autres objets de même type ou classe)• des fonctions propres ou méthodes (qui permettent notamment de le modifier, ...)

– comme java, c++, ...

• interprété– on peut lancer des commandes de façon interactive – comme basic, logo, matlab, le shell, ...

• modulaire– il est aisé d’importer et de créer de nouveaux modules – de nombreuses bibliothèques sont disponibles (web, xml, bd, audio, image, ...)– le plus dur étant de trouver les bonnes...

• portable– à peu près toutes les plateformes sont supportés– installé d’office sur Linux et MacosX

• License BSD (logiciel libre)• doc partiellement complète car le language est en construction

intiation python, avril 2003

petit historique

• Guido aime bien les mathématiques, la programmation, l’idée de la programmation accessible à tous et les Monthy Python’s Flying Circus...

• A la fin des années 80, Van Rossum commence à travailler sur Python dans l’Institut de Recherche en Mathématique et d’Informatique aux Pays-Bas.

• aujourd’hui Python se porte très bien mais a-t-il atteint sa taille adulte ?– Le noyau évolue encore (recherche de concision et d’élégance)

– aujourd’hui la version est 2.3 (beta)

intiation python, avril 2003

comparatif

• Python vs. C/C++– au moins 10 fois moins de lignes de code– pas besoin de compilation– Python est moins rapide– mais en même temps facilement extensible

• Python vs. Java– moins de lignes de code– avec Jython c'est Java ET Python :)

• Python vs. bash, sh, perl– plus structuré et donc plus lisible

• Python vs. Matlab– plus lisible– plus de libraries générales– pas encore les mêmes fonctionnalités que Matlab (libraries spécialisés, plot)– mais il y a des projets très prometteurs

intiation python, avril 2003

Un avant-goût

• Hello.py• La tabulation

– il n’y a pas de marqueurs de structure comme () ou {}– La structure apparaît grâce au tabulations

• de 4 ou 8 espaces (à bien choisir une fois pour toute)

• pour certains, c’est la fragilité du langage...

• en pratique, tout se passe bien

#hello.pyprint "hello"

% pythonprint "hello"

helloexecfile(‘hello.py’)

hello

intiation python, avril 2003

Les mots

• def• return• if, elif, else• for• while• range• class

intiation python, avril 2003

Les structures de données

• Les chaînes de caractères ' ' ou  " "– strip, find, lower, upper,...

• Les tuples (immutables) ()• Les listes []

– append, insert, pop, index– comprehension

• Les dictionnaires {}– keys, has_key

# list comprehensionfreshfruit = [' banana', ' loganberry ', 'passion fruit '][weapon.strip() for weapon in freshfruit]

['banana', 'loganberry', 'passion fruit']

# dictionariestel = {'jack': 4098, 'sape': 4139}tel['jack']

4098

intiation python, avril 2003

Syntaxe

• Boucles for, while, range• If, else• Definition• Class

intiation python, avril 2003

Quelques scripts

• Fichiers et répertoires

• Mac spécial

• Récursivité

• L’audio

• Les GUIs

intiation python, avril 2003

L’installation

• Sur Mac:– os8/9:

• disponible en binaire avec les bindings vers ressources Mac!

• pb principale réside dans la compilation de modules en C...

– osX: • disponible dans le shell par défaut mais sans tkinter, ni les bindings

vers ressources Mac (à vérifier)

• disponible en binaire pour aqua

• disponible avec fink

• Sur Windows– Des versions binaires de python, zodb, pyxml, snack, ...

• Sur Linux/Unix– Installé par défaut

intiation python, avril 2003

Les éditeurs

• Emacs (mode pour python disponible sur python.org)

• BBedit (Mac classique)

• IDLE, IDLEfork écris en python+tkinter

• Jedit (requiert java)

intiation python, avril 2003

Quelques sites

• http://www.python.org/• Pour les macs: ftp://ftp.cwi.nl/pub/jack/python/mac

• Doc:– http://web.pydoc.org/ (dont l’excellent tutoriel)

• Modules, scripts:– http://www.vex.net/parnassus/

intiation python, avril 2003

audio

• aifc, wave modules internes• snack• pyjack• Nyptho• py/pyext (max, jmax)• IIWU sing• loris• SDIF (diemo) => reste à connecter vers numarray

intiation python, avril 2003

patron

exemple.pydef exemple:

passexecfile(‘exemple.py’)

top related