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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
python中list循环语句用法实例
Nov 10 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
python之信息加密题目详解
Jun 26 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
Python实现中值滤波去噪方式
Dec 18 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
python3中TQDM库安装及使用详解
Nov 18 Python
python压包的概念及实例详解
Feb 17 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
Discuz 模板引擎的封装类代码
2008/07/18 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
限制文本字节数js代码
2007/03/06 Javascript
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
2016/11/18 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
小程序云开发实战小结
2018/10/25 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
介绍Java的内部类
2012/10/27 面试题
幼儿园教师工作制度
2014/01/22 职场文书
《兰亭集序》教学反思
2014/02/11 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
学习雷锋标语
2014/06/25 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
避暑山庄导游词
2015/02/04 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
Django实现聊天机器人
2021/05/31 Python
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
2021/07/16 HTML / CSS
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle