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中的sort方法使用详解
Jul 25 Python
python修改操作系统时间的方法
May 18 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
python pandas 对series和dataframe的重置索引reindex方法
Jun 07 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
Jul 31 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
python异常处理和日志处理方式
Dec 24 Python
解决django FileFIELD的编码问题
Mar 30 Python
Python数据可视化图实现过程详解
Jun 12 Python
记一次Django响应超慢的解决过程
Sep 17 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 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二维数组排序方法(array_multisort usort)
2013/12/25 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
JS实现self的resend
2010/07/22 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
JS前端加密算法示例
2016/12/22 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
详解Python多线程Selenium跨浏览器测试
2017/04/01 Python
python万年历实现代码 含运行结果
2017/05/20 Python
django实现前后台交互实例
2017/08/07 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
地质灾害防治方案
2014/05/14 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
2014年商场工作总结
2014/11/22 职场文书
2016大学军训心得体会
2016/01/11 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android