Répertoire d'articles
Exercice 1: Première expérience des paramètres de module
1. __doc __ imprimer la description fonctionnelle du module ou de sa fonction
Module conçu: nommé mymodule01
"""
本模块用于计算公司员工的薪资
"""
company = "Clichong"
def yearsalary(monthsalary):
"""根据传入的月薪,计算出年薪"""
return monthsalary*12
def daysalary(monthsalary):
"""根据出入的月薪,计算出日薪"""
return monthsalary/12
Code de test:
import mymodule01
import math
#测试自定义的模块
print(mymodule01.__doc__)
print(mymodule01.yearsalary.__doc__)
print(mymodule01.daysalary.__doc__)
#测试第三方库模块
print(math.cos.__doc__)
print(math.acos.__doc__)
résultat:
2. __name __ peut obtenir le nom du module
"""
本模块用于计算公司员工的薪资
"""
company = "Clichong"
def yearsalary(monthsalary):
"""根据传入的月薪,计算出年薪"""
return monthsalary*12
def daysalary(monthsalary):
"""根据出入的月薪,计算出日薪"""
return monthsalary/12
print(yearsalary.__name__)
print(__name__)
#可以自定义测试函数
if __name__ == "__main__":
print(yearsalary(10000))
print(daysalary(10000))
Appelez également le module:
import mymodule01
import math
print(math.__name__)
print(mymodule01.__name__)
print(mymodule01.daysalary.__name__)
Lorsque le module est à nouveau appelé, tout le code sera exécuté, y compris deux instructions d'impression. Et le nom de __name __ dans le fichier de test n'est pas __main__, mais devient le nom du module mymodule01
3. Problème d'importation et module importlib
Le format de syntaxe de base de l'instruction d'importation est le suivant:
import module name # import a module
import module 1, module 2 ...
# import multiple modules import module name as module alias # import the module and use the new name
from module name importer membre 1, membre 2,…
#自定义导入模块名
from mymodule01 import daysalary as dd
from math import cos
#动态导入测试
import importlib
print(cos.__name__)
print(my.__name__)
print(dd.__name__)
s = "math"
Clichong = importlib.import_module(s)
print(Clichong.pi)
De manière générale, un module ne peut être importé qu'une seule fois et ne peut pas être importé plusieurs fois. Parfois, nous devons recharger un module. À ce stade, nous pouvons utiliser: importlib.reload ()
Exercice 2: Utilisation du package
1. Importation de colis
- Lorsque l'importation a.aa.module_AA
est utilisée, elle doit être citée avec un nom complet, par exemple: a.aa.module_AA.fun_AA ()
Lors de l'utilisation de a.aa import module_AA , vous pouvez directement utiliser le nom du module. Par exemple: module_AA.fun_AA ()- from a.aa.module_AA import fun_AA Importer directement la fonction
Lors de l'utilisation, vous pouvez utiliser directement le nom de la fonction. Par exemple: fun_AA ()
ps:
1) Dans cette grammaire de l'élément d'importation de package, l'élément peut être un package, un module ou une fonction, une
classe ou une variable.
2) Dans la grammaire de l'importation item1.item2, item doit être un package ou un module, pas d'autres.
L'essence du package importé est en fait le fichier "__init__.py package importé". En d'autres termes, "import pack1" signifie que le fichier __init__.py sous pack1 est exécuté. De cette façon, nous pouvons importer les modules dont nous avons besoin par lots dans __init__.py, au lieu de les importer un par un.
Les trois fonctions principales de __init__.py:
- En tant qu'identifiant du package, il ne peut pas être supprimé.
- Utilisé pour implémenter l'importation floue
- L'essence de l'importation d'un package est d'exécuter le fichier __init__.py, qui peut être initialisé dans le fichier __init__.py, et le
code doit être exécuté de manière uniforme et importé par lots.
2. Citation inclusive
from… import module_A #… représente le répertoire de niveau supérieur. représente le même répertoire
de niveau à partir de. import module_A2 # . représente le même répertoire de niveau
Exercice 3: chemin de recherche du module sys
Lorsque nous importons un certain fichier de module, où l'interpréteur Python recherche-t-il ce fichier? Ce n'est que lorsque ce fichier est trouvé que le fichier du module peut être lu, chargé et exécuté. Il recherche généralement le fichier du module selon le chemin suivant (recherche dans l'ordre, arrête et continue la recherche une fois trouvé):
- Module intégré
- Répertoire actuel
- Le répertoire principal du programme
- répertoire pythonpath (si la variable d'environnement pythonpath a été définie) #permanently valid
- Répertoire de bibliothèque de liens standard
- Répertoire des bibliothèques tierces (répertoire des packages de site)
- Le contenu du fichier .pth (s'il existe) #Permanemment valide
- sys.path.append () répertoire ajouté temporairement # n'est valide que pour le programme en cours
Afficher le chemin de recherche actuel:
import sys
#sys.path.append( "d:/") #动态添加环境变量
print(sys.path)
Les résultats sont les suivants:
['E:\\PyCharm\\workspace\\myImport', 'E:\\PyCharm\\workspace\\myImport', 'E:\\PyCharm\\PyCharm 2019.3.3\\plugins\\python\\helpers\\pycharm_display', 'E:\\PyCharm\\workspace\\myImport\\venv\\Scripts\\python37.zip', 'E:\\python\\python3.7\\DLLs', 'E:\\python\\python3.7\\lib', 'E:\\python\\python3.7', 'E:\\PyCharm\\workspace\\myImport\\venv', 'E:\\PyCharm\\workspace\\myImport\\venv\\lib\\site-packages', 'E:\\PyCharm\\workspace\\myImport\\venv\\lib\\site-packages\\setuptools-40.8.0-py3.7.egg', 'E:\\PyCharm\\workspace\\myImport\\venv\\lib\\site-packages\\pip-19.0.3-py3.7.egg', 'E:\\PyCharm\\PyCharm 2019.3.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
1. Le paramétrage de la variable d'environnement pythonpath
Vous pouvez voir qu'il a été construit
2. · Paramètres des variables d'environnement du fichier .pth
Ajoutez un fichier .pth sous le répertoire E: \ python \ python3.7 \ Lib \ site-packages. Et ajoutez du contenu au fichier.
Exercice 4: Version locale et installation du module
1. Version locale du module
- Créez un dossier avec la structure suivante pour le fichier du module (généralement, le nom du dossier est le même que le nom du module)
- Créez un fichier nommé "setup.py" dans le dossier avec le contenu suivant:
from distutils.core import setup
setup(
name='mypackage', # 对外我们模块的名字
version='1.1.1', # 版本号
description='这是第一个描述,用于测试本地包的发布', #描述
author='Clichong', # 作者
author_email='[email protected]',
py_modules=['mypackage.module01','mypackage.module02'] # 要发布的模块,还有一个不发布
)
- Créez un fichier de version. Via le terminal, accédez au dossier du module c, puis tapez la commande: La
commande est:
python setup.py sdist
Après exécution, la structure du répertoire devient:
2. Installation locale du module
- Installez la version sur votre ordinateur local. Toujours en mode ligne de commande cmd, entrez le répertoire où se trouve setup.py et tapez la commande
python setup.py install
2. Une fois l'installation réussie, nous entrons dans le répertoire python directory / Lib / site-packages (les modules tiers sont installés ici, et le chemin sera également recherché lors de l'exécution de l'interpréteur python)
Utilisez test:
success!
Exercice 5: Téléchargez le module sur PyPI
Lien de référence: document officiel
- Inscrivez-vous sur le site de PyPI: http://pypi.python.org
- Créez un fichier d'informations utilisateur .pypirc
Créez un fichier nommé .pypirc dans le répertoire personnel de l'utilisateur avec le contenu:
[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = 账户名
password = 你自己的密码
[Note]
Le répertoire de base de Linux: ~ / .pypirc
Le répertoire de base de Windows est: c: / user / username
. Il ne sera pas possible de créer un fichier qui ne contient pas de nom de fichier directement sous Windows, donc le nom de fichier est ".pypirc.",
Il y a deux points avant et après.
- Télécharger et publier à distance
Entrez le répertoire dans lequel se trouve le fichier setup.py et utilisez la commande "python setup.py sdist upload" pour télécharger et publier le code du module - Si votre module a été téléchargé avec succès, lorsque vous vous connectez au site Web de PyPI, vous devriez pouvoir voir l'entrée de gestion dans la barre de navigation à droite. Après avoir cliqué sur le nom du package à saisir, vous pouvez gérer votre module, bien sûr, vous pouvez également supprimer ce module à partir d'ici.