八、Python 模塊

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章