Modifications entre les versions 4 et 5
Version 4 à la date du 2012-02-23 23:29:30
Taille: 1651
Éditeur: DavinBaragiotta
Commentaire:
Version 5 à la date du 2012-02-23 23:41:52
Taille: 2080
Éditeur: DavinBaragiotta
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


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
  • email
  • 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


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!

Ateliers/2012-02-24/Python/Plan (dernière édition le 2012-08-27 07:27:18 par DavinBaragiotta)