一、模塊
什么是模塊?
模塊實質上就是一個python文件,它是用來組織代碼的,意思就是說把python代碼寫到里面,文件名就是模塊的名稱,test.py test就是模塊名稱。
模塊分為三種:
- 自定義模塊
- 內置標准模塊:python自帶的
- 開源模塊(第三方)
導入模塊的本質,就是把python文件拿過來執行一次。
1、import導入
我有倆文件a.py和b.py,運行b.py,獲得a里面得內容:
name='a.py' def func(): print('這個是a.py里面的函數') for i in range(5): print(i) func()
import a #import一個模塊,就是把這個模塊里的代碼執行一遍
運行結果:
0 1 2 3 4 這個是a.py里面的函數
也可起別名:
name='a.py' def func(): print('這個是a.py里面的函數')
import a as apy # 起別名 print(apy.name) apy.func()
運行結果:
a.py
這個是a.py里面的函數
2、 if __name__=='__main__' 的運用
# if __name__=='__main__':#在自己里執行是__name__;在別家執行是a(文件名)
name = 'a.py' def func(): print('這個是a.py里面的函數') print(__name__) if __name__ == '__main__': # 在自己里執行是__name__; # 在別家執行是a(文件名) for i in range(5): func()
import a print(a.name) a.func()
運行結果:
__main__ 這個是a.py里面的函數 這個是a.py里面的函數 這個是a.py里面的函數 這個是a.py里面的函數 這個是a.py里面的函數
a
a.py
這個是a.py里面的函數
3、from導入,跟上面一樣一樣的
(1)用from導入func
name = 'a.py' def func(): print('這個是a.py里面的函數') print(__name__) if __name__ == '__main__': # 在自己里執行是__name__; # 在別家執行是a(文件名) for i in range(5): func()
from a import func # 用from導入func func()
運行結果:
a
這個是a.py里面的函數
(2)用from導入func和name
name = 'a.py' def func(): print('這個是a.py里面的函數') print(__name__) if __name__ == '__main__': # 在自己里執行是__name__; # 在別家執行是a(文件名) for i in range(5): func()
from a import func, name # 用from導入func和name func() print(name)
運行結果:
a
這個是a.py里面的函數
a.py
二、導入模塊的順序:
1、從當前目錄下找
2、從python的環境變量里面找
import一個文件夾的時候,就是執行這個文件夾下面的__init__.py
import sys print(sys.path) # 環境變量 sys.path.append(r'C:\Users\79954\PycharmProjects\ssz\day5') # r 源字符 加環境變量,加的時目錄 sys.path.insert(0, r'C:\Users\79954\PycharmProjects\ssz\day5') # insert指定位置
運行結果:
['C:\\Users\\79954\\PycharmProjects\\ssz\\day5', 'C:\\Users\\79954\\PycharmProjects\\ssz', 'C:\\Program Files\\JetBrains\\PyCharm 2020.1.4\\plugins\\python\\helpers\\pycharm_display', 'C:\\Users\\79954\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip', 'C:\\Users\\79954\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs', 'C:\\Users\\79954\\AppData\\Local\\Programs\\Python\\Python37-32\\lib', 'C:\\Users\\79954\\AppData\\Local\\Programs\\Python\\Python37-32', 'C:\\Users\\79954\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages', 'C:\\Program Files\\JetBrains\\PyCharm 2020.1.4\\plugins\\python\\helpers\\pycharm_matplotlib_backend', 'C:\\Users\\79954\\PycharmProjects\\ssz\\day5']
如以上運行結果所示:Pycharm也會自動幫咱加了環境,所以我們就可以導入ssz這個目錄下的任何目錄及文件了:
一個例子:
from day5 import tools #我們就可以導入ssz下的任何一個目錄,pycharm會有提示 print(tools.test('s'))
def test(s): return s + 'hhhhhhh'
運行結果:
shhhhhhh
再來一個例子:
from day2 import HelloWold
運行結果:
hello word! 蔡蔡長得非常 "帥氣、高大威猛" let'go,昌姐美麗又漂亮,因為是個“人妖”!!!
導入目錄其他方式:
import sys # import day5 # result = day5.tools.test('ggg') # 報錯(AttributeError: module 'day5' has no attribute 'tools') from day5 import tools # 這種方式沒問題 print(tools.test('ggg')) from day5.tools import test # 這種方式沒問題 result = test('ggg') print(result)
def test(s): return s + 'hhhhhhh'
運行結果:
ggghhhhhhh
ggghhhhhhh
例子:
1,在day6目錄下建一個__init__.py,寫點內容(一般創建文件夾自帶了)
2,在day5目錄下的a.py里面import day5
__init__
結果: import 一個文件夾時,就是執行這個文件夾下的__init__.py
1)、我們首先在day6下建一個tools.py
def test(s): return s + 'hhhhhhh' def test2(): print('ooooo')
2)然后在day5文件下建目錄文件.py
import day6 result = day6.tools.test('xxx') day6.tools.test2() #可多個導入 print(result)
運行結果:
__init__ ooooo xxxhhhhhhh
三、第三方模塊安裝:
- python的安裝目錄
- python安裝目錄下面的scripts目錄
首先,得確定環境是否正常(pip --help):
1、手動安裝
2、帶 .whl 結尾的需找到安裝路徑:pip install /Users/........
3、zip文件
- 先解壓
- 進入解壓目錄
- python setup.py install