très rapide question. Je me demande s'il existe un logiciel Django qui génère automatiquement le codage python. S'il y en a, merci de me le faire savoir.Meilleur générateur de code python/Django?
Répondre
Je n'ai jamais entendu parler de générateurs de code python. Python est un langage dynamique où vous pouvez faire presque n'importe quoi. Au lieu de compter sur des générateurs de code statiques connus du monde Java, je dirais que vous pouvez écrire quelques lignes Python équivalentes dans la plupart des cas, ce qui est beaucoup plus pratique. Si vous cherchez un lexeur/analyseur Python, essayez pyparsing.
Ok je vais vérifier – Shehzad009
Bon conseil mais ce n'est pas ce qu'il a demandé. –
La chose la plus proche que j'ai vue en Python pour la génération de code est la fonctionnalité __metaclass__
de Python. Par exemple, voici est un simple métaclasse pour créer des propriétés en lecture seule:
class ReadonlyProperties(type):
def __init__(cls, name, bases, attrs):
props = attrs.get("props",[])
if props:
# generate property for each name in propnames
def defineProperty(p):
return property(lambda self: getattr(self, '_'+p))
for p,_ in props:
setattr(cls, p, defineProperty(p))
# generate wrapper for __init__ to initialize property values
if "__init__" in attrs:
setattr(cls, "__orig_init__", attrs["__init__"])
else:
setattr(cls, "__orig_init__", None)
def new__init__fn(self, *args, **kwargs):
if self.__orig_init__:
self.__orig_init__(*args)
for p,pdefault in props:
if p in kwargs:
setattr(self, '_'+p, kwargs[p])
else:
setattr(self, '_'+p, pdefault)
setattr(cls, "__init__", new__init__fn)
# generate __str__ function
def __repr__fn(self):
return "%s(%s)" % (name, ','.join("%s=%s" % (p,getattr(self,p)) for p,_ in props))
setattr(cls, "__repr__", __repr__fn)
# don't need this class property any more
delattr(cls, "props")
Maintenant, voici la métaclasse en action:
class Coord3D(object):
__metaclass__ = ReadonlyProperties
props = [('x',0), ('y',0), ('z',0)]
pt = Coord3D(x=100, y=200)
print repr(pt)
print pt.x
print [n for n in dir(pt) if not n.startswith('__')]
Prints:
Coord3D(x=100,y=200,z=0)
100
['_x', '_y', '_z', 'x', 'y', 'z']
Attribution à pt.x
soulèvera une AttributeError, puisqu'il s'agit d'une propriété en lecture seule.
- 1. Meilleur générateur de fichier XSD
- 2. Générateur de code Cairngorm
- 3. Générateur de code XSD
- 4. Générateur de code javascript/jQuery
- 5. Générateur de code en C#
- 6. Générateur de code de schéma XML C++
- 7. Code de générateur de fichier aléatoire?
- 8. Web Code de référence modèle générateur
- 9. Générateur de code RELAX NG C++?
- 10. Générateur de code pour les classes wrapper
- 11. Visual Basic 6.0 Générateur de code
- 12. Générateur d'image de code-barres PHP
- 13. Meilleur code de redirection 3xx
- 14. star uml: Générateur de code/reverse C# code
- 15. générateur de générateur de fonds
- 16. Générateur de code de migration de base de données
- 17. Générateur de documentation .NET XSD
- 18. générateur/générateur de formulaire général PHP
- 19. Hamming code donné une question de matrice de générateur
- 20. Générateur de code de hachage le plus rapide .NET
- 21. Problème avec le concepteur de générateur de code Web
- 22. Meilleur moyen d'inclure le code de débogage?
- 23. Meilleur formateur de code C++/Beautifier
- 24. Meilleure pratique pour l'écriture d'un générateur de code
- 25. Fonctions du générateur de code Linq to SQL
- 26. Comment écrire un générateur de code avec un IDL personnalisé?
- 27. Un générateur de code pour Java disponible pour maven?
- 28. Chaîne à remplacer pour personnaliser le générateur de code
- 29. générateur de code court pour un long texte en java
- 30. code source php pour générateur de fichier PO
Je sens un développeur Java. –
Lol je ne suis pas un développeur java – Shehzad009
Lequel alors? C#? Parce qu'il est presque ridicule de penser à un générateur de code Python étant donné sa faible quantité de passe-partout. –