小编给大家分享一下python头文件的编程风格,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
本文主要以python2为例,首先介绍一下python头文件的编程风格,然后再给大家详细介绍导入部分的基本用法。这两个部分就是python中头文件的组成模块。
<强>编程风格强>
# !/usr/bin/env python ,,,, #在文件头部,(,第一行,),加上,,,设置,python 解释器,, #,- *安康;编码:,utf-8 - *安康;,#在文件头部,(,第二行,),加上,,,在编辑器中设置以,utf-8 默认编码保存文件,, #,Copyright (c), * * *,,, #版权信息放在文件头部,文件编码之后,,,, #,docstring 是Python特有的注释风格,它是模块,类或函数的第一个语句,可以通过__doc__方法访问,,, #,用英语撰写注释,短注释可以忽略末尾的句号,(.),, #,docstring 为每个模块,类或函数撰写, docstring 推荐使用三个双引号(“”),来定义 docsting ,,不推荐使用三个单引号,(& # 39;& # 39;& # 39;),,#,模块的,docsting 放在文件头部,版权信息之后,,,, ”“”却;能够is a  one line 所以。””“,, “””,title of  a multiline docstring:,, After title is 从而content.You 还要write it as long as 只需要,”“”,,,#,把,import 语句放在文件头部,在模块,docstring 之后,在模块全局变量或全局常量之前,, #,按照从一般到特殊的原则分组, import 语句,先,import 标准库,然后,import 第三方库,最后,import 程序中的自定义库,, #,在不同分组的,import 语句之间加空行,,,#,每个,import 语句只导入一个模块,,,, import sys ,, import time ,,, 时间信号,得到PyQt.QtCore import QTimer ,,, #,,在终端中使用中文字符,,在文件头部加上 #,import sys ,, #,重载(系统),,, #,sys.setdefaultencoding (& # 39; utf - 8 # 39;)
<强>进口强>
1,系统库的应用
这里说的系统库,一般是指python软件自带的库,不是从第三方安装的库,比如说,如果导入系统了,会怎么打印。
在祝辞祝辞import 系统 在祝辞祝辞print 系统 & lt; module & # 39; sys # 39;,(内置)在
这说明sys库很有可能就是嵌入在python里面的,根本没有办法删除。那是不是所有的库都是这样呢,我们可以找操作系统试一试:
在祝辞祝辞import 操作系统 在祝辞祝辞print 操作系统 & lt; module & # 39;操作系统# 39;,得到& # 39;地窖/usr/地方//python/2.7.13/框架/Python.framework/版本/2.7/lib/python2.7 os.pyc& # 39;在
很明显,这里的操作系统库是由佩克提供的,所以从优先级来说,似乎sys还要更重要一些。
2,第三方库
所谓第三方库,就是通过python设置。py安装安装,pip安装或者通过apt-get安装安装的库。这类库很多,我自己常用的就有webpy,扭曲,cv2, sklearn, wxpython,这些自由无一例外,都是以pyc的形式存在的。比如说,我们看一下webpy:
在祝辞祝辞import 网络 在祝辞祝辞print 网络 & lt; module & # 39;网络# 39;,得到& # 39;/usr/地方/lib/python2.7/网站/web.py-0.40.dev0-py2.7.egg/web/__init__.pyc& # 39;在
3,本地目录文件引用
如果是本地文件引用,其实方法也很简单,直接进口一下就可以了。如果进口成功,python就会生成对应文件的佩克文件。比如说,exer1.py想引用一下exer2.py中的函数,那么它可以这么做:
import exer2
或者是
得到exer2 import *
其次,要注意的是,这种方法不光适用于python,也适用于动态库文件。我们知道,有的时候为了扩展python功能,需要写c文件生成动态库供python使用。有兴趣的同学可以参考这个链接。这个时候,如果需要引用动态库文件,直接进口文件名就可以了。
4,引用子目录文件
除了同级目录引用之外,另外用的比较多的就是子目录引用。比如说,exer1.py和子目录在一个文件夹下面,如果exer1.py想引用子下面的exer2.py,那么它应该怎么做呢?这个时候,一定要保证子目录下有__init__。py文件。