Explorez l'utilisation des packages Python
Les packages Python vous permettent de diviser de grands systèmes et d'organiser leurs modules de manière cohérente afin que vous et d'autres puissiez les utiliser et les réutiliser efficacement. La devise de Python « batterie intégrée » signifie qu'il est préinstallé avec de nombreux packages utiles dans la bibliothèque standard.
Mais vous pouvez également profiter de nombreux logiciels tiers incroyables. Dans ce didacticiel, vous apprendrez tout ce que vous devez savoir sur ce qu'est exactement un package, comment importer des modules à partir d'un package, explorer les packages intégrés dans la bibliothèque standard Python et installer des packages tiers.
Qu'est-ce qu'un sac ?
Avant de discuter des packages, parlons d’abord des modules. Les modules sont des fichiers sources avec l'extension *.py
dans lesquels vous (et d'autres) placez les fonctions et les classes qui composent votre programme.
Un package en Python n'est qu'un dossier contenant plusieurs fichiers Python, et il devrait y avoir un __init__.py
文件。 __init__.py
文件表明该目录是一个包。 __init__.py
fichier qui peut être vide ou contenir du code exécutable.
Les packages sont l'incarnation du concept d'espace de noms hiérarchique de Python. Citant le Zen de Python :
"Les espaces de noms sont une excellente idée - faisons-en davantage !"
Pour visualiser l'intégralité de Python Zen, entrez import this
dans une session interactive Python :
>>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! >>>
Les espaces de noms aident à organiser le code et à éviter les conflits de noms. Ceci est crucial lorsque plusieurs personnes travaillent ensemble ou utilisent des packages développés par d’autres.
Bien qu'un package représente une hiérarchie de sous-packages et de modules (qui sont des fichiers), la hiérarchie ne doit pas nécessairement être basée sur un système de fichiers, où les packages et les sous-packages sont des répertoires et sous-répertoires. C'est beaucoup plus flexible que ça.
Créer un package Python
Commençons par un exemple simple. Ci-dessous, nous avons un package appelé simple_package
qui contient deux modules Python.
simple_package . ├── __init__.py ├── tasks.py └── views.py 0 directories, 3 files
- __init__.py : indique qu'il s'agit d'un package
- tasks.py et views.py sont des modules
Progiciels tiers
Jetons un coup d'œil au package appelé ansible. Ce n'est pas un package dans la bibliothèque standard. Vous verrez plus tard comment rechercher et installer des packages tiers. Examinons maintenant la structure des fichiers de répertoires.
Ces packages sont généralement installés dans le répertoire site-packages de l'interpréteur Python, quelque part sous lib (selon la version, le système d'exploitation et la distribution).
Par exemple, sur un Mac, Python 3.10 se trouvera dans
tree ansible -L 1 ansible ├── cli ├── collections ├── compat ├── config ├── constants.py ├── context.py ├── errors ├── executor ├── galaxy ├── __init__.py ├── inventory ├── keyword_desc.yml ├── __main__.py ├── modules ├── module_utils ├── parsing ├── playbook ├── plugins ├── __pycache__ ├── release.py ├── template ├── utils ├── vars └── _vendor 18 directories, 6 files
Il y a 6 modules et 18 répertoires. Chaque répertoire est un sous-paquet du package ansible principal. En regardant le répertoire ansible/utils, on voit qu'il contient d'autres modules et même un sous-package :
tree ansible/utils -L 1 ansible/utils ├── cmd_functions.py ├── collection_loader ├── color.py ├── context_objects.py ├── display.py ├── encrypt.py ├── fqcn.py ├── galaxy.py ├── hashing.py ├── helpers.py ├── __init__.py ├── jsonrpc.py ├── _junit_xml.py ├── listify.py ├── lock.py ├── multiprocessing.py ├── native_jinja.py ├── path.py ├── plugin_docs.py ├── py3compat.py ├── sentinel.py ├── shlex.py ├── singleton.py ├── ssh_functions.py ├── unicode.py ├── unsafe_proxy.py ├── vars.py └── version.py 1 directory, 27 files
Chemin de recherche
Lorsque vous importez un module, Python effectuera un algorithme de recherche basé sur le chemin de recherche, qui est la liste des répertoires dans lesquels lancer la recherche. Un chemin de recherche est une liste de répertoires disponibles via sys.path
et vous pouvez le manipuler dynamiquement (ajouter, supprimer ou déplacer des éléments dans le chemin de recherche). Le répertoire site-packages existe toujours.
Pour importer le module path.py depuis ansible/utils vous devez utiliser la commande suivante :
import ansible.utils.path
Pour importer le module path
和 encrypt
, utilisez la commande suivante :
import ansible.utils.path import ansible.utils.encrypt
Si vous souhaitez également utiliser le module os.path standard, vous utiliserez la commande suivante :
import os.path
Vous pouvez désormais utiliser l'un ou les deux modules de chemin sans entrer en conflit en raison de l'espace de noms auquel ils appartiennent.
Explorez la bibliothèque standard
La bibliothèque standard contient de nombreux packages. Chaque fois que vous devez accomplir une tâche mais que vous ne savez pas comment procéder, cela vaut la peine de l'explorer. Pour toute tâche courante, telle que les mathématiques, l'intégration du shell, l'intégration du système d'exploitation, la manipulation de chaînes, la mise en réseau et les formats de fichiers courants, il existe très probablement un package bien conçu, performant et bien testé dans la bibliothèque standard
.Vous pouvez vraiment faire confiance aux packages de bibliothèque standard, car accéder à la bibliothèque standard est un gros problème. Le package a été conçu par les principaux développeurs Python ou a été soigneusement vérifié et largement utilisé sur le terrain en tant que bibliothèque tierce avant d'être intégré à la bibliothèque standard.
Voici tous les packages de la bibliothèque standard organisés par thème.
PyPI
La bibliothèque standard est excellente, mais vous avez souvent besoin de fonctionnalités spéciales qui ne sont pas standard. Cela ne signifie pas que vous devez l'écrire à partir de zéro. Python possède une communauté dynamique et active qui développe et partage gratuitement de nombreux codes. Entrez PyPI : l'index des packages Python. PyPI héberge tous les progiciels accessibles au public et fournit un guichet unique pour les parcourir.
浏览 PyPI
PyPI 将包组织在可浏览的索引中。您可以按主题、环境、框架、开发、状态、目标受众、许可证、自然语言、编程语言(是的,有支持多种编程语言的 Python 包)和操作系统来浏览和搜索。
截至 2021 年,PyPI 不再显示软件包的下载统计信息,因为维护统计信息所需的资源导致其效率低下。
安装软件包
有两种方法可以从 PyPI 安装软件包。您可以下载该软件包,然后运行 python setup.py install
。但现代的方法是使用 pip、setuptools 和wheel。
从 Python 3.4 和 Python 2.79 开始默认包含 Pip 和 setuptools,但您需要升级到最新版本:
- Linux/macOS:
pip install -U pip setuptools
- Windows:
python -m pip install -U pip setuptools
使用pip安装wheel:
pip install wheel.
要使用 pip 安装软件包,请发出此命令。
pip install <package_name>
其中 package_name
是包的名称。例如,要安装 Ansible,命令如下所示:
pip install ansible
如果需要特定版本,也可以指定如下:
pip install ansible==7.0
Python 包始终安装到环境中。我在这里不会介绍的一种常见做法是使用虚拟环境来管理具有不同解释器和/或不同安装包集的多个独立的 Python 安装。您可以在此处阅读有关虚拟环境的更多信息。
最佳实践
Python 打包权威提供了大量有关打包最佳实践的指导。这很重要,因为这是一个正在积极开发的领域,并且建议会快速发展。
此外,如果您想做一些特别的事情,例如从替代存储库而不是 PyPI 安装软件包或以更复杂的方式使用 pip,您会发现精彩的讨论和实用的建议。
结论
当您是 Python 初学者时,您会学习核心语言并享受使用它的乐趣。很快您就会发现标准库,并且随着您获得更多经验,您会从它的丰富性中受益越来越多。
作为 Pythonista,您发展的下一阶段是将 Python 社区在 PyPI 上带来的巨大优势融入到您的系统中。包作为可重用 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.
