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_LDA实现方法详解
Oct 25 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
pandas series序列转化为星期几的实例
Apr 11 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
pygame游戏之旅 添加icon和bgm音效的方法
Nov 21 Python
Python datetime包函数简单介绍
Aug 28 Python
python同时遍历两个list用法说明
May 02 Python
Django Model中字段(field)的各种选项说明
May 19 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
搭建pypi私有仓库实现过程详解
Nov 25 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 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 a simple smtp class
2007/11/26 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
js 操作select相关方法函数
2009/12/06 Javascript
jquery 图片轮换效果
2010/07/29 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
用Vue编写抽象组件的方法
2019/05/06 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python定时执行指定函数的方法
2015/05/27 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
详解Python:面向对象编程
2019/04/10 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
销售会计工作职责
2013/12/02 职场文书
心理健康日活动总结
2014/05/08 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
外出培训学习心得体会
2016/01/18 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书
MySQL详细讲解变量variables的用法
2022/06/21 MySQL
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers