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 相关文章推荐
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
Python中super()函数简介及用法分享
Jul 11 Python
Python之Web框架Django项目搭建全过程
May 02 Python
Python单例模式的两种实现方法
Aug 14 Python
Scrapy的简单使用教程
Oct 24 Python
Python实现修改IE注册表功能示例
May 10 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
简单了解Python3里的一些新特性
Jul 13 Python
解决Tensorflow占用GPU显存问题
Feb 03 Python
python中对列表的删除和添加方法详解
Feb 24 Python
基于Python实现射击小游戏的制作
Apr 06 Python
基于Python实现nc批量转tif格式
Aug 14 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
重置版游戏视频
2020/04/09 魔兽争霸
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
laravel安装和配置教程
2014/10/29 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
python 动态加载的实现方法
2017/12/22 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
python装饰器原理与用法深入详解
2019/12/19 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
Django中modelform组件实例用法总结
2020/02/10 Python
python从Oracle读取数据生成图表
2020/10/14 Python
初中音乐教学反思
2014/01/12 职场文书
安全例会汇报材料
2014/08/23 职场文书
万里长城导游词
2015/01/30 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
浅析Python中的套接字编程
2021/06/22 Python