Maison >développement back-end >Tutoriel Python >Écrivez votre propre module Python

Écrivez votre propre module Python

little bottle
little bottleavant
2019-04-09 13:21:422320parcourir

En fait, il existe de nombreux tutoriels Python en ligne. Il est très simple d'écrire votre propre module. C'est en fait ce que vous avez fait ! En effet, chaque programme Python est également un module. Vous devez juste vous assurer qu’il possède une extension .py. Les cas suivants fourniront une explication claire.

Cas (enregistrer sous mymodule.py) :

import mymodule

mymodule.say_hi()
print('Version', mymodule.__version__)

Ce qui est présenté ci-dessus est un simple module . Comme vous pouvez le constater, il n’y a pas de différence particulière par rapport aux programmes Python que nous utilisons habituellement. Nous verrons ensuite comment utiliser ce module dans d'autres programmes Python.

N'oubliez pas que ce module doit être placé dans le même répertoire que les autres programmes dans lesquels nous sommes sur le point d'importer ce module, ou dans l'un des répertoires répertoriés dans sys.path .

Un autre module (enregistrer sous mymodule_demo.py) :

import mymodule

mymodule.say_hi()print('Version', mymodule.__version__)

Sortie :

$ python mymodule_demo.py
Hi, this is mymodule speaking.
Version 0.1

Comment ça marche

Vous remarquerez que nous utilisez la même notation par points pour accéder aux membres du module. Python fait un bon travail en réutilisant les symboles, ce qui lui donne un aspect « pythonique », nous n'avons donc pas besoin d'apprendre de nouvelles façons de faire les mêmes choses.

Ce qui suit est un modèle utilisant la syntaxe from...import (enregistrer sous mymodule_demo2.py) : Le contenu généré par

from mymodule import say_hi, __version__
say_hi()
print('Version', __version__)

mymodule_demo2.py est le même que le contenu généré par mymodule_demo.py de.

Il est à noter ici que si le nom __version__ existe déjà dans le module importé dans monmodule, un conflit surviendra. C'est probablement parce que chaque module déclare généralement son numéro de version respectif en utilisant ce nom. Par conséquent, nous recommandons généralement d’utiliser l’instruction import, même si cela rendra votre programme légèrement plus long.

Vous pouvez également utiliser :

from mymodule import *

Cela importera tous les noms publics tels que say_hi , mais pas les noms __version__ puisque ces derniers commencent par un double trait de soulignement.

Attention : N'oubliez pas que vous devez éviter d'utiliser le formulaire d'importation , c'est-à-dire `from mymodule import `.

Le Zen de Python

L'un des principes directeurs de Python est "La clarté vaut mieux que l'obscurité"2. Vous pouvez en savoir plus en exécutant import this en Python.

dir Fonctions

La fonction intégrée dir() peut renvoyer une liste de noms définis par un objet. Si cet objet est un module, la liste comprend les fonctions, classes et variables définies dans la fonction.

Cette fonction accepte les paramètres. Si l'argument est un nom de module, la fonction renvoie une liste de noms pour le module spécifié. Si aucun argument n'est fourni, la fonction renvoie une liste de noms pour le module actuel.

Exemple :

$ python
>>> import sys

# 给出 sys 模块中的属性名称
>>> dir(sys)
['__displayhook__', '__doc__',
'argv', 'builtin_module_names',
'version', 'version_info']
# 此处只展示部分条目

# 给出当前模块的属性名称
>>> dir()
['__builtins__', '__doc__',
'__name__', '__package__','sys']

# 创建一个新的变量 'a'
>>> a = 5

>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'a']

# 删除或移除一个名称
>>> del a

>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']

Comment ça marche

La première chose que nous voyons est l'utilisation de dir sur le module sys importé. Nous pouvons voir une énorme liste de propriétés qu’il contient.

Par la suite, on utilise la fonction dir sans passer de paramètres. Par défaut, il renvoie la liste des propriétés du module actuel. Notez que la liste des modules importés fera également partie de cette liste.

Pour observer le fonctionnement de la fonction dir, nous définissons une nouvelle variable a et lui attribuons une valeur, puis vérifions le résultat renvoyé par dir, nous pouvons constater que le même nom A une nouvelle valeur apparaît dans la liste. Nous avons supprimé une variable ou un attribut via l'instruction del, et ce changement se reflète à nouveau dans le contenu de la fonction dir.

Un petit conseil à propos de del - cette instruction est utilisée pour supprimer une variable ou un nom, lorsque cette instruction est exécutée, dans ce cas del a, vous ne pourrez plus pour accéder à la variable a - ce sera comme si elle n'avait jamais existé.

Notez que la fonction dir() fonctionne sur n'importe quel objet. Par exemple, exécuter dir(str) peut accéder aux propriétés de la classe str (String, string).

En même temps, il existe également une fonction vars() qui peut également vous renvoyer les propriétés de ces valeurs, mais c'est tout simplement possible, elle ne fonctionnera pas correctement pour toutes les classes.

Recommandations de cours associées : Tutoriel vidéo Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer