Maison développement back-end Tutoriel Python Comment écrire un fichier d'en-tête Python

Comment écrire un fichier d'en-tête Python

Jun 26, 2019 am 09:47 AM
python Dossier

Cet article utilise principalement python2 comme exemple. Tout d'abord, je présenterai le style de programmation des fichiers d'en-tête Python, puis je vous donnerai une introduction détaillée à l'utilisation de base de la partie importation. Ces deux parties sont les composants du fichier d'en-tête en Python.

Comment écrire un fichier d'en-tête Python

Style de programmation

#!/usr/bin/env python     #在文件头部 ( 第一行 ) 加上   设置 Python 解释器  
# -*- coding: utf-8 -*-  #在文件头部 ( 第二行 ) 加上   在编辑器中设置以 UTF-8 默认编码保存文件  
# Copyright (c) ***   #版权信息放在文件头部,文件编码之后    
# docstring 是Python特有的注释风格,它是模块、类或函数的第一个语句,可以通过__doc__方法访问   
# 用英语撰写注释,短注释可以忽略末尾的句号 (.)  
# docstring 为每个模块、类或函数撰写 
docstring 推荐使用三个双引号(”””) 来定义
docsting , 不推荐使用三个单引号 (''')  # 模块的 docsting 放在文件头部,版权信息之后    
”””This is a one line docstring.”””  
”””The title of a multiline docstring:  After title is the content.You can write it as long 
as needed.  ”””    # 把 import 语句放在文件头部,在模块 docstring 之后,在模块全局变量或全局常量之前  
# 按照从一般到特殊的原则分组 
import 语句,先 import 标准库,然后 import 第三方库,最后 import 程序中的自定义库  
# 在不同分组的 import 语句之间加空行   # 每个 import 语句只导入一个模块    
import sys   
import time    
from PyQt.QtCore import SIGNAL, QTimer    #  在终端中使用中文字符  在文件头部加上  
# import sys   
# reload(sys)   
# sys.setdefaultencoding('utf-8')

Recommandations associées : "Tutoriel vidéo Python"

importer

1. Application des bibliothèques système

Les bibliothèques système mentionnées ici font généralement référence aux bibliothèques fournies avec le logiciel Python, et non aux bibliothèques installées par des tiers. Par exemple, si sys est importé, comment sera-t-il imprimé ?

>>> import sys
>>> print sys
<module &#39;sys&#39; (built-in)>

Cela montre que la bibliothèque sys est probablement intégrée à Python et qu'il n'y a aucun moyen de la supprimer. Est-ce que toutes les bibliothèques sont comme ça ? Nous pouvons essayer os :

>>> import os
>>> print os
<module &#39;os&#39; from &#39;/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc&#39;>

Évidemment, la bibliothèque os ici est fournie par pyc, donc en termes de priorité, il semble que sys soit toujours nécessaire. Plus important.

2. Bibliothèques tierces

Les bibliothèques dites tierces sont des bibliothèques installées via l'installation de python setup.py, l'installation de pip ou l'installation d'apt-get. Il existe de nombreuses bibliothèques de ce type. Celles que j'utilise couramment incluent webpy, twisted, cv2, sklearn et wxpython. Ces bibliothèques, sans exception, existent toutes sous la forme de pyc. Par exemple, jetons un œil à webpy :

>>> import web
>>> print web
<module &#39;web&#39; from &#39;/usr/local/lib/python2.7/site-packages/web.py-0.40.dev0-py2.7.egg/web/__init__.pyc&#39;>

3. Référence de fichier du répertoire local

S'il s'agit d'une référence de fichier local, la méthode est en fait très simple, il suffit de l'importer directement. Si l'importation réussit, python générera le fichier pyc du fichier correspondant. Par exemple, si exer1.py veut référencer la fonction dans exer2.py, alors il peut faire ceci :

import exer2

ou

from exer2 import *

Deuxièmement, il convient de noter que cette méthode n'est pas seulement applicable Pour python, cela s'applique également aux fichiers de bibliothèque dynamiques. Nous savons que parfois, pour étendre les fonctions de Python, nous devons écrire des fichiers C pour générer des bibliothèques dynamiques que Python pourra utiliser. Les étudiants intéressés peuvent se référer à ce lien. À ce stade, si vous devez référencer un fichier de bibliothèque dynamique, importez simplement le nom du fichier directement.

4. Fichiers de sous-répertoire de référence

En plus des références de répertoires frères, les références de sous-répertoires sont également couramment utilisées. Par exemple, exer1.py et le sous-répertoire se trouvent dans le même dossier. Si exer1.py veut référencer exer2.py sous sous, que doit-il faire ? À ce stade, assurez-vous qu'il existe un fichier __init__.py dans le sous-répertoire.

from sub import exer2

ou,

from sub.exer2 import *

5. Les sous-répertoires font référence au répertoire parent

Parfois, le sous-répertoire utilise une partie du répertoire parent ou d'autres répertoires (similaires au répertoire util) Les fonctions nécessitent souvent des références arrière. À l’heure actuelle, la bibliothèque sys est utile. Supposons que exer1.py et le sous-répertoire soient au même niveau et qu'il y ait un fichier exer2.py dans le sous-répertoire. À ce stade, exer2.py veut référencer les fonctions de exer1.py, alors il peut le faire. :

import sys
sys.path.append(&#39;../&#39;)
import exer1

ou,

import sys
sys.path.append(&#39;../&#39;)
from exer1 import *

6 Référence croisée

S'il y a deux fichiers qui font l'objet d'une référence croisée, je vous suggère de conserver la référence d'un fichier à cet endroit. heure, et mettez la référence de l'autre fichier sous la fonction, par exemple Dites quelque chose comme ceci :

def process():
    import exer1
    exer1.add()

7 Suggestions sur l'ordre des fichiers d'importation

Concernant l'ordre des fichiers d'importation sous. python, mon expérience personnelle est que cet arrangement est plus raisonnable,

Bibliothèques système intégrées

Autres bibliothèques système

Bibliothèques tierces

Sous-répertoire bibliothèques

Autres fichiers locaux, etc.

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

Guide de construction d'Agnes Tachyon | Un joli Musume Derby
2 Il y a quelques semaines By Jack chen
Oguri Cap Build Guide | Un joli Musume Derby
3 Il y a quelques semaines By Jack chen
Péx: comment raviver les joueurs
4 Il y a quelques semaines By DDD
Guide de construction de Grass Wonder | Uma musume joli derby
1 Il y a quelques semaines By Jack chen
Pic comment émoter
3 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment gérer l'authentification de l'API dans Python Comment gérer l'authentification de l'API dans Python Jul 13, 2025 am 02:22 AM

La clé pour gérer l'authentification de l'API est de comprendre et d'utiliser correctement la méthode d'authentification. 1. Apikey est la méthode d'authentification la plus simple, généralement placée dans l'en-tête de demande ou les paramètres d'URL; 2. BasicAuth utilise le nom d'utilisateur et le mot de passe pour la transmission de codage Base64, qui convient aux systèmes internes; 3. OAuth2 doit d'abord obtenir le jeton via client_id et client_secret, puis apporter le Bearertoken dans l'en-tête de demande; 4. Afin de gérer l'expiration des jetons, la classe de gestion des jetons peut être encapsulée et rafraîchie automatiquement le jeton; En bref, la sélection de la méthode appropriée en fonction du document et le stockage en toute sécurité des informations clés sont la clé.

Comment analyser les grands fichiers JSON à Python? Comment analyser les grands fichiers JSON à Python? Jul 13, 2025 am 01:46 AM

Comment gérer efficacement les grands fichiers JSON dans Python? 1. Utilisez la bibliothèque IJSON pour diffuser et éviter le débordement de mémoire via l'analyse par éléments par éléments; 2. S'il est au format JSONLINes, vous pouvez le lire ligne par ligne et le traiter avec json.loads (); 3. Ou divisez le grand fichier en petits morceaux, puis le traitez séparément. Ces méthodes résolvent efficacement le problème de limitation de la mémoire et conviennent à différents scénarios.

Python pour la boucle sur un tuple Python pour la boucle sur un tuple Jul 13, 2025 am 02:55 AM

Dans Python, la méthode de traverser les tuples avec des boucles pour les boucles comprend directement itérer les éléments, obtenir des indices et des éléments en même temps, et le traitement des tuples imbriqués. 1. Utilisez la boucle pour accéder directement à chaque élément de séquence sans gérer l'index; 2. Utilisez EnuMerate () pour obtenir l'index et la valeur en même temps. L'indice par défaut est 0 et le paramètre de démarrage peut également être spécifié; 3. Les tuples imbriqués peuvent être déballés dans la boucle, mais il est nécessaire de s'assurer que la structure des sous-tables est cohérente, sinon une erreur de déballage sera augmentée; De plus, le tuple est immuable et le contenu ne peut pas être modifié dans la boucle. Les valeurs indésirables peuvent être ignorées par \ _. Il est recommandé de vérifier si le tuple est vide avant de traverser pour éviter les erreurs.

Comment passer des appels API asynchrones dans Python Comment passer des appels API asynchrones dans Python Jul 13, 2025 am 02:01 AM

Python implémente les appels API asynchrones avec Async / Await avec AIOHTTP. Utilisez Async pour définir les fonctions Coroutine et les exécuter via le pilote asyncio.run, par exemple: asyncdeffetch_data (): AwaitAsyncio.Sleep (1); lancer des demandes HTTP asynchrones via AIOHTTP, et utilisez AsyncWith pour créer des clients de clients et attendre le résultat de la réponse; utiliser asyncio.gather pour emballer la liste des tâches; Les précautions comprennent: éviter les opérations de blocage, ne pas mélanger le code de synchronisation et le jupyter doit gérer les boucles d'événements spécialement. Master Eventl

Qu'est-ce que si d'autre dans Python Qu'est-ce que si d'autre dans Python Jul 13, 2025 am 02:48 AM

Ifelse est l'infrastructure utilisée dans Python pour un jugement conditionnel, et différents blocs de code sont exécutés par l'authenticité de la condition. Il prend en charge l'utilisation d'ELIF pour ajouter des branches lors du jugement multi-conditions, et l'indentation est la clé de syntaxe; Si num = 15, le programme produit "ce nombre est supérieur à 10"; Si la logique d'attribution est requise, les opérateurs ternaires tels que status = "adulte" ifage> = 18Else "mineur" peuvent être utilisés. 1. Ifelse sélectionne le chemin d'exécution en fonction des conditions vraies ou fausses; 2. ELIF peut ajouter plusieurs branches de condition; 3. L'indentation détermine la propriété du code, les erreurs conduiront à des exceptions; 4. L'opérateur ternaire convient aux scénarios d'attribution simples.

Qu'est-ce qu'une fonction pure dans Python Qu'est-ce qu'une fonction pure dans Python Jul 14, 2025 am 12:18 AM

Les fonctions pures dans Python se réfèrent à des fonctions qui renvoient toujours la même sortie sans effets secondaires compte tenu de la même entrée. Ses caractéristiques incluent: 1. Le déterminisme, c'est-à-dire que la même entrée produit toujours la même sortie; 2. Pas d'effets secondaires, c'est-à-dire pas de variables externes, pas de données d'entrée et aucune interaction avec le monde extérieur. Par exemple, Defadd (A, B): Returna B est une fonction pure car peu importe le nombre de fois qu'Add (2,3) est appelé, il renvoie toujours 5 sans changer d'autres contenus dans le programme. En revanche, les fonctions qui modifient les variables globales ou modifient les paramètres d'entrée sont des fonctions non-pure. Les avantages des fonctions purs sont: plus faciles à tester, plus adaptés à l'exécution simultanée, les résultats du cache pour améliorer les performances et peuvent être bien adaptés à des outils de programmation fonctionnelle tels que MAP () et Filter ().

Une classe Python peut-elle avoir plusieurs constructeurs? Une classe Python peut-elle avoir plusieurs constructeurs? Jul 15, 2025 am 02:54 AM

Oui, apythonclasscanhavemultipleconstructorshroughalterativetechniques.1.UseaultArgumentsInthe__Init__MethodtoallowflexibleInitializationwithVaryingNumbersofParameters.2.DefineclassMethodsAnterveConstructorForCeleArandScalableableBjectCraturé

Comment empêcher une méthode d'être remplacée dans Python? Comment empêcher une méthode d'être remplacée dans Python? Jul 13, 2025 am 02:56 AM

Dans Python, bien qu'il n'y ait pas de mot-clé final intégré, il peut simuler des méthodes insurpassables grâce à la réécriture du nom, des exceptions d'exécution, des décorateurs, etc. 1. Utilisez le préfixe de trait de soulignement pour déclencher la réécriture du nom, ce qui rend difficile les sous-classes pour écraser les méthodes; 2. Jugez le type de l'appelant dans la méthode et lancez une exception pour empêcher la redéfinition de la sous-classe; 3. Utilisez un décorateur personnalisé pour marquer la méthode comme final et vérifiez-le en combinaison avec Metaclass ou Decorator de classe; 4. Le comportement peut être encapsulé en tant qu'attributs de propriété pour réduire la possibilité d'être modifiés. Ces méthodes offrent différents degrés de protection, mais aucun d'entre eux ne restreint complètement le comportement de couverture.

See all articles