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获取网页上图片下载地址的方法
Mar 11 Python
python比较2个xml内容的方法
May 11 Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
python实现的正则表达式功能入门教程【经典】
Jun 05 Python
PyTorch 1.0 正式版已经发布了
Dec 13 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
python如何读取bin文件并下发串口
Jul 05 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
Python3 读取Word文件方式
Feb 13 Python
django迁移文件migrations的实现
Mar 31 Python
python 删除系统中的文件(按时间,大小,扩展名)
Nov 19 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 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
解析PHP工厂模式的好处
2013/06/18 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
ExtJS 入门
2010/10/29 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
Javascript验证方法大全
2015/09/21 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
Python中for循环详解
2014/01/17 Python
python创建线程示例
2014/05/06 Python
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
python实现Adapter模式实例代码
2018/02/09 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
wxPython实现文本框基础组件
2019/11/18 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
html5开发之viewport使用
2013/10/17 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
外科实习自我鉴定
2013/10/06 职场文书
《将心比心》教学反思
2014/04/08 职场文书
水利水电专业自荐信
2014/07/08 职场文书
上班迟到检讨书
2014/09/15 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
先进党组织事迹材料
2014/12/26 职场文书
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android