background preloader

AFPY — Association Francophone PYthon

AFPY — Association Francophone PYthon
Related:  PYTHON

How not to write Python code » Ikke’s blog Lately I’ve been reading some rather unclean Python code. Maybe this is mainly because the author(s) of the code had no in-depth knowledge of the Python language itself, the ‘platform’ delivered with cPython,… Here’s a list of some of the mistakes you should really try to avoid when writing Python code: Some days ago RealNitro pointed me at this list of essential Python readings. “Idiomatic Python” is a must-read, even for experienced Python developers. That’s about it for now, maybe I’ll add some more items to this list later on. Posted in Development, Technology. Tagged with Development, python. By Nicolas – February 8, 2008

BulreZo : Système de bulletins scolaires à hautes performances Écrire une ext OOO avec Python C'est possible mais ce n'est pas du tout évident de trouver de la documentation utile, souvent parce qu'elle concernera Basic ou Java, ou qu'elle présentera une série de classes, interfaces et cie sans expliquer comment tout devrait s'imbriquer. Pour référence quand même, et parce que ces documents s'améliorent avec le temps, il y a entre autres la page Extensions development in Python et le Developer's Guide. Du coup ces quelques pages d'explications qui, en gardant un même thème, une extension "Hello World" bidon, espèrent mettre sur la voie les personnes débarquant dans cet univers impitoyable... À propos de voie, il y a deux directions possibles, partir sur les fonctionnalités, et étendre l'extension, genre écrire en gras plutôt qu'avec le style courant ou regarder la langue du paragraphe en cours pour insérer le texte dans une langue ou l'autre; ou alors partir sur ce qui touche plutôt à l'interface, ajouter une barre d'outil, une boite de dialogue, des trucs comme ça.

PyCON FR Ressources Python Ressources didactiques Gérard Swinnen Vous trouverez ci-dessous : en téléchargement libre, les versions numériques 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 *** ... Téléchargements

Résoudre le cube-serpent en Python Je me suis amusé à écrire un petit programme en Python qui résout le cube-serpent (ainsi nous pouvons dire qu’un serpent en résout un autre). Mon but était surtout d’apprendre le langage Python, avec un problème intéressant, pas trop compliqué (c’est de la force brute). Il m’a permis de découvrir différents aspects de Python.Je l’ai également implémenté en C. L’algorithme proposé résout un cube-serpent généralisé. En effet, il sait trouver des solutions pour obtenir un cube de 3×3×3, mais également d’autres tailles, comme 2×2×2 ou 4×4×4. Il sait également résoudre des volumes non cubiques, comme 2×3×4. Je vais d’abord présenter le problème et décrire l’algorithme de résolution et survoler l’implémentation, puis je vais m’attarder sur certaines fonctionnalités de Python qui m’ont semblé très intéressantes. Résolution Problème Le but est de replier la structure du serpent pour qu’elle forme un volume, par exemple un cube. Principe Limites Implémentation Vector Vector(position, value) VolumeHelper

Graphviz Welcome to Python.org L’opérateur splat (l’étoile: *) en Python L’utilisation du signe étoile (*, dit opérateur « splat ») en Python est très simple, mais certains cas sont peu intuitifs. Les nouveaux venus ont souvent besoin d’un peu plus d’explications que ce que donne la doc. Les utilisateurs d’autres langages sont généralement déroutés, car ils sont habitués à certaines fonctionnalités qu’on ne retrouve pas en Python. Ce que * ne permet pas de faire Il n’y a pas de pointeur en Python, et les passages par référence sont automatiques. N’existe pas en Python. Les usages basiques de * La multiplication et la puissance fonctionnent comme on l’attend : Mais déjà, Python se démarque du lot, car l’opérateur * est surchargé par défaut, et peut s’appliquer aux chaines de caractères et aux listes. Pour les listes, c’est plus subtil. En revanche, multiplier une liste d’objets modifiables ne fait que répéter la référence vers cet objet : On a l’impression que le comportement est le même que précédemment, en fait pas du tout. Unpacking Quel rapport avec * ?

