Articles
Python
Webmaster - Infos
Lettre d'information
Visites
22456 visiteurs 1 visiteur en ligne
|
Créons ensemble les conditions de l'efficacité.
Un site créé par Eric LE PAPE
Les 3 dernières nouvelles
Espy permet de générer du code en masse
- par Eric
le 01/06/2011 @ 12:02
La nouvelle version d'ESPy (1.6) permet de générer du code complexe grâce à deux nouvelles fonctions "macro for ..." et "macro if".
La première fonction permet de générer du code en masse. La deuxième permet de générer du code sous-conditions.
Voici ce qu'en dit la documentation (extrait):
Les formes macro for ...:
Depuis la version 1.6, espy vous permet également de générer du code avec une boucle 'for .. in ..':
Par exemple:
macro for v in [tot, '"tôt ou tard"',10]:
#Traitement compliqué de %v%
print %v%
équivaut à:
#Traitement compliqué de tot
print tot
#Traitement compliqué de "tôt ou tard"
print "tôt ou tard"
#Traitement compliqué de 10
print 10
Un autre exemple:
macro for cond,action in [(10,"'10 n'est pas zéro'"),[Coco,Cocotier]]:
#Traitement
if %cond%==0:
print %action%,%cond%
équivaut à:
#Traitement
if 10==0:
print '10 n'est pas zéro',10
#Traitement
if Coco==0:
print Cocotier,Coco
Les formes macro if ...:
La version 1.6 vous permet enfin de générer conditionnellement du code avec un branchement if'.
La syntaxe utilisée ici diffère un peu de la structure if ... else ... de Python.
Par exemple:
macro for v in [6,10,12,20,23]:
macro if 7<%v%<22:
True:
print "A %v% heures, je suis réveillé."
False:
print "A %v% heures, je dors."
est traduit en Python par Espy en:
print "A 6 heures, je dors."
print "A 10 heures, je suis réveillé."
print "A 12 heures, je suis réveillé."
print "A 20 heures, je suis réveillé."
print "A 23 heures, je dors."
Cet example est simple pour bien en comprendre le principe, mais imaginez que la boucle 'macro for' génère des fonctions de classe et qu'on manipule des attributs de classe de différente nature dans chaque classe, la maintenance devient plus compliquée.
class Bourse(object):
def __init__(self):
...
macro for v,vtype in [(score,int),(affichage,str),(collect,int)]:
def add_%v%(self,%v%):
macro if "%vtype%"=="str":
True:
self.%v%_var=str(int(self.%v%_var)+int(%v%))
False:
self.%v%_var+=%v%
est traduit en Python par Espy en:
class Bourse(object):
def __init__(self):
...
def add_score(self,score):
self.score_var+=score
def add_affichage(self,affichage):
self.affichage_var=str(int(self.affichage_var)+int(affichage))
def add_collect(self,collect):
self.collect_var+=collect
(Fin de l'extrait).
... / ... 
La nouvelle version d'ESPy (1.6) permet de générer du code complexe grâce à deux nouvelles fonctions "macro for ..." et "macro if".
La première fonction permet de générer du code en masse. La deuxième permet de générer du code sous-conditions.
Voici ce qu'en dit la documentation (extrait):
Les formes macro for ...:
Depuis la version 1.6, espy vous permet également de générer du code avec une boucle 'for .. in ..':
Par exemple:
macro for v in [tot, '"tôt ou tard"',10]:
#Traitement compliqué de %v%
print %v%
équivaut à:
#Traitement compliqué de tot
print tot
#Traitement compliqué de "tôt ou tard"
print "tôt ou tard"
#Traitement compliqué de 10
print 10
Un autre exemple:
macro for cond,action in [(10,"'10 n'est pas zéro'"),[Coco,Cocotier]]:
#Traitement
if %cond%==0:
print %action%,%cond%
équivaut à:
#Traitement
if 10==0:
print '10 n'est pas zéro',10
#Traitement
if Coco==0:
print Cocotier,Coco
Les formes macro if ...:
La version 1.6 vous permet enfin de générer conditionnellement du code avec un branchement if'.
La syntaxe utilisée ici diffère un peu de la structure if ... else ... de Python.
Par exemple:
macro for v in [6,10,12,20,23]:
macro if 7<%v%<22:
True:
print "A %v% heures, je suis réveillé."
False:
print "A %v% heures, je dors."
est traduit en Python par Espy en:
print "A 6 heures, je dors."
print "A 10 heures, je suis réveillé."
print "A 12 heures, je suis réveillé."
print "A 20 heures, je suis réveillé."
print "A 23 heures, je dors."
Cet example est simple pour bien en comprendre le principe, mais imaginez que la boucle 'macro for' génère des fonctions de classe et qu'on manipule des attributs de classe de différente nature dans chaque classe, la maintenance devient plus compliquée.
class Bourse(object):
def __init__(self):
...
macro for v,vtype in [(score,int),(affichage,str),(collect,int)]:
def add_%v%(self,%v%):
macro if "%vtype%"=="str":
True:
self.%v%_var=str(int(self.%v%_var)+int(%v%))
False:
self.%v%_var+=%v%
est traduit en Python par Espy en:
class Bourse(object):
def __init__(self):
...
def add_score(self,score):
self.score_var+=score
def add_affichage(self,affichage):
self.affichage_var=str(int(self.affichage_var)+int(affichage))
def add_collect(self,collect):
self.collect_var+=collect
(Fin de l'extrait). 
Espy est maintenant compatible avec Cython
- par Eric
le 11/04/2011 @ 12:12
La version 1.5 de Espy permet maintenant d'écrire vos fichiers Cython en utilisant la syntaxe d'Espy.
Associé à Py2Freemind, il m'a permis d'optimiser un programme d'échecs initialement écrit en pur Python.
... / ... 
La version 1.5 de Espy permet maintenant d'écrire vos fichiers Cython en utilisant la syntaxe d'Espy.
Associé à Py2Freemind, il m'a permis d'optimiser un programme d'échecs initialement écrit en pur Python.

Py2freemind: incluez du LaTeX dans vos pages HTML
- par Eric
le 26/01/2011 @ 03:15
La version 1.8 de Py2freemind vient de sortir avec une petite nouveauté,
la possibilité d'inclure des formules écrites en LateX directement dans vos pages. Par exemple:
Je rappelle que Py2Freemind permet de créer des programmes Python, Espy, des feuilles de style CSS et de créer des pages Web structurées à partir d'une carte heuristique (mind map).
Ces pages pouvaient notamment inclure du code javascript. Maintenant, on peut intégrer directement les formules LaTeX que vous aurez écrites avec Freemind ou Freeplane.
LaTeX, quant à lui, permet de mettre en page très proprement tout type de document, et notamment, facilite la génération de symboles et formules mathématiques.
Un exemple:
Dans freeplane, vous entrez cette branche:
La formule peut être modifiée en cliquant dessus. Vous trouverez facilement la syntaxe requise sur internet.
Un clic sur le noeud d'export et c'est fait, la page est générée et s'affiche dans votre navigateur favori.

Vous trouverez Py2freemind dans la section Téléchargement de ce site. Elle inclus une aide sous forme de min map et quelques exemples.
... / ... 
La version 1.8 de Py2freemind vient de sortir avec une petite nouveauté,
la possibilité d'inclure des formules écrites en LateX directement dans vos pages. Par exemple:
Je rappelle que Py2Freemind permet de créer des programmes Python, Espy, des feuilles de style CSS et de créer des pages Web structurées à partir d'une carte heuristique (mind map).
Ces pages pouvaient notamment inclure du code javascript. Maintenant, on peut intégrer directement les formules LaTeX que vous aurez écrites avec Freemind ou Freeplane.
LaTeX, quant à lui, permet de mettre en page très proprement tout type de document, et notamment, facilite la génération de symboles et formules mathématiques.
Un exemple:
Dans freeplane, vous entrez cette branche:
La formule peut être modifiée en cliquant dessus. Vous trouverez facilement la syntaxe requise sur internet.
Un clic sur le noeud d'export et c'est fait, la page est générée et s'affiche dans votre navigateur favori.

Vous trouverez Py2freemind dans la section Téléchargement de ce site. Elle inclus une aide sous forme de min map et quelques exemples. 
Eric LE PAPE : Le Manager
Cet ingénieur Arts et Métiers a quinze ans d’expérience en production industrielle. Plus que de la gestion, il focalise son action dans la recherche permanente d’une efficacité durable. Ainsi, il agit sur la stratégie globale, l’organisation, les flux, les moyens, la formation et la communication.
Il a à son actif des gains de productivité de l’ordre de 10% par an dans des secteurs de la mécanique et dans l’industrie aéronautique et parle anglais.
Ouvert et pédagogique, il peut vous faire profiter de son expérience dans le cadre de missions d'organisation et de formation.
Eric LE PAPE: Le développeur
| Préférences
 9 membres
Connectés :
( personne )
Aides et recommandations
Soutenez ESPY
Soutenez Py2Freemind
Je vous recommande 1&1 pour leur offre logicielle et la qualité de leurs services.

|