Infoforall

CREER AVEC PYTHON

Vous trouverez les résumés des différentes activités dans la partie FICHES de ce site.

Le MUR des activités est quelques lignes plus bas.

Pour aller plus loin, j'ai placé en fin de page une LISTE (non exhaustive) de sites intéressants pour programmer en Python.

Enfin, vous trouverez en bas de page une liste récupitulative RECAP des notions vues dans chacune des activités.

L'installation de Python et sa première utilisation sont décrits dans la partie Tutoriel :

python

Python est un langage assez rapide à prendre en main mais d'une puissance considérable. Vous allez pouvoir acquérir de solides connaissances et techniques de programmation et utiliser ses connaissances pour manipuler et créer différents objets.

Les thèmes abordés sont la gestion des images (pour l'infographie et la cryptologie), la gestion des textes et des fichiers texte (pour l'analyse ou la cryptologie), la gestion des graphiques représentatifs et bien d'autres choses encore.

Toutes les activités ont été testées avec Python 3.5 et 3.6.

En cours de rédaction :

C'est déjà bien non ?

Les fiches, résumés et tutos du site sont disponibles via le menu de navigation. Ou par ci-dessous.

Sites traitant de Python :

Ces sites vous mèneront sur des ressources extérieures :

Lien Description
Python Standard Library La présentation totale de Pyhon. Traduit en très grande partie en français même si la page d'accueil est en anglais. J'ai mis le lien vers Python 3.6 mais c'est configurable sur place.
Le site de Gérard Swinnen Le site de l'auteur d'un des livres de référence pour l'apprentissage de Python. Vous y trouverez le lien vers le PDF gratuit en version Creative Commons (Paternité - Pas d'utilisation commerciale - Partage des conditions initiales à l'identique). Le livre se trouve encore en librairie.
Zeste de savoir Evolution non commerciale du Site du Zéro. Le lien pointe vers Python mais on peut y trouver plus de choses.
Openclassrooms Evolution commerciale du Site du Zéro mais la majorité des cours restent gratuits. Le lien pointe vers Python mais on peut y trouver plus de choses.
Apprendre Python Très bon site. Concis et précis, il va à l'essentiel et c'est très pratique lorsqu'on recherche juste une information, une synthaxe ...
developpez.com Une référence pour beaucoup de langages dont Python. Vous y trouverez des tutos mais aussi des présentations des logiciels et bibliothèques utilisant Python (voir Outils Python) et des livres traitant de Python.

Pages importantes à retrouver dans les références Python 3.6 :

Lien Description
Fonctions natives Description des fonctions natives de Python.
Méthodes des strings 4.7.1. String Methods : Description des méthodes applicables aux objets strings.
Formatage des strings 6.1.2. Custom String Formatting et 6.1.3. Format String Syntax.

Liste récapitulative des notions vues dans les activités :

Activité Description
Vous trouverez ici la liste des différentes notions abordées ou réabordées dans l'activité. Il ne s'agit pas de faire un bilan ou un résumé. Pour cela, allez voir la partie Fiche du site qui regroupe les résumés des différentes activités.
01 - Afficher dans la console

Opérateurs +-*/ et % et // et **

Fonction native print


Les INTEGERS et les FLOATS

Les STRING :

Eléments délimitateurs : guillemets

\" \t \n

Concaténation de string


Déroulement séquentiel du programme

Commentaires avec #

Introduction à l'encodage et les deux premières lignes d'un programme Python

Variable, premier contat : simple boîte de stockage ?

Affectation d'une variable avec le signe =


Boucle FOR numérique (introduction rapide)

02 - Lire entrée clavier

Fonction native input renvoyant toujours un string

Fonction native type

Fonctions natives int, float et str


Importation de module

Module os

Les différents types de variables

Permutation

Affectation multiple


IF, ELIF, ELSE

Booléen True et False

Test d'égalité avec ==

WHILE (introduction rapide)


Module random

Fonction du module : randint


break et continue en FAQ

03- Les images

Notion de pixel

Intensité codée en 1 octet (8 bits) (0-255)

Couleur codée en 3 couches RGB (3 octets)

Couleur codée en 4 coucehs RGBA (4 octets)

Taille théorique d'un fichier

BMP - GIF - JPEG - PNG

Importation de Pillow

04 - Modification d'images

Convertir de la la base 2 vers la base 10

Module Pillow ou PIL


