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