Python模块文件结构代码详解

时间:2022-11-11 10:47:52

本文研究的主要是Python模块文件结构的相关内容,具体如下。

Python文件结构

文件结构(范例全文)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#/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的版本)

?
1
#/usr/bin/env python

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

?
1
"this is a test module"

(3)模块导入

?
1
2
import sys
import os

(4)(全局)变量定义

?
1
debug = True

(5)类定义(若有)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
  class FooClass (object):
    "Foo class"
 
    pass
 
(6)函数定义(若有)
 
  def test():
    "test function"
    foo = FooClass()
 
    if debugL
      print 'ran test()'

7)主程序

?
1
2
if __name__ == '__main__'
  test()

说明

主程序

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

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

  • *别的Python语句(没有缩进的)在模块被导入时就会执行,无论是否真的需要执行
  • 妥当的做法:除了那些真正需要执行的代码以外,所有的功能代码都通过函数建立,因此:

仅在主程序模块中编写大量的*可执行代码
用于被导入的模块只应该存在较少的*执行代码

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

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

总结

以上就是本文关于Python模块文件结构代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

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