八、Python 模块

有些话、适合烂在心里 提交于 2020-03-10 15:02:38

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!