Présentations
Python
Objectifs
Documentation
Environnement
http://www.python.org/dev/peps/pep-0008/
a = 12
b = a
id(a)
142708844
id(b)
142708844
n = None # NoneType : type spécial voulant dire... rien
b = True # bool : booléen... True ou False n'oubliez pas les majuscules
i = 15 # int : entier
f = 15.5 # float : décimal
s = "chaine" # str : chaine de caractère, instancié avec "" ou ''
u = u"chaîne" # unicode : chaîne de caractère unicode, instancié avec u"" ou u''
l = [] # list : liste d'objets (ordonné)
t = () # tuple : liste immuable d'objets
d = {} # dict : dictionnaire de données (unique, non-ordonné), clés-valeurs
ens = {} # set : ensemble (unique, non-ordonné), set([])
coord = (45.30, 73.34)
x, y = coord
str(), int(), float(), bool(), list(), tuple(), dict(), set()
float(a)
12.0
l = [[1,2,3],[4,'salut',6],[7,8,9]]
d = {1611: {'nom':'Baragiotta', 'prenom':'Davin'}, 123: {'nom':'Leduc-Hamel', 'prenom':'Mathieu'}}
l[2]
l[-1]
d[1611]
l[1][1]
'salut'
l[1:2]
[[4, 'salut', 6]]
type() # retourne le type de l'objet
dir() # retourne les noms derrière l'objet
help() # retourne l'aide
callable() # dit si un objet est appelable, exécutable...
def age(annee_naissance):
return 2012 - annee_naissance
def ma_fonction(param1, param2, param3=None, param4=0, *args, **kwargs):
"""Ceci est ma fonction."""
output = True
return output
nom = "Davin Baragiotta"
prenom, nom = nom.split()
nom.upper()
nom.lower()
nom.ljust(30)
nom = [prenom.lower(), nom.lower()]
username = ".".join(nom)
nom = "Davin Baragiotta"
username = ".".join(nom.split()).lower()
users = []
users.append(username)
davin = {'prenom':'Davin', 'nom':'Baragiotta'}
mathieu = {'prenom':'Mathieu', 'nom':'Leduc-Hamel'}
jp = {'prenom':'Jean-Philippe', 'nom':'Caissy'}
personnes = []
personnes.append(davin)
personnes.append(mathieu)
personnes.append(jp)
statuts = [
(1, u'Nouveau'),
(2, u'En cours'),
(3, u'Rejeté'),
(4, u'Retenu'),
]
liste = range(6)
if 5 in liste:
print 'hourra 5'
elif 4 in liste:
print 'hourra 4'
else:
print 'pas hourra'
hourra 5
'hourra 5' if 5 in liste else 'pas hourra'
'hourra 5'
annee = 2012
while annee <= 2015:
print annee
annee = annee + 1 # annee += 1
2012 2013 2014 2015
for i in range(2012, 2016):
print i
2012 2013 2014 2015
class Personne(object):
def __init__(self, nom, prenom, date_naissance=None):
self.nom = nom
self.prenom = prenom
self.date_naissance = date_naissance
def age(self):
# TODO : calculer a partir de la date naissance et aujourd'hui
return self.date_naissance
mathieu = Personne("Leduc-Hamel", "Mathieu")
davin = Personne(prenom="Davin", nom="Baragiotta")
#! /usr/bin/env python
# -*- encoding: utf-8 -*-
def coucou(nom):
return u"Coucou %s!" % (nom,)
if __name__ == '__main__':
print u"--------------------------------------------------"
print u"DÉBUT du script"
print u"--------------------------------------------------"
nom = raw_input("Quel est votre nom? ")
print coucou(nom)
print u"-----------------------------------------------"
print u"FIN du script"
print u"-------------------------------------------------"
-------------------------------------------------- DÉBUT du script -------------------------------------------------- Quel est votre nom? Davin Coucou Davin! ----------------------------------------------- FIN du script -------------------------------------------------
shebang : #! /usr/bin/env python
encoding : # -*- encoding: utf-8 -*-
if __name__ == '__main__':
raw_input()
créer un répertoire projet/contacts
créer dans ce répertoire un script Python nommé form.py qui :
exécution ipython :
run script
-------------------------------------------------- DÉBUT du script -------------------------------------------------- Quel est votre nom? Davin Coucou Davin! ----------------------------------------------- FIN du script -------------------------------------------------
import module
from module import nom
from module import nom as mon_nom
built-in : pas besoin d'import
standard library (shipped with) : import sans installation
pypi : plein de modules à installer qui n'attendent qu'à être importés
from datetime import datetime
date = datetime.now()
print date
#annee = ??
2013-09-19 15:53:30.559746
import sys
sys.path
['', '/home/giotta/machina/venv/mtlpy/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg', '/home/giotta/machina/venv/mtlpy/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg', '/home/giotta/machina/venv/mtlpy/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg', '/home/giotta/machina/venv/mtlpy/lib/python2.7/site-packages/pip-1.1-py2.7.egg', '/home/giotta/machina/venv/mtlpy/lib/python2.7', '/home/giotta/machina/venv/mtlpy/lib/python2.7/plat-linux2', '/home/giotta/machina/venv/mtlpy/lib/python2.7/lib-tk', '/home/giotta/machina/venv/mtlpy/lib/python2.7/lib-old', '/home/giotta/machina/venv/mtlpy/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/home/giotta/machina/venv/mtlpy/local/lib/python2.7/site-packages', '/home/giotta/machina/venv/mtlpy/lib/python2.7/site-packages', '/home/giotta/machina/venv/mtlpy/local/lib/python2.7/site-packages/IPython/extensions']
import lib
mon_annee_naissance = 1975
lib.age(mon_annee_naissance)
--------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-22-15d8a38ba137> in <module>() ----> 1 import lib 2 mon_annee_naissance = 1975 3 lib.age(mon_annee_naissance) ImportError: No module named lib
age
dans tests.py pour la testernltk
pattern
installer avec pip
pip = pip installe python
for n in range(10):
print "La puissance 2 de %d est : %d" % (n, n**2)
for p in personnes:
print "Bonjour %s %s" % (p['prenom'], p['nom'].upper())
La puissance 2 de 0 est : 0 La puissance 2 de 1 est : 1 La puissance 2 de 2 est : 4 La puissance 2 de 3 est : 9 La puissance 2 de 4 est : 16 La puissance 2 de 5 est : 25 La puissance 2 de 6 est : 36 La puissance 2 de 7 est : 49 La puissance 2 de 8 est : 64 La puissance 2 de 9 est : 81 Bonjour Davin BARAGIOTTA Bonjour Mathieu LEDUC-HAMEL Bonjour Jean-Philippe CAISSY
try:
15/0
except (ZeroDivisionError,), e:
print "Diviser par zéro c'est mal, vous voyez?"
print e
f = open('texte.txt')
for line in f.readlines():
print line,
f.close()
Python est un langage que j'aime et, paraît-il, son nom serait dérivé du groupe d'humoristes britanniques Monty Python et non de l'espèce de serpent ayant pour nom "python"
f = open("texte.txt")
lignes = f.readlines()
f.close()
cible = 'python'
contexte = [ligne for ligne in lignes if cible in ligne]
commentaires = [ligne for ligne in lignes if ligne.startswith('#')]
import pickle
f = open('pickles', 'w')
pickle.dump(statuts, f)
pickle.dump(personnes, f)
f.close()
exit()
import pickle
f = open('pickles')
pickle.load(f)
#objets = []
#for obj in pickle.load(f):
# objets.append(obj)
f.close()
import antigravity
documentation + interactivité + introspection
scripts + modules + import
communauté pour aider
Montréal-Python :
enjoy!
Créer un script flux.py dans le répertoire projet/actualites qui retournera les 5 dernières actualités affichées sur le site de Montréal-Python : http://montrealpython.org/fr/feed/
Prenez le temps de coder vous-même une solution... ... ensuite vous pouvez comparer avec : le solutionnaire
Pour info, la solution ne fait que 8 lignes Python.