本文主要以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. C++库文件和头文件编写教程

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 「本文介绍了在Linux系统下生成库文件,以及编写头文件来使用该库 ...

  2. #include sys/xxx.h头文件 UNIX头文件

    原文地址:#include sys/xxx.h头文件 UNIX头文件 作者:embededgood #include sys/xxx.h是Linux系统中的系统头文件 应用程序的头文件在/usr/in ...

  3. string类 string.h头文件 cstring头文件区别以及读取一行字符串总结

    以前一直分不清string类  string.h头文件 cstring头文件的去别,今天ce了一发才稍微弄懂了. 首先C语言中只有string.h头文件,string.h包含了一些字符数组和字符串的函 ...

  4. HTML展开头文件,html头文件css的写法

    html头文件css的写法 发布时间:2021-02-12 18:08:59 来源:亿速云 阅读:103 作者:小新 小编给大家分享一下html头文件css的写法,相信大部分人都还不怎么了解,因此分享 ...

  5. html 头文件含义,头文件和源文件的区别是什么?

    头文件和源文件的区别 头文件和源文件在本质上没有任何区别. 只不过一般:后缀为 .h 的文件是头文件,内含函数声明.宏定义.结构体定义等内容.后缀为 .c 的文件是源文件,内含函数实现,变量定义等内容 ...

  6. 编写一个头文件,头文件中定义一个宏cube(x)用于求一个数的平方

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p145 7.1.2 上级实训内容 [实现内容17]编写一个头文件,头文件中定义一个宏cube(x)用于 ...

  7. VC 6.0中添加库文件和头文件

    VC 6.0中添加库文件和头文件 分类: VC/VS 加头文件包含 VC6.0中: VC6.0默认include包含路径:Tools>Options>Directories>Incl ...

  8. linux里c库和gnu c库,Linux下的C的库文件和头文件有什么区别-

    Linux下的C的库文件和头文件有什么区别- (2012-04-10 01:16:57) 标签: linux 杂谈 Linux下的C的库文件和头文件有什么区别?刚刚接触 这里有点没搞清楚 如果按我的理 ...

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

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

  10. python编程头文件_python头文件的编程风格

    python头文件的编程风格 发布时间:2020-09-03 10:23:25 来源:亿速云 阅读:96 作者:小新 小编给大家分享一下python头文件的编程风格,希望大家阅读完这篇文章后大所收获, ...

最新文章

  1. 得到的旋转向量和平移向量转换成旋转矩阵 (SE(3))
  2. GNU AWK中BEGIN/END使用举例
  3. WinCE5.0中应用程序如何直接写屏
  4. php获取数组中,相同键名的键值之和
  5. [Google Guava] 4-函数式编程
  6. ZOJ 1001 A + B Problem
  7. win7系统怎样打开音频服务器,win7系统打开音频管理器的具体教程
  8. PPC(Pocket PC)中显示二进制数组(byte[])类型的图片
  9. oracle导入字符集,Oracle导入字符集问题
  10. Flutter中Contrainer 组件的宽高限制分析
  11. 需要什么数据?要说清楚、准确
  12. 项目启动阶段的主要工作
  13. python123随机密码生成器_python实例--随机密码生成器
  14. long tail(长尾理论)
  15. js日期转换成时间戳
  16. 匈牙利算法与python实现
  17. 杭电计算机专业期末考试助攻,杭电嘻哈:舶来文化亦可玩出小清新
  18. 如何全网智能识别文章页,识别正文和标题
  19. C语言数字图像处理进阶---9 马赛克滤镜
  20. tick timer 间隔_adjtimex修改tick值用法举例

热门文章

  1. video/audio在ios/android上播放兼容
  2. VS2010解决方案不显示无法添加项目问题
  3. Oracle RBA(Redo Byte Address) 说明
  4. JDBC—02—JDBC的使用;
  5. The Tower(HDU6559+2018年吉林站+数学)
  6. mybatis配置ehcache缓存
  7. 【转载+软件实际操作 OpenHW12参赛手记】ZedBoard-裸机下运行Hello,World【常见错误解决方案】++...
  8. [转载]MongoDB开发学习 经典入门
  9. 财务大数据比赛有python吗-如何在一个月之内掌握python数据分析,参加大数据比赛?...
  10. python使用缩进作为语法边界一般建议怎样缩进-python基础自测挑战题,适合刚起步不久的小猿!...