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易忽视知识点小结
May 25 Python
python执行子进程实现进程间通信的方法
Jun 02 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
Python中dict和set的用法讲解
Mar 28 Python
python实现抖音点赞功能
Apr 07 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
解决python有时候import不了当前的包问题
Aug 28 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
Python3基本输入与输出操作实例分析
Feb 14 Python
python 串行执行和并行执行实例
Apr 30 Python
Python实现查找数据库最接近的数据
Jun 08 Python
pytorch显存一直变大的解决方案
Apr 08 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 mysql 判断update之后是否更新了的方法
2012/01/10 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
javascript 写的一个简单的timer
2009/07/30 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
python多进程重复加载的解决方式
2019/12/13 Python
pytorch之添加BN的实现
2020/01/06 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
自荐书模板
2013/12/19 职场文书
安全月活动总结
2014/05/05 职场文书
企业晚会策划方案
2014/05/29 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
英文感谢信格式
2015/01/21 职场文书
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
Python之matplotlib绘制折线图
2022/04/13 Python