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

爱喝马黛茶的安东尼
Libérer: 2019-06-26 09:47:33
original
18257 Les gens l'ont consulté

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')
Copier après la connexion

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)>
Copier après la connexion

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;>
Copier après la connexion

É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;>
Copier après la connexion

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
Copier après la connexion

ou

from exer2 import *
Copier après la connexion

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
Copier après la connexion

ou,

from sub.exer2 import *
Copier après la connexion

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
Copier après la connexion

ou,

import sys
sys.path.append(&#39;../&#39;)
from exer1 import *
Copier après la connexion

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()
Copier après la connexion

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!

É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