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

编程风格#!/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')

import

1、系统库的应用

这里说的系统库,一般是指python软件自带的库,不是从第三方安装的库。比如说,如果import sys了,会怎么打印。>>> import sys

>>> print sys

这说明sys库很有可能就是嵌入在python里面的,根本没有办法删除。那是不是所有的库都是这样呢,我们可以找os试一试:>>> import os

>>> print os

很明显,这里的os库是由pyc提供的,所以从优先级来说,似乎sys还要更重要一些。

2、第三方库

所谓第三方库,就是通过python setup.py install安装、pip安装或者通过apt-get install安装的库。这类库很多,我自己常用的就有webpy、twisted、cv2、sklearn、wxpython,这些lib无一例外,都是以pyc的形式存在的。比如说,我们看一下webpy:>>> import web

>>> print web

3、本地目录文件引用

如果是本地文件引用,其实方法也很简单,直接import一下就可以了。如果import成功,python就会生成对应文件的pyc文件。比如说,exer1.py想引用一下exer2.py中的函数,那么它可以这么做:import exer2

或者是from exer2 import *

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

4、引用子目录文件

除了同级目录引用之外,另外用的比较多的就是子目录引用。比如说,exer1.py和sub目录在一个文件夹下面,如果exer1.py想引用sub下面的exer2.py,那么它应该怎么做呢?这个时候,一定要保证sub目录下有__init__.py文件。from sub import exer2

或者是,from sub.exer2 import *

5、子目录引用父目录

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

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

import exer1

或者是,import sys

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

from exer1 import *

6、交叉引用

如果有两个文件交叉引用,这个时候我建议可以保留一个文件的引用,另外一个文件的引用可以放到函数下面来做,比如说像这样:def process():

import exer1

exer1.add()

7、import文件的顺序建议

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

built-in 系统库

其他系统库

第三方库

子目录库

本地其他文件等等

以上就是python头文件怎么写的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python文件是怎么写_python头文件怎么写相关推荐

  1. VS2019中在源文件中如何使用自己写的头文件(保姆级教程)

    VS2019中在源文件中如何使用自己写的头文件 前言 开始教程 建立一个头文件 建立头文件对应的.cpp文件 在其余源文件中使用 可能出现的错误 前言 一个完整的头文件应该分为:.h文件与.cpp文件 ...

  2. c语言头文件_C语言学习之头文件的原理和使用方法

    头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享.有两种类型的头文件:程序员编写的头文件和编译器自带的头文件. 在程序中要使用头文件,需要使用 C 预处理指令 #i ...

  3. 套头文件html重复,关于C++头文件重复包含的问题

    #ifndef PEOPLE_H #define PEOPLE_H /* - */ #endif 这样写能够防止头文件被重复包含 在头文件中定义变量不是不规范,而是一种错误. 原因在于 如果在head ...

  4. 基于F28335的Simulink代码生成(四)——如何链接可以访问底层文件的外部源文件和头文件

    基于F28335的Simulink代码生成系列文章目录 基于F28335的Simulink代码生成(一)--搞懂模型的运行逻辑 基于F28335的Simulink代码生成(二)--EPWM模块同步设置 ...

  5. php头文件是什么,c++万能头文件是什么?

    c++万能头文件是:"#include".头文件是一种包含功能函数.数据接口声明的载体文件:其主要用于保存程序的声明,而定义文件用于保存程序的实现. 在C语言家族程序中,头文件被大 ...

  6. gcc编译c文件中包含其他的头文件

    gcc编译c文件中包含其他的头文件时,需要将所包含的头文件和要编译的这个c文件放在同一目录下,否则会报错:

  7. c语言gets函数头文件string.h,string函数头文件

    string.h头文件中有什么函数 string.h头文件中的函数: #include //STL 通用算法 #include //STL 位集容器 #include //复数类 #include / ...

  8. python编程头文件_python头文件怎么写

    本文主要以python2为例.首先介绍一下Python头文件的编程风格,然后再给大家详细介绍import部分的基本用法.这两个部分就是Python中头文件的组成模块. 编程风格#!/usr/bin/e ...

  9. python有头文件吗_python头文件怎么写

    1.python编辑时可以不要头文件吗 win下py代码,头文件是#-*-encoding:utf-8-*-,是告诉python解释器, 应该以utf-8编码来解释py文件, 对于python 2.6 ...

最新文章

  1. TabHost.TabSpec中的标签实现图文左右排(默认上下排)
  2. [Android]《Android艺术开发探索》第一章读书笔记
  3. 2017你该买房,还是卖房?
  4. 经典C语言程序100例之七六
  5. 向上滚动 终端_ubuntu
  6. 【君义精讲】多种方法求斐波那契数列
  7. 安装nginx时关系依赖库openssl.lib时,出现:error: 'NR_syscalls' undeclared (first use in this function)
  8. 自治时代:Oracle 公有云离我们很近,自治数据库离我们还远
  9. nodejs pm2教程(转载)
  10. iOS底层探索之类的结构(下):objc_setProperty
  11. 125. 如何修改PHP的memory_limit限制
  12. SHELL脚本递归循环,文件名包含空格的处理办法
  13. 项目日报模板_能力再强也要常向领导汇报工作,掌握万能模板,不做职场小透明...
  14. 关于微信开发者工具终端窗口不能输入字符问题
  15. 新疆职称英语和职称计算机,职称计算机考试题库
  16. PDF文件点击打印按钮没反应
  17. Drilldown饼状图
  18. 一根网线连接两台电脑,从而实现数据的传输
  19. 编译原理第六七章总结
  20. 云原生之Kubernetes:24、污点和容忍度详解

热门文章

  1. 【剑指offer】面试题61:扑克牌中的顺子(java)
  2. antimalware可以关闭吗_iPhone最好关闭这4个设置,手机流畅还省电
  3. php中用户验证的方式,在php中进行用户身份验证的最佳方式是什么?
  4. text 两端对齐 小程序_小程序实现文字两端对齐
  5. 数字图像处理:图像的频域
  6. 深度学习可视化的一些工具+pytorch实现回归与卷积可视化
  7. pandas分析各国家交易情况
  8. numpy基础知识点
  9. 爬虫神器Requests: 让 HTTP 服务人类
  10. 全能终端神器 --- MobaXterm 、开启 linux 远程桌面