Essential Python Reading List Here’s my essential Python reading list. I’ve tried to order the items so you can pause or stop reading at any point: at every stage you’ll have learned about as much possible about Python for the effort you’ve put in. The Zen of Python The Zen of Python is so short I can include it here in its entirety. Typing import this in an interpreted session gives a pythonic spin on “Hello, world”. >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. If this doesn’t ring true, Python isn’t for you. Python Tutorial Your next stop should be the Python tutorial. start here The latest version (by which I mean the version corresponding to the most recent stable release of Python) can be found on the web at but I recommend you find and bookmark the same page from your local Python installation: it will be available offline, pages will load fractionally quicker, and you’re sure to be reading about the version of Python you’re actually running. What’s New?

Editors If you have anything to contribute -- e.g. configurations for editors, new editors, or opinion -- don't hesitate to edit or create pages. There's an EditorConfigurationHowto available. Please keep wiki links as wiki links, use external links only if there is no existing page for the editor. Multiplatform Editors Unix-Only Editors Windows-Only Editors Macintosh-Only Editors Online Editors Glorified Editors "IDEs" that don't integrate anything Python-specific go here. Enhanced Python shells Mobile Device Editors "IDEs" that run on mobile devices and tablets. Other Resources PySmell provides autocompletion for Vim, Emacs and TextMate Never ending debate EmacsVsVi CategoryEditors

Construire une interface graphique pas à pas en Python avec Tkinter et wxPython Ce texte est la traduction française de Dans cette page, vous allez apprendre à constuire une interface graphique pas à pas en Python. Le but est: De maîtriser les techniques de base des interfaces graphiques (mise en place des widgets, contraintes, gestion des évènements...)De comprendre la moindre méthode et paramètre utilisé ici.De voir deux toolkits majeurs et de comprendre leurs différences.De servir de base pour construire vos propres applications graphiques. Ces deux tookits graphiques sont portables: Cela signifie que - si bien conçues - vos interfaces fonctionneront sur tous les systèmes (Windows, Linux, MacOS X...). Table des matières Notre projet Notre projet est de créer une application toute simple comme celle-là: Un widget est un élément graphique (un bouton, une case à cocher, un label, une zone de texte, un onglet...) Dans ce document, nous montrerons côte à côte le code Tkinter et wxPython de cette manière: Bien, allons-y ! #! Hé !

Distutils-SIG Charter The Distutils-SIG exists to discuss the design, implementation, and maintenance of a suite of module distribution utilities for Python. These utilities are grouped in the 'distutils' package in Python. The goal of distutils is to make building, packaging, distributing, and installing Python modules, extensions, and applications painless and standardized. There are also third-party tools built on the top of distutils, that are using the Distutils mailing list as their home. Namely: setuptools zc.buildout If you are packaging a Python package, this SIG is probably a good starting point to ask questions. The goal of Distutils-SIG is also to try to catch the good bits and practices from third-party projects and insert them in Distutils itself to serve the community. What's Available Interested in learning more or trying out the Distutils?

Aptana Studio — Advanced Python 0.3 documentation Aptana Studio is an IDE - integrated development environment - based on the Eclipse framework. It provides powerful tools for exploring, understanding, and refactoring your code. Because Aptana Studio is Eclipse + a plugin, in class I may refer to “Aptana” and “Eclipse” interchangeably. Unless explicitly noted, both terms refer to the combination of Eclipse framework + Aptana Studio plugin. Aptana’s Python support was formerly a separate Eclipse plugin called PyDev. Workspace¶ When it starts up, Aptana will ask you what folder you want to use as a workspace. Instead use ~/workspace, the standard Eclipse workspace path. Harmless libjpeg Error¶ The first time you start Apatana Studio, you will get a frightening-looking error message, complaining that libjpeg.62.so is missing. Click OK, and Eclipse will ask if you want to exit. This bug can be avoided entirely by installing libjpeg62: $ sudo apt-get install libjpeg62 Installing Eclipse Plugins¶ Vwrapper¶ Update site: Python Perspective¶

Related: