1、Python3 模块定义
1) Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块
2) 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py
3) 模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。
2、import 语句
1) 想使用 Python 源文件,只需在另一个源文件里执行 import 语句
2) 一个模块只会被导入一次,不管你执行了多少次import
语法如下:
import module1[, module2[,... moduleN]
import sys # import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法
print('命令行参数如下:')
for i in sys.argv: # sys.argv 是一个包含命令行参数的列表
print(i)
print('\n\nPython 路径为:', sys.path, '\n') #sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表
3、from … import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中
语法如下:
from modname import name1[, name2[, ... nameN]]
#不在同一个文件目录下面 引入其他目录下的文件
print()
from lib import MathUtil
val = MathUtil.power(4)
print('调用其他目录的源文件,计算平方值为:',val)
5、深入了解模块
1、模块除了方法定义,还可以包括可执行的代码。这些代码一般用来初始化这个模块。
2、这些代码只有在第一次被导入时才会被执行
3、每个模块有各自独立的符号表,在模块内部为所有的函数当作全局符号表来使用。
所以,模块的作者可以放心大胆的在模块内部使用这些全局变量,而不用担心把其他用户的全局变量搞混
4、模块是可以导入其他模块的。在一个模块(或者脚本,或者其他地方)的最前面使用 import 来导入一个模块,
当然这只是一个惯例,而不是强制的。被导入的模块的名称将被放入当前操作的模块的符号表中
6、__name__属性
1) 一个模块被另一个程序第一次引入时,其主程序将运行。
如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行
2) 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入
注意:
__name__ 与 __main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格
print()
print('7、自身程序运行情况:')
#在被引入的那个文件中添加如下代码:
if __name__ == '__main__':
print('ModelStudy 程序自身在运行')
else:
print('我来自另一模块')
7 、给各位大佬奉茶
#1、Python3 模块
print('1、Python3 模块定义')
# 我们脚本上是用 python 解释器来编程
'''
1) Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块
2) 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py
3) 模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。
'''
#2、import 语句
print()
print('2、import 语句')
# 1)想使用 Python 源文件,只需在另一个源文件里执行 import 语句
# 2)一个模块只会被导入一次,不管你执行了多少次import
# 语法如下:
# import module1[, module2[,... moduleN]
import sys # import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法
print('命令行参数如下:')
for i in sys.argv: # sys.argv 是一个包含命令行参数的列表
print(i)
print('\n\nPython 路径为:', sys.path, '\n') #sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表
#3、from … import 语句
print()
print('from … import 语句')
'''
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中
语法如下:
from modname import name1[, name2[, ... nameN]]
'''
#不在同一个文件目录下面 引入其他目录下的文件
print()
from lib import MathUtil
val = MathUtil.power(4)
print('调用其他目录的源文件,计算平方值为:',val)
#4、from … import * 语句
print()
print('4、from … import * 语句')
'''
把一个模块的所有内容全都导入到当前的命名空间也是可行的
'''
from lib.MathUtil import *
print('求2的倒数:',MathUtil.reciprocalNum(2))
#5、深入了解模块
print()
print('5、深入了解模块')
'''
1、模块除了方法定义,还可以包括可执行的代码。这些代码一般用来初始化这个模块。
2、这些代码只有在第一次被导入时才会被执行
3、每个模块有各自独立的符号表,在模块内部为所有的函数当作全局符号表来使用。
所以,模块的作者可以放心大胆的在模块内部使用这些全局变量,而不用担心把其他用户的全局变量搞混
4、模块是可以导入其他模块的。在一个模块(或者脚本,或者其他地方)的最前面使用 import 来导入一个模块,
当然这只是一个惯例,而不是强制的。被导入的模块的名称将被放入当前操作的模块的符号表中
'''
#6、__name__属性
print('6、__name__属性')
print('每个模块都有一个__name__属性,当其值是''__main__''时,表明该模块自身在运行,否则是被引入')
'''
1)一个模块被另一个程序第一次引入时,其主程序将运行。
如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行
2) 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入
注意:
__name__ 与 __main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格
'''
print()
print('7、自身程序运行情况:')
#在被引入的那个文件中添加如下代码:
if __name__ == '__main__':
print('ModelStudy 程序自身在运行')
else:
print('我来自另一模块')
运行结果如下:
C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\python.exe F:\python-space\test\ModelStudy.py
1、Python3 模块
2、import 语句
命令行参数如下:
F:\python-space\test\ModelStudy.py
Python 路径为: ['F:\\python-space\\test', 'F:\\python-space\\test', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38-32\\python38.zip', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38-32\\DLLs', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38-32\\lib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38-32', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages\\setuptools-39.1.0-py3.8.egg', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages\\pip-10.0.1-py3.8.egg']
from … import 语句
我(MathUtil.py)被引用了
调用其他目录的源文件,计算平方值为: 16
4、from … import * 语句
求2的倒数: 0.5
5、深入了解模块
6、__name__属性
每个模块都有一个__name__属性,当其值是__main__时,表明该模块自身在运行,否则是被引入
7、自身程序运行情况:
ModelStudy 程序自身在运行
Process finished with exit code 0
来源:CSDN
作者:码上开花
链接:https://blog.csdn.net/FireAny2010/article/details/104769857