Qu'est-ce qu'un module ? Introduction aux modules en Python

不言
Libérer: 2018-09-19 16:32:52
original
7824 Les gens l'ont consulté

Cet article vous apporte le contenu sur ce qu'est un module ? L'introduction de modules en Python a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer, j'espère que cela vous sera utile.

1. Qu'est-ce qu'un module

En Python, un fichier .py est appelé un module.
Alors, quels sont les avantages d’utiliser des modules ?

(1) Améliore la maintenabilité du code.

(2) Il n'est pas nécessaire de repartir de zéro le code. Une fois qu'un module est écrit, il peut être appliqué ailleurs.

(3) Vous pouvez éviter les conflits entre les noms de fonctions et les noms de variables. Les mêmes noms de fonctions et variables peuvent être stockés dans différents modules, mais veillez à ne pas entrer en conflit avec les noms de fonctions intégrés.
Toutes les fonctions intégrées de Python : https://docs.python.org/3/lib...

Pour éviter les conflits de noms de modules, python a introduit une méthode pour éviter les conflits de modules par répertoire, appelée packages (paquet python).
Un fichier abc.py est un module nommé abc, et un fichier xyz.py est un module nommé xyz. Si les noms de modules abc et xyz entrent en conflit avec d'autres modules, nous pouvons organiser les modules dans différents packages pour éviter les conflits de modules.
peut être :

↓ mycompany      # 按目录存放
     _init_.py   # 模块名:mycompany
     abc.py      # 模块名:mycompany.abc
     xyz.py      # 模块名:mycompany.xyz
Copier après la connexion

Une fois le package introduit, tant que le nom du package de niveau supérieur n'est pas en conflit avec les autres, tous les modules ne seront pas en conflit avec les autres.
Il y aura un fichier _init_.py dans chaque répertoire de package. Ce fichier doit exister, sinon python traitera ce répertoire comme un répertoire normal au lieu d'un package.
_init_.py peut être un fichier vide ou il peut avoir du code python, car _init_.py lui-même est un module.

2. Utilisez les propres modules de Python

Python possède de nombreux modules intégrés très utiles. Une fois installés, ces modules peuvent être importés et utilisés immédiatement.
Par exemple, le petit programme suivant : utilisez le module sys auto-construit pour écrire un module hello hello.py.

# !/usr/bin/env python    # -1-
# -*-coding:utf-8 -*-     # -2- 
_author_ = 'xionglp'      # 使用_author_变量把作者写进去

import sys   

def test(): 
    args = sys.argv  
    if len(args) == 1: 
        print ('hello,world!') 
    elif len(args) ==2: 
        print('hello,%s !'% args[1]) 
    else: 
        print('too many arguments!') 
if __name__ == '__main__':
    test()
Copier après la connexion

Remarque :

Commentaire# -1- : Laissez le fichier .py s'exécuter directement sur unix/linux/mac

Commentaire# -2- :. le fichier utilise le codage UTF-8 standard

import sys : importez le module sys. Vous pouvez ensuite utiliser la variable sys pour accéder à toutes les fonctions du module sys.
Le module sys possède une variable argv, qui utilise une liste pour stocker tous les paramètres de la ligne de commande. argv a au moins un élément car le premier argument est toujours le nom du fichier .py.

Lorsque le fichier hello.py est exécuté sur la ligne de commande, l'interpréteur python définit une variable spéciale __name__ sur __main__. Si le module est importé ailleurs, le jugement if échouera, c'est-à-dire que le if ne prendra effet que lorsque ce module est exécuté seul. Donc, si test permet à un module d'exécuter du code supplémentaire lorsqu'il est exécuté via la ligne de commande, exécutant le plus souvent des tests.

Importer le module dans l'environnement interactif (cmd) :

>>> import hello                         
>>> hello.test()                   
hello, world!
Copier après la connexion

3. Installer et utiliser des modules tiers

