background preloader

Cours de programmation en langage Python - Spécialité ISN - Terminale S

Cours de programmation en langage Python - Spécialité ISN - Terminale S
Le module Tkinter ("Tk interface") de Python permet de créer des interfaces graphiques (GUI : graphical user interface). De nombreux composants graphiques (ou widgets) sont disponibles : fenêtre (classe Tk), bouton (classe Button), case à cocher (classe Checkbutton), étiquette (classe Label), zone de texte simple (classe Entry), menu (classe Menu), zone graphique (classe Canvas), cadre (classe Frame)... On peut gérer de nombreux événements : clic sur la souris, déplacement de la souris, appui sur une touche du clavier, top d'horloge... Logiciels utilisant Python et sa bibliothèque graphique Tkinter Tkinter est l'interface graphique des logiciels IDLE (environnement de développement intégré pour le langage Python) et PyMOL (logiciel libre de visualisation de structures chimiques en 3D) : Des scripts pour débuter Les exemples qui suivent ont été écrits avec Python version 3. Exemple n°0 : widgets Button et Label Commençons par le traditionnel Hello world ! # script bonjour.pyfrom tkinter import * Related:  informatique

Ressources Python Ressources didactiques Gérard Swinnen Vous trouverez ci-dessous : en téléchargement libre, les versions numériques (Odt, Pdf & Epub) de l'ouvrage "Apprendre à programmer avec Python" de Gérard Swinnen (troisième et cinquième éditions), anciennement publié aux éditions O'Reilly et dorénavant édité chez Eyrolles (ISBN 978-2-212-13434-6) ; le code source des exemples et exercices proposés dans le livre ;les diapositives et le code source des exemples présentés par G.Swinnen au colloque "Libr'East of Paris" (IUT de Marne-la-vallée) les 23 & 24 Avril 2004 ;les diapositives de la conférence sur Python présentée à l'IUT de Vannes (Université de Bretagne Sud), le 15 Avril 2005 ;la traduction du livre en hongrois (+ lien vers le site web du traducteur) ;la traduction du livre en arabe (+ lien vers le site web des traducteurs). Les deux dernières éditions traitent de la version 3 de Python. Au sommaire : Préface. *** Traduction hongroise *** Merci infiniment, Péter ! *** Traduction arabe *** ...

