Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[Python]模块文件结构

[Python]模块文件结构

作者头像
祥知道
发布于 2020-03-10 06:57:21
发布于 2020-03-10 06:57:21
41800
代码可运行
举报
文章被收录于专栏:祥的专栏祥的专栏
运行总次数:0
代码可运行

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:http://blog.csdn.net/humanking7/article/details/45286937


文章目录

代码语言:txt
AI代码解释
复制
- @[toc]
- 1.Python文件结构
    - 1.1.文件结构(范例全文)
    - 1.2.文件结构(分行介绍)
    - 1.3.说明
- 2. 扩展

1.Python文件结构

1.1.文件结构(范例全文)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	#/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.2.文件结构(分行介绍)

(1)起始行(指定使用的Python的版本)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	#/usr/bin/env python

(2)模块文档(文档字符串,如果跨行用三个单引号扩起来)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	"this is a test module"

(3)模块导入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	import sys
	import os

(4)(全局)变量定义

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	debug = True

(5)类定义(若有)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	class FooClass (object):
	    "Foo class"
	    
	    pass

(6)函数定义(若有)

	def test():
	    "test function"
	    foo = FooClass()
	
	    if debugL
	        print 'ran test()'

(7)主程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	if __name__ == '__main__'
	    test()

1.3.说明

主程序

  • 无论当前模块是被背的模块导入还是作为脚本直接运行,都会执行这部分代码

注意: 所有的模块都有能力执行代码

  • 最高级别的Python语句(没有缩进的)在模块被导入时就会执行,无论是否真的需要执行
  • 妥当的做法:除了那些真正需要执行的代码以外,所有的功能代码都通过函数建立,因此:
    • 仅在主程序模块中编写大量的顶级可执行代码
    • 用于被导入的模块只应该存在较少的顶级执行代码

__name__ 指示模块应该如何被加载 ( 这样能够做到模块的 自检 )

  • 如果模块是被导入的__name__ 的值是 模块的名字
  • 如果模块是直接执行__name__ 的值是 __main__

2. 扩展

Python自定义包及3种包导入方式

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[Python]自定义包及3种包导入方式
原文链接:https://blog.csdn.net/humanking7/article/details/88368950
祥知道
2020/03/10
3.1K0
[Python]递归函数-理解汉诺塔
原文链接:https://blog.csdn.net/humanking7/article/details/90697845
祥知道
2020/03/10
4630
Python中熟悉而又陌生的 if __name__ == "__main__"
在 python 文件中,我们经常会看到 if __name__ == "__main__" 。那么 if __name__ == "__main__" 是什么?它可以用来干什么呢?下面就来详细解释下。
mr.songw
2021/01/14
8010
Python中熟悉而又陌生的 if __name__ == "__main__"
第三章: Python基础
在Python中,对象是通过引用传递的。在赋值时,不管这对象是新创建的还是已经存在的,都是将该对象的引用(并不是值)赋值给变量。
努力在北京混出人样
2019/02/18
6290
[Python]基本概念与操作2(针对Python2)
原文链接:http://blog.csdn.net/humanking7/article/details/45276889
祥知道
2020/03/10
4550
python之模块和包
一 Python模块简介 1 模块化 一般来说,编程语言中,库,包,模块是同一种概念,是代码组织方式 python中只有一种模块对象类型,但是为了模块化组织的便利,提供了一个概念: 包 模块(module):指的是python的源代码文件 包(package):指的是模块组织在一起放入和包名同名的目录及相关文件 ---- 可以将代码量较大的程序分割成多个有组织,彼此间独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块 ---- 模块在物理形式上表现为以.py 结尾的代码文
py3study
2020/01/09
1.5K0
python之模块和包
Python的项目代码结构
Python项目的代码要求: 高性能,封装性(可复用)、抽象 自己写程序的要求: 不单追求简单业务逻辑。更要考虑封装性 项目结构: 顶级结构: 包 文件夹,类似jar,dll等 二级结构: 模块 .py文件,单文件可包含多个类,也可以不定义类,但最好用类组织起来 三级结构: 类 函数、变量(类的特性) 包和模块的命名: 与文件夹和文件的名称相同 区分不同包的模块:使用命名空间 baoA.module baoB.module 注意: 包可以包含字包 如
ZONGLYN
2019/08/08
3.7K0
【Python】:老鸟的入门笔记(5)
模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便再利用,同时提供自包含的命名空间从而避免程序出现变量名冲突。
WEBJ2EE
2023/09/02
2440
【Python】:老鸟的入门笔记(5)
Python 模块
模块可以被别的程序引入,以使用该模块中的函数等功能,这也是使用 python 标准库的方法。
AiDBA宝典
2019/09/29
5970
[Python]转换文件编码
原文链接:http://blog.csdn.net/humanking7/article/details/78501474
祥知道
2020/03/10
1.5K0
Python基础之模块_包
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
海仔
2020/08/17
5020
python之基础篇(三)
      python使用缩进来分隔代码组,同一代码组的代码行必须严格左对齐,否则会造成语法错误
