Discuss / Python / 使用模块

使用模块

Topic source

写模块的格式: #!/usr/bin/env python3 # -- coding: utf-8 -- (标准格式)

' a test module '#对模块的注释

__author__ = 'Michael Liao'#模块作者的姓名

def test(): … if __name__ == '__main__' test()#检查模块姓名,如果运行的模块叫这个名字,就输出这个模块的结果,不然只输出当前模块的运用结果。 如果被引用的模块中没有这一行,那么运行时,会显示被引用模块的运行结果,以及当前模块的运行结果。

我们简单的理解就是: 如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。

作用域: 有下划线的函数或变量名时非公开的(private),类似_xxx和__xxx,仅仅在模块内部使用,无法被直接引用。

有下划线的函数或变量名时非公开的(private),类似_xxx和__xxx,仅仅在模块内部使用,无法被直接引用。

这里准确说应该是不建议直接引用?实际上直接调用私有函数也是可以成功的,比如:

import hello

hello._private_1('James')

一盒噪噪

#4 Created at ... [Delete] [Delete and Lock User]

是可以引用的

只是python利用了人们的惯性:直接输入函数名(指不带下划线的函数名)

规定不想被外部引用的函数在命名时加上下划线

也就是说当我不想让你用这个东西

我就给这个东西设置一个你不知道的名字

你说出的名字是错误的,计算机找不到这个名字,就无法调用了


  • 1

Reply