1er contact avec les OBJETS

Notion de variable-référence (objet) vs variable-structure

Notion de méthodes

Notion d'attibuts et propriétés


Les TUPLES

Classe Image

Méthodes constructeurs des objets Image : new, open

Méthodes des objets Image : resize, getbands, split, merge, save, getpixel, setpixel, show, paste

Propriétés des objets Image : width, height, size, format

Format 'RGB', 'L' et 'RBGA'

05 - Complément sur les images
06 - Interface graphique

Module tkinter

Classe Tk

Méthodes objets Tk : mainloop, geometry


Classe Label

Classe Button

Classe Entry

Méthodes des widgets : cget, config

Méthodes de placements des widgets : pack, place

Attributs des widgets : text, fg, bg, font, textvariable, image


VARIABLES : explication de la raison du stockage de l'adresse pour expliquer les objets


Classe StringVar et Classe IntVar pour modifier automatiquement l'affichage des widgets qui en dépendent

Méthodes des objets StringVar : get, set

Attribut textvariable des Widgets à utiliser pour donner la référence d'un StringVar


Fonctions (rattachées à un Button) via l'attribut command

Fichier .py vs fichier .pyw


Module ImageTk

Classe PhotoImage


Notion de ramasse-miettes

07 - Compléments Tkinter

Classe Scale

Méthodes : get, set

Attributs : orient, label, variable


Classe Spinbox


Classe Listbox

Méthodes : insert, get, set


Module filedialog de tkinter

Fonction askopenfilename


Problème lié au ramasse-miettes


Attributs des widgets contenant du texte : height, width, anchor, wraplength

08 - Test logique & Boucle for

IF ELIF ELSE

Tests logiques AND, OR, NOT


FOR numérique

in range

FAQ : break pour sortir avant la fin

FAQ : continue pour éviter de finir l'une des itérations


Fonction native chr : transforme un nombre en caractère en suivant l'ASCII puis l'UNICODE

Fonction native len : renvoie le nombre d'éléments dans une struture itérable


STRING : itérable, séquentiel, non mutable

Eléments délimitateurs : guillemets

Lecture d'un caractère d'un string à l'aide des crochets

09 - WHILE et FOR nominatif

WHILE

TRY EXCEPT

FOR nominatif sur les strings ou les listes

FOR numérique + len pour lire les éléments des strings et des listes


STRING : itérable, séquentiel et non mutable

Eléments délimitateurs : guillemets

Méthodes des strings : isnumeric, split, replace

Concaténation

Test d'appartenance avec caractere in "aeyuio"


LISTE : itérable, séquentiel et mutable

Eléments délimitateurs : crochets

Lecture d'un élément à l'aide des crochets

Méthode : append


Fonction native len pour lire le nombre d'éléments dans un string ou une liste


10 - Gestion des STRINGs

STRING : itérable, séquentiel et non mutable

Eléments délimitateurs : guillemets

Lecture d'un string à l'aide d'une boucle FOR nominative

Lecture d'un string à l'aide d'une boucle FOR numérique

Etude de la "modification" des strings : ils sont non mutables

Test d'appartenance avec laPetitString in leGrandString

Méthodes des strings : isnumeric, lower, upper, split, replace, isalpha et en FAQ format


Concaténation

Encodage ASCII sur 7 bits : 128 possibilités de 0 à 127

Encodage UNICODE correspond à celui de ASCII (de 0 à 127)

Fonction native

ord qui permet de connaitre le code UNICODE d'un caractére

id


11 - Les fonctions : les bases

Procédures

Déclaration des fonctions

Arguments : données transmises aux fonctions

Paramètres : variables de réception des arguments transmis aux fonctions

Retour d'informations avec return

Différence entre fonction et méthode


module turtle

module time

module math


Importation des modules

Différence entre import ?? et from ?? import ??


Introduction très rapide aux gestionnaires d'événement

Méthode des widgets : bind

Variable event

12 - Les fonctions : portée des variables

Espace des noms

Notion de variables contenant en réalité l'adresse vers un contenu et pas le contenu lui-même.


On regarde d'abord dans l'espace des noms de l'endroit où l'instruction se trouve

En Python :

on peut lire une variable du "programme" depuis une fonction.

on ne pas modifier une variable du "programme" depuis une fonction.

on ne pas lire une variable d'une fonction ailleurs que dans la fonction elle-même.