当前位置: 首页 > 图灵资讯 > 行业资讯> python 头文件怎么写

python 头文件怎么写

发布时间:2025-09-18 14:12:30

本文主要以python2为例。首先介绍Python头文件的编程风格,然后详细介绍import部分的基本用法。这两部分是Python头文件的组成模块。

编程风格

#!/usr/bin/envpython#在文件头部(第一行)添加Python解释器
#-*-coding:utf-8-*-#在文件头部(第二行)和编辑器中设置UTF-8默认编码以保存文件
#Copyright(c)***#文件头部放置版权信息,文件编码后
#docstring是Python特有的注释风格,是模块、类别或函数的第一句话,可以通过__doc__方法访问
#用英语写注释,短注释可以忽略结尾的句号(.)
#docstring为每个模块编写类或函数
推荐使用三个双引号(”)定义docstring
docsting,不建议使用三个单引号(');'')#文件头部放置模块的docsting,版权信息之后
”””Thisisaonelinedocstring”””
”””Thetitleofamultilinedocstring:Aftertitleisthecontent.Youcanwriteitaslong
asneeded“”#将import语句放在文件头部,在模块docstring之后,在模块全局变量或全局常量之前
#按照从一般到特殊的原则分组
import语句,先import标准库,再import第三方库,import程序中的最终自定义库
#在不同组的import语句之间添加空行#每个import语句只导入一个模块
importsys
importtime
fromPyQt.QtCoreimportSIGNAL,QTimer#在终端中使用中文字符在文件头部添加
#importsys
#reload(sys)
#sys.setdefaultencoding('utf-8')

相关推荐:Python教程

import

1、应用系统库

这里提到的系统库一般是指python软件自带的库,而不是第三方安装的库。例如,如果import sys,怎么打印?

>>>importsys
>>>printsys
<module'sys'(built-in)>

这表明sys库很可能嵌入python中,根本无法删除。所有的图书馆都是这样的吗?我们可以试试os:

>>>importos
>>>printos
<module'os'from'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc'>

很明显,这里的os库是pyc提供的,所以sys似乎在优先级方面更重要。

2、第三方库

所谓第三方库,就是通过python setup.py install安装、pip安装或通过apt-get 安装在install的图书馆。有很多这样的图书馆,我经常使用webpy、twisted、cv2、sklearn、wxpython,这些lib无一例外都以pyc的形式存在。例如,让我们来看看webpy:

>>>importweb
>>>printweb
<module'web'from'/usr/local/lib/python2.7/site-packages/web.py-0.40.dev0-py2.7.egg/web/__init__.pyc'>

3、引用本地目录文件

如果引用本地文件,方法也很简单,直接import就可以了。如果import成功,python将生成相应文件的pyc文件。例如,exer1.py想引用exer2.py中的函数,所以它可以这样做:

importexer

或者是

fromexer2import*

其次,需要注意的是,这种方法不仅适用于python,也适用于动态库文件。我们知道,有时为了扩展python功能,我们需要编写c文件来生成python使用的动态库。感兴趣的学生可以参考此链接。此时,如果需要引用动态库文件,请直接使用import文件名称。

4、引用子目录文件

除同级目录引用外,子目录引用更为常用。例如,exer1.如果exer11下面有py和sub目录.py想在sub下引用exer2.py,那么它该怎么办呢?此时,必须确保SUB目录下有__init__.py文件。

fromubimportexer

或者是,

fromsub.exer2import*

5、父目录引用子目录

有时,子目录经常反向引用,以使用父目录或其他目录(类似于util目录)的某些功能。此时,sys库派上了用场。假设exer1.py和sub目录在同一级别,sub目录下有exer2.此时exer2py文件.py想引用exer1.py的功能,那么它就可以这样操作了:

importsys
sys.path.append('../')
importexer

或者是,

importsys
sys.path.append('../')
fromexer1import*

6、交叉引用

如果有两个文件交叉引用,此时我建议保留一个文件的引用,另一个文件的引用可以放在函数下,例如:

defprocess():
importexer
exer1.add()

7、建议import文件的顺序

关于python下import文件的顺序,我个人的经验是这样安排的比较合理,

built-in 系统库

其他系统库

第三方库

子目录库

其他本地文件等

相关文章

python 头文件怎么写

python 头文件怎么写

2025-09-18
python怎么调用sikuli

python怎么调用sikuli

2025-09-18
python怎么判断整数

python怎么判断整数

2025-09-18
python中如何求阶乘

python中如何求阶乘

2025-09-18
python怎么连接oracle

python怎么连接oracle

2025-09-18
python连接数据库失败怎么解决

python连接数据库失败怎么解决

2025-09-18