Módulos e pacotes de exercícios Python

Exercício 1: Primeira experiência com as configurações do módulo
1. __doc __ imprimir a descrição funcional do módulo ou sua função

Módulo projetado: denominado mymodule01

"""
本模块用于计算公司员工的薪资
"""

company = "Clichong"

def yearsalary(monthsalary):
    """根据传入的月薪,计算出年薪"""
    return monthsalary*12

def daysalary(monthsalary):
    """根据出入的月薪,计算出日薪"""
    return monthsalary/12

Código de teste:

import mymodule01
import math

#测试自定义的模块
print(mymodule01.__doc__)
print(mymodule01.yearsalary.__doc__)
print(mymodule01.daysalary.__doc__)

#测试第三方库模块
print(math.cos.__doc__)
print(math.acos.__doc__)

resultado:
Insira a descrição da imagem aqui

2. __name __ pode obter o nome do módulo
"""
本模块用于计算公司员工的薪资
"""

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))

Insira a descrição da imagem aqui
Também chame o módulo:

import mymodule01
import math

print(math.__name__)
print(mymodule01.__name__)
print(mymodule01.daysalary.__name__)

Quando o módulo for chamado novamente, todo o código será executado, incluindo duas instruções de impressão. E o nome de __name __ no arquivo de teste não é __main__, mas se torna o nome do módulo mymodule01
Insira a descrição da imagem aqui

3. Problema de importação e módulo importlib

O formato de sintaxe básico da instrução de importação é o seguinte:
importar o nome do módulo # importar um módulo,
importar módulo 1, módulo 2 ...
#importar vários módulos importar o nome do módulo como alias do módulo # importar o módulo e usar o novo nome
do nome do módulo importar membro 1, membro 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)

Insira a descrição da imagem aqui
De um modo geral, um módulo só pode ser importado uma vez e não pode ser importado várias vezes. Às vezes, é necessário recarregar um módulo. Neste momento, podemos usar: importlib.reload ()

Exercício 2: Uso do pacote
1. Importação de pacotes
  1. Quando a importação a.aa.module_AA
    é usada, deve ser citada com um nome completo, por exemplo: a.aa.module_AA.fun_AA ()

  2. Ao usar from a.aa import module_AA , você pode usar diretamente o nome do módulo. Por exemplo: module_AA.fun_AA ()
  3. from a.aa.module_AA import fun_AA Importar função diretamente
    Ao usar, você pode usar diretamente o nome da função. Por exemplo: fun_AA ()

ps:
1) Nesta gramática do item de importação de pacote, o item pode ser um pacote, um módulo ou uma função,
classe ou variável.
2) Na gramática de importação item1.item2, o item deve ser um pacote ou módulo, não outros.

A essência do pacote importado é, na verdade, o arquivo "__init__.py pacote importado". Em outras palavras, "import pack1" significa que o arquivo __init__.py em pack1 é executado. Desta forma, podemos importar os módulos de que precisamos em lotes em __init__.py, em vez de importá-los um por um.
As três funções principais de __init__.py:

  1. Como identificador do pacote, ele não pode ser excluído.
  2. Usado para implementar importação difusa
  3. A essência da importação de um pacote é executar o arquivo __init__.py, que pode ser inicializado no arquivo __init__.py, e o
    código precisa ser executado uniformemente e importado em lotes.
2. Citação inclusiva

from… import module_A #… representa o diretório de nível superior. representa o mesmo diretório de nível
de. import module_A2 # .representa o mesmo diretório de nível
Insira a descrição da imagem aqui

Exercício 3: caminho de pesquisa do módulo sys

Quando importamos um determinado arquivo de módulo, onde o interpretador Python procura esse arquivo? Somente quando este arquivo for encontrado, o arquivo do módulo pode ser lido, carregado e executado. Geralmente, procura o arquivo do módulo de acordo com o seguinte caminho (pesquise em ordem, pare e continue procurando quando for encontrado):

  1. Módulo embutido
  2. Diretório atual
  3. O diretório principal do programa
  4. diretório pythonpath (se a variável de ambiente pythonpath tiver sido definida) #permanentemente válido
  5. Diretório de biblioteca de links padrão
  6. Diretório de bibliotecas de terceiros (diretório de pacotes de sites)
  7. O conteúdo do arquivo .pth (se existir) #Permanentemente válido
  8. sys.path.append () o diretório adicionado temporariamente # é válido apenas para o programa atual

Veja o caminho de pesquisa atual:

import sys
#sys.path.append( "d:/")	#动态添加环境变量
print(sys.path)

Os resultados são os seguintes:

['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. A configuração da variável de ambiente pythonpath

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Você pode ver que foi construído

2. · Configurações de variáveis ​​de ambiente de arquivo .pth

Adicione um arquivo .pth no diretório E: \ python \ python3.7 \ Lib \ site-packages. E adicione conteúdo ao arquivo.
Insira a descrição da imagem aqui

Exercício 4: Liberação local e instalação do módulo
1. Liberação local do módulo
  1. Crie uma pasta com a seguinte estrutura para o arquivo do módulo (geralmente, o nome da pasta é o mesmo que o nome do módulo)
    Insira a descrição da imagem aqui
  2. Crie um arquivo chamado "setup.py" na pasta com o seguinte conteúdo:
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'] # 要发布的模块,还有一个不发布
)
  1. Crie um arquivo de lançamento. Por meio do terminal, faça cd para a pasta do módulo c e digite o comando: O
    Insira a descrição da imagem aqui
    comando é:
python setup.py sdist

Insira a descrição da imagem aqui
Após a execução, a estrutura do diretório se torna:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

2. Instalação local do módulo
  1. Instale a versão em seu computador local. Ainda operando no modo de linha de comando cmd, digite o diretório onde setup.py está localizado e digite o comando
python setup.py install

Insira a descrição da imagem aqui
2. Depois que a instalação for bem-sucedida, entramos no diretório python directory / Lib / site-packages (os módulos de terceiros são instalados aqui e o caminho também será pesquisado quando o interpretador python for executado)
Insira a descrição da imagem aqui
Use test:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
success!

Exercício 5: Faça upload do módulo para PyPI

Link de referência: documento oficial

  1. Registre-se no site do PyPI: http://pypi.python.org
  2. Criar um arquivo de informações do usuário .pypirc
    Crie um arquivo chamado .pypirc no diretório inicial do usuário com o conteúdo:
[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = 账户名
password = 你自己的密码

[Nota]
O diretório inicial do Linux: ~ / .pypirc
O diretório inicial do Windows é: c: / usuário / nome de usuário
. Não será possível criar um arquivo que não contenha um nome de arquivo diretamente no Windows, então o nome do arquivo é ".pypirc.",
Existem dois pontos antes e depois.

  1. Faça upload e publique remotamente
    Insira o diretório onde o arquivo setup.py está localizado e use o comando "python setup.py sdist upload" para fazer upload e publicar o código do módulo
  2. Se o seu módulo foi carregado com sucesso, então, quando você fizer login no site do PyPI, deverá ser capaz de ver a entrada de gerenciamento na barra de navegação à direita. Depois de clicar no nome do pacote para entrar, você pode gerenciar seu módulo, é claro, você também pode excluir este módulo daqui.

Acho que você gosta

Origin blog.csdn.net/weixin_44751294/article/details/109775049
Recomendado
Clasificación