Академический Документы
Профессиональный Документы
Культура Документы
Une introduction
ageDeEricPraline = 50
ageDeHenryWensleydale = 20
# Test
if 0 > ageDeEricPraline > 150 or ageDeEricPraline > ageDeHenryWensleydale:
print("l'age de Eric Praline est incorrect")
#echange : swap
ageDeHenryWensleydale, ageDeEricPraline = ageDeEricPraline,ageDeHenryWensleydale
print("age de Henry Wensleydale = %d , age de Eric Praline = %d" %
(ageDeHenryWensleydale,ageDeEricPraline))
#>>>
#l'age de Eric Praline est incorrect
#age de Henry Wensleydale = 50 , age de Eric Praline = 20
# Les listes :
maListeDeMeubles = ['table','chaise','frigo']
maListeDeMeubles.sort() #Tri de la liste
for unMeuble in maListeDeMeubles:
print('longueur de la chaîne ', unMeuble, '=', len(unMeuble))
#Les dictionnaires :
unAnnuaire = {'Laurent': 6389565, 'Paul': 6356785}
for unNom, x in unAnnuaire.items():
print("le nom %s a pour numéro de téléphone %d" %(unNom, x))
# Par ODBC :
import dbi, odbc
connexion = odbc.odbc('mondsn/monlogin/monpassword')
leCurseur = connexion.cursor()
leCurseur.execute('select clientid, name, city from client')
print(leCurseur.fetchall())
import urllib
print(urllib.urlopen)
import ftplib
uneSessionFTP = ftplib.FTP( host = '198.12.45.123',
user = 'MonLogin',
passwd = 'MonMotDePasse')
unFichier = open('monFichier.txt','rb')
uneSessionFTP.storbinary( 'STOR monFichier.txt', unFichier ) #envoi du fichier
unFichier.close()
uneSessionFTP.quit()
import math
from pylab import plot, axis, savefig, show, title
plot( [1,2,3,4],
[1,4,9,16])
axis( [1, 4, 0, 16] )
title( 'ma courbe' )
savefig( 'c:\\uneCourbeSauvee.png' )
show()
Utilitaires de la bibliothèque standard
#Encodage d'une image binaire sous forme de chaîne (Pour les protocoles qui
n'acceptent que l'ASCII)
lesDonneesImage = open('uneImage.gif','rb').read()
laChaineZippee = lesDonneesImage.encode('zlib').encode('base64')
import smtplib
from email.MIMEText import MIMEText
IPduServeur = 'localhost'
monFichierMail = open ('monMailAEnvoyer.txt', 'rb') # lecture du fichier
leMessage = MIMEText ( monFichierMail.read() ) # création d'un message
text/plain
monFichierMail.close()
Classe
class Fruit :
def __init__(self) :
pass
class Pomme(Fruit):
"""
Cette classe représente une pomme.
"""
Mangeurs = ["Jacques", "Nicolas","Virgile"]
def couleur(self):
"""
Retourne la couleur de la Pomme.
"""
return self._couleur
petitePomme = Pomme("verte")
petitePomme.comestible("Pierre") # Pierre n'aime pas les pommes
petitePomme.comestible("Nicolas") # Nicolas mange des pommes
On remarque notamment la présence de documentation (optionnelle bien sûr) directement dans le code. La
commande help() permet d'obtenir, dans l'interpréteur Python, cette aide directement :
>>> help(Pomme)
donne :
class Pomme(Fruit)
| Cette classe représente une pomme.
|
| Methods defined here:
|
| __init__(self, couleur)
| Pour construire une Pomme, donnez sa couleur.
|
| comestible(self, mangeur)
| Dit si la pomme est comestible ou non,
| en fonction du mangeur.
|
| couleur(self)
| Retourne la couleur de la Pomme.
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| Mangeurs = ['Jacques', 'Nicolas', 'Virgile']
WMI (sous Windows 2000/XP)
import wmi
controler = wmi.WMI ()
for unProcessus in controler.Win32_Process ():
print (unProcessus.ProcessId, unProcessus.Name)
import wmi
controler = wmi.WMI (computer = "Nom_Machine_Distante",
privileges = ["RemoteShutdown"] )
os = controler.Win32_OperatingSystem (Primary=1)[0]
os.Reboot ()
Automation Win32
catiaApplication = win32com.client.Dispatch("CATIA.Application")
monDocument = catiaApplication.ActiveDocument.Product
nombreDeProduit = monDocument.Products.Count
ctypes
import ctypes
# modification du fond d’écran de windows
SPI_SETDESKWALLPAPER = 20
ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER,
0,
"C:\\Mes documents\\Mes
images\\maPhoto.bmp" ,
0)
# Resolution de l'écran
SM_CXSCREEN = 0
SM_CYSCREEN = 1
taille_x = ctypes.windll.user32.GetSystemMetrics(SM_CXSCREEN)
taille_y = ctypes.windll.user32.GetSystemMetrics(SM_CYSCREEN)
print ("La résolution d'écran est %d par %d" % (taille_x, taille_y))
unReseauBayesiens = Bayes()
uneListeDePropositions = [('math', 'on fait des calculs , des additions,
des multiplications'),
('math', '3 + 4 = 7 ; 10 + 7 = 17 ; 99/11 = 9'),
('math', '12 + 10 -5 = 17 ; 70-10 = 60'),
('math', 'le carré des 2 cotés du triangle sont
liés par une relation'),
('math', 'la fonction sinus ( sin ) sert à
représenter les phénomènes cycliques'),
('math', 'sin (PI) = 3.14159 et cosinus (0) = 1'
),
('philosophie', 'je disserte sur le sens de la vie'),
('philosophie', 'être ou ne pas être, telle est la
question'),
('philosophie', 'je sais que je ne sais rien'),
('philosophie', 'les phénomènes sont réels à condition
que nous le souhaitions'),
('philosophie', 'la raison est-elle toujours
raisonnable ?'),
('philosophie', 'le cerveau peut-il être compris ?'),
('philosophie', "l'univers peut-il être l'objet de
connaissance ?"),
('philosophie', 'le calcul a-t-il des limites
intrinsèques ?'),
('philosophie', "une relation peut être durable si
l'homme la souhaite")]
# Résultats :
# la phrase 'voici un résultat : 66/6 = 11 ' est de catégorie 'math' avec une
probabilité de '99 /100'
# la phrase 'je ne saurais dire s'il pourra tout comprendre ... ' est de catégorie
'philosophie' avec une probabilité de '99 /100'
# la phrase 'le phénomène de la pluie pourrait être d'origine divine' est de
catégorie 'philosophie' avec une probabilité de '92 /100'
# la phrase 'la représentation bourbakiste des chiffres assure leur détermination'
est de catégorie 'philosophie' avec une probabilité de '55 /100'
Ce script calcule les nombres premiers inférieurs à 200 en appliquant la méthode du crible d'Ératosthène.
Voici une version algorithmiquement équivalente mais beaucoup plus rapide qui exploite la puissance du type
liste de Python :
N, nombre = 1000, 2
liste, liste[1] = range(N+1), 0
uneFonction.compteur = 10
print ("la classe Fourmi a pour classe mère :" + str ( Fourmi.__bases__))
Graphique
Tkinter
Cet exemple montre comment se servir de la bibliothèque Tkinter pour créer une interface graphique.
Cet exemple crée en WxPython une fenêtre et un boite modale sur appui bouton - l'utilisation d’éditeur
WYSIWYG comme glade ou boa constructor est recommandée pour les grandes applications
def OnClick(self,event):
self.unChampText.SetLabel('ApresLeClic') # sur appui bouton, modifier
le champ texte
b = wxMessageDialog( self, "Une Boite de dialogue","titre", wxOK)
b.ShowModal() # montrer un e boite de
dialogue
b.Destroy()
monApplication = wxPySimpleApp()
maFenetre = wxFrame(None, -1, "Titre de l Application")
PanneauPerso ( maFenetre , -1)
maFenetre.Show(1)
monApplication .MainLoop()
Récupérée de « https://fr.wikibooks.org/w/index.php?
title=Programmation_Python/Exemples_de_scripts&oldid=639490 »
Les textes sont disponibles sous licence Creative Commons attribution partage à l’identique ; d’autres termes peuvent
s’appliquer.
Voyez les termes d’utilisation pour plus de détails.