Taille: 1651
Commentaire:
|
Taille: 2080
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 67: | Ligne 67: |
* pwd {{{ # http://www.python.org/doc/lj21.html import posix import pwd pwd.getpwall() print 'hello', pwd.getpwuid(posix.getuid())[0] # progfou: et autre détail non négligeable pour nous à l'AuF : pwd fait des appels à la libc, qui passe par NSS, donc ça donne aussi les comptes réseau }}} |
|
Ligne 68: | Ligne 77: |
{{{ # socket.getaddrinfo pour faire de la résolution DNS import socket socket.getaddrinfo('smtp.sn.auf.org', 25) }}} |
Python : Atelier intermédiaire
Sommaire
INTRODUCTION
- Objectifs :
- savoir coder ses propres objets
- utiliser la bibliothèque standard et des packages existants
NOTIONS INTERMÉDIAIRES
Orienté-objet et classes
Objet, instance de classe
Attributs et méthodes
- portée : de classe, d'objet
Héritage
- object
si classe hérite : init DOIT appeler init de parent
appel de méthode de parent : ClassParent.methode(self) # self = obligatoire
self
- représentation de l'objet (instance)
- le "this" de Java, PHP
CRUD
__init__
Décorateurs
Exceptions
Lambda
- lambda input: output
lambda x: x*2
Bibliothèque standard
- datetime
- re
- os.system
- os.popen
- os.path
- pickle
- sqlite3
- zlib
- csv
- json
- uuid
- urllib
- gettext
- pdb
- sys
- pwd
# http://www.python.org/doc/lj21.html import posix import pwd pwd.getpwall() print 'hello', pwd.getpwuid(posix.getuid())[0] # progfou: et autre détail non négligeable pour nous à l'AuF : pwd fait des appels à la libc, qui passe par NSS, donc ça donne aussi les comptes réseau
- socket
# socket.getaddrinfo pour faire de la résolution DNS import socket socket.getaddrinfo('smtp.sn.auf.org', 25)
Packages
- pypi
- numpy, scipy
- android
- nltk
- jabberbot
- django
- auf.django.references
- autres
EXERCICE
* modifier iptables * créer un bot jabber
CONCLUSION
- ne pas réinventer la roue : utiliser l'existant
- DIY (do-it-yourself) : pour le reste, faites du "sur mesure"
- yalla!