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实现简单文本字符串处理的方法
Jan 22 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
python打开使用的方法
Sep 30 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
Python运行异常管理解决方案
Mar 09 Python
Django-migrate报错问题解决方案
Apr 21 Python
在python里创建一个任务(Task)实例
Apr 25 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 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
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
用php+mysql一个名片库程序
2006/10/09 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
js实现适配移动端的拖动效果
2020/01/13 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
详解python eval函数的妙用
2017/11/16 Python
Python实现备份MySQL数据库的方法示例
2018/01/11 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
python logging日志模块原理及操作解析
2019/10/12 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
一篇.NET面试题
2014/09/29 面试题
小学校本教研总结
2015/08/13 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python
JS实现简单的九宫格抽奖
2022/06/28 Javascript
mysql全面解析json/数组
2022/07/07 MySQL