Archive:Atelier Python 2009

De Centre de Ressources Numériques - Labomedia
Aller à : navigation, rechercher

Atelier Python 27 avril - 30 avril 2009

Programme prévisionnel

Proposition d'organisation d'un workshop consacré à Blender durant la seconde semaine de vacances de Pâques.
du 27 avril au 1 mai

Interaction temps réel / utilisation de l'outil GameLogic
  • les bases de la relation entre les différentes composantes du module
  • l'export en .exe
  • temps réel en multi utilisateurs
  • les différents moteurs de jeu
Programmation Python
  • découverte / philosophie / les bases de la programmation objet
Animation ++
  • production d'actions / NLA Editor
  • animation de visages
  • animation de tissus


Ressources de base

Ressources en ligne

svn co svn://88.191.62.149:5020/orlosc/notes_ateliers/0904_labomedia
  • Premiers exercices : type de variables, ...
>>> nb = 3.22 >>> int(nb) >>> str(nb) >>> type(nb) >>> type(2.)
/!\ Déclaration de variables à la volée, si l'on veut travailler avec des floats, rajouter un "."

Trouver de l'aide

  • Lister les modules
>>> help()
help> modules
help> keywords
CTRL+D pour sortir de l'aide
dir(s2) donne la liste des fonctions applicables à l'objet s2

Tuple ()

Il s'agit d'affectation statique : pas possibilité de modifier le contenu de ce tuple

>>> fruits = ('pomme', 'poire', 'banane')
>>> fruits
('pomme', 'poire', 'banane')
>>> for n in fruits: print(n)
... 
pomme
poire
banane
>>> fruits[1]
'poire'
>>>

Les tableaux, listes []

Avec les tableaux et les listes, on peut tout manipuler

  • Pour convertir un Tuple >>> fruits=liste(fruits)
  • Pour insérer
>>> fruits.insert(0, 'prune')
>>> fruits
['prune', 'pomme', 'poire', 'banane', 12]
  • Pour ajouter en bout de liste
>>> fruits.append('kiwi')
>>> fruits
['prune', 'pomme', 'poire', 'banane', 12, 'kiwi']
  • Pour remplacer un élément de la liste
>>> fruits[3]='coco'
>>> fruits

['prune', 'pomme', 'poire', 'coco', 12, 'kiwi']

Les dictionnaires

Associer des éléments ssous la forme d'un dictionnaire, /!\ le dictionnaire est non ordonné et ne dépend pas de l'ordre initial

>>> arbres2fruits = {'pommier':'pomme', "l'arbre du voisin":'poire', ('citronnier', 'oranger'):'agrumes'}

on ne peut indexer (le 1er terme) qu'avec des clefs solides cad tuple mais pas liste par exemple

Les ensembles

équivalent à un sac d'éléments uniques, permet notamment d'enlever les doublons

>>> s1 = set([1,2,3,4,1])
>>> s1
set([1, 2, 3, 4])
>>> list(s1)
[1, 2, 3, 4]
>>> l = list(s1)
>>> l.sort()
>>> l
[1, 2, 3, 4]
>>> s2 = set([4,5,5,6,7])
>>> s2.intersection(s1)
set([4])

Les boucles

Ressource : les pages du site python.org recense tous les modules http://docs.python.org/library/os.html#module-os

>>> import os
>>> help(os)
pour avoir la liste des objets os

Modules

os est un "module"
bibliothèque regroupe plusieurs modules (type os)

  • pour trouver/installer des modules externes à Python http://pypi.python.org/pypi
  • Pour installer un nouveau module : via synaptic, via easyinstall, ou en téléchargeant le tarball et en faisant python setup.py dans le répertoire décompressé
>>> import os
>>> os.uname()
('Linux', 'benjamin-laptop', '2.6.24-19-rt', '#1 SMP PREEMPT RT Thu Aug 21 02:08:03 UTC 2008', 'i686')
>>> import platform
>>> platform.platform()
'Linux-2.6.24-19-rt-i686-with-debian-lenny-sid'
>>> math.sin.__doc__ : affiche l'aide de la fonction sin : __doc__ est une fonction interne

Les Fonctions

On utilise une fonction dès qu'une suite d'opérations doit s'effectuer de façon répétée sur des variables qui ne sont pas à priori connues. textecopier/collerimprimer Les variables restent locales à la fonction

def simpliste(chaine):  
    import random  
    return chaine*random.randint(1,20)  
simpliste('ha')  
simpliste('ho')