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对SQLite数据库操作
Apr 06 Python
Python基础练习之用户登录实现代码分享
Nov 08 Python
Python切片操作实例分析
Mar 16 Python
pytorch构建网络模型的4种方法
Apr 13 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
Python 元组操作总结
Sep 18 Python
tensorflow模型保存、加载之变量重命名实例
Jan 21 Python
django 前端页面如何实现显示前N条数据
Mar 16 Python
Python selenium文件上传下载功能代码实例
Apr 13 Python
Python 中面向接口编程
May 20 Python
Python  序列化反序列化和异常处理的问题小结
Dec 24 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程序
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/23 PHP
smarty巧妙处理iframe中内容页的代码
2012/03/07 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
python对json的相关操作实例详解
2017/01/04 Python
Python中使用haystack实现django全文检索搜索引擎功能
2017/08/26 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
python实现共轭梯度法
2019/07/03 Python
flask项目集成swagger的方法
2020/12/09 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
保护环境倡议书100字
2014/05/19 职场文书
车贷收入证明范本
2014/09/14 职场文书
领导欢迎词范文
2015/01/26 职场文书
复兴之路观后感
2015/06/02 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
如何利用Python实现一个论文降重工具
2021/07/09 Python