Python模块文件结构代码详解


Posted in Python onFebruary 03, 2018

本文研究的主要是Python模块文件结构的相关内容,具体如下。

Python文件结构

文件结构(范例全文)

#/usr/bin/env python

  "this is a test module"

  import sys
  import os

  debug = True

  class FooClass (object):
    "Foo class"

    pass

  def test():
    "test function"
    foo = FooClass()

    if debugL
      print 'ran test()'

  if __name__ == '__main__'
    test()

文件结构(分行介绍)

(1)起始行(指定使用的Python的版本)

#/usr/bin/env python

(2)模块文档(文档字符串,如果跨行用三个单引号扩起来)

"this is a test module"

(3)模块导入

import sys
  import os

(4)(全局)变量定义

debug = True

(5)类定义(若有)

class FooClass (object):
    "Foo class"

    pass

(6)函数定义(若有)

  def test():
    "test function"
    foo = FooClass()

    if debugL
      print 'ran test()'

7)主程序

if __name__ == '__main__'
    test()

说明

主程序

  • 无论当前模块是被背的模块导入还是作为脚本直接运行,都会执行这部分代码

注意: 所有的模块都有能力执行代码

  • 最高级别的Python语句(没有缩进的)在模块被导入时就会执行,无论是否真的需要执行
  • 妥当的做法:除了那些真正需要执行的代码以外,所有的功能代码都通过函数建立,因此:

仅在主程序模块中编写大量的顶级可执行代码
用于被导入的模块只应该存在较少的顶级执行代码

__name__ 指示模块应该如何被加载 ( 这样能够做到模块的 自检 )

  • 如果模块是被导入的,__name__ 的值是 模块的名字
  • 如果模块是直接执行,__name__ 的值是 __main__

总结

以上就是本文关于Python模块文件结构代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python获取各操作系统硬件信息的方法
Jun 03 Python
详解字典树Trie结构及其Python代码实现
Jun 03 Python
Python中Threading用法详解
Dec 27 Python
Python使用SQLite和Excel操作进行数据分析
Jan 20 Python
pyqt5简介及安装方法介绍
Jan 31 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
Jun 11 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
Django中的session用法详解
Mar 09 Python
Python unittest基本使用方法代码实例
Jun 29 Python
基于opencv的selenium滑动验证码的实现
Jul 24 Python
python中scrapy处理项目数据的实例分析
Nov 22 Python
Python处理文本换行符实例代码
Feb 03 #Python
Python断言assert的用法代码解析
Feb 03 #Python
Python下载网络小说实例代码
Feb 03 #Python
JS设计模式之责任链模式实例详解
Feb 03 #Python
numpy使用技巧之数组过滤实例代码
Feb 03 #Python
python验证码识别实例代码
Feb 03 #Python
Django中cookie的基本使用方法示例
Feb 03 #Python
You might like
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
Yii框架form表单用法实例
2014/12/04 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
一个简单的php路由类
2016/05/29 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
Python的函数的一些高阶特性
2015/04/27 Python
3分钟学会一个Python小技巧
2018/11/23 Python
python数值基础知识浅析
2019/11/19 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
介绍一下Java中的static关键字
2012/05/12 面试题
仓库管理专业个人的自我评价
2013/12/30 职场文书
校园餐饮创业计划书
2014/01/10 职场文书
30岁生日感言
2014/01/25 职场文书
吨的认识教学反思
2014/04/27 职场文书
一体化教学实施方案
2014/05/10 职场文书
结对共建工作方案
2014/06/02 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
义诊活动通知
2015/04/24 职场文书