py3study
2020/01/13
5800
【从零学习python 】37.Python自定义模块的使用和注意事项
除了使用系统提供的内置模块以外,我们还能自己写一个模块供自己的程序使用。一个.py文件就是一个模块,所以,自定义模块很简单,基本上相当于创建一个.py文件。但是,需要注意的是,如果一个.py文件要作为一个模块被别的代码使用,这个.py文件的名字一定要遵守标识符的命名规则。
全栈若城
2024/02/29
1740
Python 模块与包
# Python 模块与包 # 什么叫模块 模块 模块英文为Modules 函数与模块的关系 一个模块中可以包含N多个函数 在Python中一个扩展名为.py的文件就是一个模块 使用模块的好处 方便其他程序和脚本的导入并使用 避免函数名和变量名冲突 提高代码的可维护性 提高代码的可重复性 # 自定义模块 创建模块 新建一个.py文件,名称尽量不要与Python自带的标准模块名称相同 导入模块 import 模块名称 [as别名] from 模块名称 import 函数/变量/类 """
用户9615083
2022/12/25
4720
Tornado剑谱03——入门程序
Tornado的项目是自主独立开发模式,首先定位好自己的项目文件夹,如d:/py_torn/
大牧莫邪
2018/08/27
4790
python __name__ == ‘__main__’详细解释
学习过C语言或者Java语言的盆友应该都知道程序运行必然有主程序入口main函数,而python却不同,即便没有主程序入口,程序一样可以自上而下对代码块依次运行,然后python不少开源项目或者模块中依然存在 __name__ == “__main__” 这种写法,具体是上面意思呢?
猿说编程[Python和C]
2020/03/05
1.6K0
python __name__ == ‘__main__’详细解释
python高级-模块(14)
有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的。
Se7eN_HOU
2019/09/11
7440
python高级-模块(14)
见鬼!导入Python模块执行了所有代码,你不知道__name__变量是什么意思吗?
可能很多同学在阅读Python源代码时会发现经常会出现if __name__ == '__main__':这样的代码,那么这样的代码起到什么作用呢?本文将为你深入解析__name__变量的含义和应用场景。
蒙娜丽宁
2020/11/04
1.5K0
Python3快速入门(四)——Pyth
Python中使用包管理模块,包通常对应一个目录,必须在目录下创建一个init.py模块,init.py模块的模块名称即为包名,Python才会将目录解析为包。 init.py文件内可以定义初始化包的内容,导入包的内容,限制包内模块的导出。 init.py文件可以为空,也可以是一个模块,其模块名称为包名称。 导入包或包的模块、变量、函数时,init .py文件会被自动执行。
py3study
2020/01/03
1.1K0
【说站】Python不同模块下特殊变量的使用
1、当模块(源文件)作为主程序运行,解释器将硬编码字符串赋值"__main__"给__name__变量。
很酷的站长
2022/11/24
4960
【说站】Python不同模块下特殊变量的使用
相关推荐
[Python]自定义包及3种包导入方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验