[Python] détecter les touches pressées sur le clavier En fait, j'utilise déjà Tkinter, mais je débute Tant mieux, ça sera rapide à expliquer alors. La pression d'une touche du clavier est un évènement (tout comme un clique de souris d'ailleurs), et un évènement doit être lié à une fonction. from Tkinter import *# création d'une instance de la classe TK, que l'on affecte à l'objet "root" root = Tk()# Quelques exemples de touches root.bind("<Up>", maFonction) # Flèche haut root.bind("<Down>", maFonction2) # Bas root.bind("<Left>", maFonction3) # Gauche root.bind("<Right>", maFonction4) # Droite root.bind("<space>", maFonction5) # barre d'espace root.bind("<a>", maFonction6) # lettre A La fonction ainsi liée est un peu particulière, car elle reçoit toujours un seul argument (l'évènement), que l'on doit nommé "event" : def maFonction(event): # [... instructions... ] C'est très simple, le seul problème est de connaître le nom de l'évènement (et bien respecter majucule/minuscule, en effet des fois il y en a, et des fois non...).

TKinter Une initiation à Tkinter Dans les commandes pour les boutons, les bindings, ou à chaque fois qu'on doit passer une fonction à Tkinter, la fonction ne peut pas avoir de paramètres. Or, on a souvent besoin d'en passer un, par exemple dans le cas de création de widgets dynamiquement. Du coup, on est obligé de créer une fonction ou méthode ne servant qu'à ça, ou de passer par un lambda, ce qui n'est pas très lisible et très vite limité. Toggle line numbers 1 2 3 class GenericCallback: 4 5 def __init__(self, callback, *firstArgs): 6 self. Utilisation du widget ScrolledText L'exemple ci dessous montre comment marquer et rendre active un zone de texte façon HTML Utilisation d'une checkbox Pour lire la valeur de certains widgets (checkbox, boutons radio...), Tkinter ne vous laisse pas la possibilité de lire directement la valeur du widget. Voici un exemple avec une checkbox: Une application Tkinter sous forme de classe Par exemple, monApplication.py (qui affiche simplement "Salut !") Ainsi:

Tous surveillés ? Les bons outils pour protéger sa vie privée : Une messagerie chiffrée Apprendre à programmer avec Python/Et pour quelques widgets de plus ... Un livre de Wikilivres. Apprendre à programmer avec Python/Et pour quelques widgets de plus ... Les pages qui suivent contiennent des indications et et des exemples complémentaires qui pourront vous être utiles pour le développement de vos projets personnels. Il ne s'agit évidemment pas d'une documentation de référence complète sur Tkinter. Pour en savoir plus, vous devrez tôt ou tard consulter des ouvrages spécialisés, comme par exemple l'excellent Python and Tkinter programming de John E. À faire... Les « boutons radio »[modifier | modifier le wikicode] Les widgets « boutons radio » permettent de proposer à l'utilisateur un ensemble de choix mutuellement exclusifs. La caractéristique essentielle de ces widgets est qu'on les utilise toujours par groupes. Lorsque l'utilisateur sélectionne l'un des boutons, la valeur correspondant à ce bouton est affectée à la variable Tkinter commune. Commentaires [modifier | modifier le wikicode] ). Les dessins sont de simples ellipses colorées.

Programmation - Interface-Z - Généralités Divers fichiers d'exemples sont mis à disposition avec nos cartes électroniques. Ils vous permettront de tester simplement le matériel - capteurs, actionneurs et autres modules temps réel -, de recevoir des données et d'envoyer des commandes. Ces programmes peuvent servir de points de départ pour vos propres créations. Les programmes sont classés visuellement en trois grands types : = Sous-Patch = Abstraction. Nous essayons autant que possible de fournir les programmes dans la plupart des logiciels courants. Classement thématique des patchs Max Matériel Outils Traitement des données Filtrage, débruitage et déparasitage des données Analyses et détections dans un flux de données Visualisation des données Registre à décalage Affichages des valeurs des capteurs Fonctions utiles Ponts OSC entre logiciels Depuis Max vers les autres Depuis Isadora Depuis Processing Depuis Pure Data Depuis Usine Didacticiels Classement par environnements de programmation / logiciels

Il est temps de parler des métadonnées LE MONDE SCIENCE ET TECHNO | • Mis à jour le | Par Yves-Alexandre de Montjoye (Centralien, chercheur au Media Lab, MIT), César Hidalgo (Professeur au Media Lab, Massachusetts Institute of Technology) et Alex 'Sandy' Pentland Pentland (Professeur au Media Lab, Massachusetts Institute of Technology) Les documents fournis par Edward Snowden l'employé de Booz-Allen-Hamilton et publiés dans le Guardian et le Washington Post début juin montrent l'étendue de la collaboration forcée dont a bénéficié la NSA. Une injonction secrète de la FISA lui assure en effet l'accès aux données de Microsoft, Facebook, Google mais également de l'opérateur téléphonique Verizon. Cette affaire nous rappelle que de nombreux sujets cruciaux sont restés dans les cartons. La proposition de réforme de protection des données, pourtant saluée outre-atlantique, de la commissaire européenne Viviane Reding n'a reçu que peu d'écho. Un débat de fond est nécessaire car le sujet est interdisciplinaire et technique.

PYTHON 3 Elle est utilisée pour définir une plage permettant l'insertion et la manipulation d'un texte, il y a beaucoup plus de fonctionnalités que pour la classe Label qui correspond à un affichage "simple" de texte. Options de la classe : : précise la couleur de fond du texte. : précise la taille de la bordure du texte. : précise la police du texte. : précise la couleur du texte. : Hauteur du texte (en Y) : Largeur du texte (en X) : détermine l'espace à laisser à l'extérieur des bords est et ouest du texte. : détermine l'espace à laisser à l'extérieur des bords nord et sud du texte. : Style de la bordure du texte (flat par défaut, raised, sunken, groove, ridge). Méthodes de la classe : : permet de comparer deux caractères à deux endroits (index1 et index2) du texte avec les opérateurs usuels de comparaison. : permet d'effacer les caractères du texte entre index1 et index2 (Si index2 n'est pas indiqué, le caractère situé à l'index1 sera effacé).

Présentation de Pygame Ca y est ! Enfin du concret à vous mettre sous la dent ! L'installation ! Vous devez d'abord télécharger le fichier correspondant à votre système d'exploitation et à votre version de Python sur le site de Pygame. Normalement Python 3.x si vous avez suivi le tutoriel du Site du Zéro. Page de téléchargement : Pour Windows Choisissez le fichier qui vous correspond dans la liste "Windows", qui devrait ressembler à celà : Cette section nous indique qu'il est nécessaire de désinstaller toutes les versions précédentes de Pygame, avant d'en installer une nouvelle, pas de problème normalement ! Le fichier qui nous intéresse est donc ici celui compatible avec Python 3, soit le dernier de la liste. Téléchargez le fichier msi qui contient tout ce dont vous avez besoin pour coder avec Pygame, et lancez-le ! Lors de l'installation, vous rencontrerez une fenêtre comme celle-ci : Pygame devrait repérer Python sur votre machine (Python 3.1 from registry sur l'image).

Python (langage) Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Python. Il est également apprécié par les pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation aisée aux concepts de base de la programmation[3]. Python est un langage qui peut s'utiliser dans de nombreux contextes et s'adapter à tout type d'utilisation grâce à des bibliothèques spécialisées. Il est cependant particulièrement utilisé comme langage de script pour automatiser des tâches simples mais fastidieuses comme un script qui récupérerait la météo sur Internet ou qui s'intégrerait dans un logiciel de conception assistée par ordinateur afin d'automatiser certains enchaînements d'actions répétitives. Depuis 2013, il est enseigné à tous les étudiants de classes préparatoires scientifiques dans le cadre du tronc commun (informatique pour tous). Guido van Rossum, créateur de Python, à la OSCON 2006. Andrew M. la liste des nombres pairs :

Pourquoi self en Python ? Quand on écrit une méthode dans une classe en Python, vous êtes obligé de faire ceci : Vous êtes tenu de déclarer self, le premier paramètre, qui sera l’instance en cours. Cela étonne, parfois irrite. Pourquoi dois-je me taper ce self ? D’abord, petite clarification : le nom self n’est qu’une convention. Ce code marche parfaitement : Il ne passera probablement pas une code review, mais il est valide. Il ne passera pas une code review, non pas parce que tachatte n’est pas un nom de variable politiquement correcte – après tout ces mignonnes boules de poils ne sont-elles pas aimées par tous ? Mais je suppose que la plus grosse interrogation, c’est pourquoi on se tape le self à la main, et pas : Rien comme en C++ ? Il y a de nombreuses raisons. D’abord, rien comme le C++ ne permettrait pas, en Python, de distinguer une variable locale d’une variable d’un scope supérieur, rendant la lecture difficile. Pour le JS, et son binding de merde, je vais passer mon tour, sinon je vais encore m’énerver.

Bonnes pratiques et astuces Python Ça faisait un moment que je n'avais pas parlé des bonnes pratiques Python mais l'approche de Pycon fr (où je présenterai Django : le pourquoi et le comment le 18 mai), l'événement Python incontournable avec un programme des plus alléchants, m'a bien motivé pour effectuer la traduction de l'une des meilleures présentation par David Goodger que je connaisse qui remet les bonnes pratiques Python à plat, ce qui est toujours bon avant d'aller plus loin. La lisibilité est importante Les programmes doivent être écrits pour être lus par des gens et accidentellement exécutés par les machines.-- Abelson & Sussman, Structure and Interpretation of Computer Programs Essayez de rendre vos programmes faciles à lire et évidents. PEP 8 : Style Guide pour le code Python Une lecture immanquable : (PEP = Python Enhancement Proposal) La communauté Python a ses propres standards sur ce à quoi doit ressembler le code, codifiés dans le PEP8. Whitespace 1 Whitespace 2 Nommage #!

The Tkinter Canvas Widget The Canvas widget provides structured graphics facilities for Tkinter. This is a highly versatile widget which can be used to draw graphs and plots, create graphics editors, and implement various kinds of custom widgets. When to use the Canvas Widget The canvas is a general purpose widget, which is typically used to display and edit graphs and other drawings. Another common use for this widget is to implement various kinds of custom widgets. For example, you can use a canvas as a completion bar, by drawing and updating a rectangle on the canvas. Patterns To draw things in the canvas, use the create methods to add new items. from Tkinter import * master = Tk() w = Canvas(master, width=200, height=100) w.pack() w.create_line(0, 0, 200, 100) w.create_line(0, 100, 200, 0, fill="red", dash=(4, 4)) w.create_rectangle(50, 25, 150, 75, fill="blue") mainloop() Note that items added to the canvas are kept until you remove them. Concepts Canvas Items Coordinate Systems Item Specifiers: Handles and Tags tag x

Python et Django, retour d'expérience après deux ans Il y a un poil moins de deux ans, j'écrivais ici-même un billet dans lequel j'expliquais pourquoi j'avais décidé de laisser tomber Symfony premier du nom pour voguer vers de plus vertes terres pythonesques. La bataille qui fit rage dans les commentaires ferait passer la plus épique scène du Seigneur des Anneaux pour une querelle dans un jardin d'enfants, et ce billet reste à ce jour l'un des plus vus sur Miximum. Le temps a passé, et j'ai pensé qu'il pourrait être intéressant de proposer un petit retour d'expérience sur cette migration. Alors, Python, Django, c'est bien, ou c'est très bien ? Avertissement : j'en vois déjà parmi vous qui salivent à l'odeur d'une bonne grillade de troll. Je partirai du principe que les lecteurs du billet sont novices en Django et / ou Python. Python, un langage qui a du mordant Lorsque j'ai décidé de donner sa chance à Django, je n'avais que superficiellement testé Python. À première vue, Python ressemble à un jouet. Je ne suis pas sectaire.

Related: