Article
· Sept 3 3m de lecture

Introduction au PEP 8

img

Ce court article traite du PEP 8, le guide de style Python.

Qu'est-ce que le PEP 8?

En bref, le PEP 8 fournit des directives et des bonnes pratiques pour écrire du code Python.

  • les noms de variables doivent être en snake_case
  • les noms de classes doivent être en CamelCase
  • les noms de fonctions doivent être en snake_case
  • les constantes doivent être en UPPER_CASE
  • l'indentation doit être de 4 espaces (pas de tabulations)
  • les variables/fonctions privées doivent commencer par un trait de soulignement (_)
    • puisque les variables et fonctions privées n'existent pas en Python, il s'agit simplement d'une convention
  • votre script ne doit pas s'exécuter lorsqu'il est importé
    • rappelez-vous que lorsque vous importez un script, le code est exécuté, consultez le premier article
  • ...

Inutile de tout citer, mais gardez bien à l'esprit que cela vous aidera à comprendre le code de vos collègues et permettra à ces derniers de comprendre le vôtre ^^.

Vous avez peut-être déjà entendu parler du terme pythonic. Suivre les recommandations du PEP 8 est un moyen d'écrire du code Python considéré comme pythonique (ce n'est pas la seule méthode, mais cela en fait partie).

Pourquoi les instructions du PEP 8 sont-elles importantes et pertinentes pour les développeurs Python d'IRIS?

Dans IRIS, et en particulier dans ObjectScript, nous avons également un guide de style, qui repose principalement sur le camelCase pour les noms de variables et le PascalCase pour les noms de classes.

Malheureusement, PEP 8 recommande d'utiliser le snake_case pour les noms de variables et de fonctions.

Et comme vous le savez déjà, dans ObjectScript, le trait de soulignement (_) sert à la concaténation et ne nous convient évidemment pas.

Comment contourner ce problème ? Utilisez des guillemets doubles pour appeler les noms de variables/fonctions Python dans le code ObjectScript.

Exemple:

Class Article.PEP8Example Extends %RegisteredObject
{

ClassMethod Run()
{
    Set sys = ##class(%SYS.Python).Import("sys")
    do sys.path.append("/irisdev/app/src/python/article")
    set pep8Example = ##class(%SYS.Python).Import("pep8_example")
    do pep8Example."my_function"() // Observez les guillemets doubles autour du nom de la fonction
}

}

Cette commande appellera la fonction my_function dans le fichier pep8_example.py, qui est définie comme suit:

# src/python/article/pep8_example.py
def my_function():
    print("Hello, World!")

Lorsque vous exécutez la méthode Run de la classe Article.PEP8Example, le résultat suivant s'affiche:

iris session iris -U IRISAPP '##class(Article.PEP8Example).Run()'
Hello, World!

Ça y est!

Discussion (0)0
Connectez-vous ou inscrivez-vous pour continuer