Table des matières

Notions avancées

En construction. Les liens sont juste donnés. Une introduction et un exemple devrait être proposé pour chaque rubrique, et le nombre de ces rubriques augmenté.

Itérateurs

Itertools, zip,...

Générateurs et "yield"

Liste en compréhension

One-line if - then - else (ternary operator)

u = 10
v = 100
reponse = "u plus grand que v" if u > v else "v plus grand ou égal à u"
print(reponse)

map, filter, reduce, lambda, pipe

Walrus operator

FIXME

Le rôle du caractère underscore en Python

Transformations et manipulations de chaînes (string)

Manipulations de fichiers

Expressions rationnelles (régulières)

Décorateurs

Context managers

Programmation orienté objet

Page dédiée : Programmation Python Orientée Objet

Divers

Closures

Programmation fonctionnelle

Débogage, debugging

Sous le capot (bytecode,...)

Performances, temps d'exécution, ...

Tests unitaires

Python Scripting

Interface utilisateur graphique (GUI)

emails

smtplib et poplib :

import smtplib 
 
HOST = "smtp.mydomain.com"
SUBJECT = "Test email from Python"
TO = "mike@mydomain.com"
FROM = "python@mydomain.com"
text = "blah blah blah"
BODY = "\r\n".join((
    f"From: {FROM}",
    f"To: {TO}",
    f"Subject: {SUBJECT}",
    "",
    text) 
)
server = smtplib.SMTP(HOST)
server.sendmail(FROM, [TO], BODY)
server.quit() 
import poplib
 
mailbox = poplib.POP3('pop3.host.com')
mailbox.user("USERNAME")
mailbox.pass_("PASSWORD")
numMessages = len(mailbox.list()[1])
for i in range(numMessages):
    for j in mailbox.retr(i+1)[1]:
    print(j) 

Création et gestion de packages

Références