En plus de Propre package de Python, vous pouvez également installer des modules tiers. L'installation des packages tiers est effectuée via l'outil de gestion des packages pip.
De manière générale, les bibliothèques tierces seront enregistrées sur le site officiel de Python, pypi.python.org. Par conséquent, pour installer une bibliothèque tierce, vous devez d'abord connaître le nom de la bibliothèque, qui peut être recherché sur le site officiel ou sur pypi. Par exemple, le nom de Pillow est Pillow, donc la commande pour installer Pillow est : pip install Pillow

Étape 1 : Recherchez easy_install.exe dans le chemin pour installer Python, par exemple : D:PythonScripts

Étape 2 : Ouvrez cmd, entrez la commande d'installation : easy_install.exe pip (installation de pip réussie)

Étape 3 : Exécutez pip sous cmd, entrez la commande : pip install Pillow

comme suit :

Quest-ce quun module ? Introduction aux modules en Python

Après une installation réussie, vous pouvez utiliser Pillow. D'autres bibliothèques tierces couramment utilisées incluent : le pilote MySQL, la bibliothèque NumPy pour le calcul scientifique, etc.

Mise à niveau de pip :

Lors de l'utilisation de pip pour l'installation, il sera parfois demandé que la version de pip est trop basse et doit être mise à niveau. L'invite vous donnera l'instruction à exécuter, suivez simplement l'invite et exécutez-la.
Exécuter la commande : python –m pip install –upgrade pip

4. Chemin de recherche du module

Nous pouvons également importer des modules écrits par nous-mêmes. Lorsque nous essayons de charger un module, Python recherchera le fichier .py correspondant dans le chemin spécifié. S'il n'est pas trouvé, une erreur sera signalée, par exemple :

Quest-ce quun module ? Introduction aux modules en Python<.>

Par défaut, l'interpréteur Python recherchera le répertoire courant, tous les modules intégrés installés et les modules tiers. Le chemin de recherche est stocké dans la variable path du module sys :

>>>import sys
>>>sys.path
Copier après la connexion
Si nous voulons Il existe deux méthodes pour ajouter votre propre répertoire de recherche :

Méthode 1 : Modifier directement sys.path et ajouter le répertoire à rechercher Cette méthode est modifiée lors de l'exécution et deviendra. invalide une fois l’exécution terminée.

>>> import sys
>>> sys.path.append('/Users/xionglp/my_py_scripts')
Copier après la connexion

法二:设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。

【补充点能量】if __name__ =="__main__":

__name__:为系统变量,有两个取值。当模块是被调用执行时,取值为模块的名字;当模块是直接执行时,则该变量取值为__name__。

if __name__ == "__main__"实现的功能:可以让模块既可以导入到别的模块中用,也可以自己执行。

英文解释说:make a script both importable and executeable

例如:新建模块atest.py

# !/usr/bin/env python3
# -*- coding:utf-8 -*-
'a test module'
def addFunc(a, b):
    return a + b
print('a_test_module\'s result is ', addFunc(1, 1))
Copier après la connexion

新建模块anothertest.py

# !/usr/bin/env python3
# -*- coding :utf-8 -*-
'another test module'
import  atest
print('调用another test module模块执行的结果时:',atest.addFunc(12,23))
Copier après la connexion

运行:

D:\Python_project>python atest.py
a_test_module's result is  2
D:\Python_project>python anothertest.py
a_test_module's result is  2
调用another test module模块执行的结果时: 35
Copier après la connexion

说明:当运行anothertest.py的时候,先运行了atest.py,再运行anothertest.py。
若不希望出现atest的内容,python提供了一个系统变量:__name__。可以把被调用的测试代码写在if语句里,当调用该module时,此时的__name__取值为该模块的名字,所以if判断为假,不执行后续代码如下:

if __name__ == '__main__':`
       print ('atest的计算结果:',addFunc(1,1))
Copier après la connexion

则运行结果为:

D:\Python_project>python anothertest.py
调用another test module模块执行的结果时: 35
Copier après la connexion

此时我们就得到了预期结果,不输出多余的结果。

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal