本文實例講述了Python模塊的定義,模塊的導入,__name__用法。分享給大家供大家參考,具體如下:
相關內容:
- 什么是模塊
-
模塊的導入
- 模塊的導入
-
自模塊的導入
- 同級目錄導入
-
不同級目錄導入
- 目錄內導入目錄外
- 目錄外導入目錄內
- __name__
什么是模塊:
在Python中,模塊就是一個個方法和類的倉庫,如果我們想要使用某個模塊中的某個方法或類,那么我們就需要導入對應的模板。
【python有內置方法、類,所以有些方法我們并不需要導入模塊】
模塊的使用:模塊.函數 , 模塊.類
1
2
3
4
5
6
7
|
#函數 import math print (math.sqrt( 3 )) #類 import threading a = threading.Thread() print (a) |
模塊的導入:
-
模塊導入:
- import 模塊名
123#import 模塊名
import
math
print
(math.sqrt(
9
))
- from…import 語句:從模塊中導入一個指定的部分,如類、方法,其中from…import * 代表導入全部內容
1
2
3
4
|
#from 模塊名 import 類名、方法名 from collections import Iterable print ( isinstance ( "abc" ,Iterable)) print ( isinstance ([ 1 , 2 , 3 ],Iterable)) |
- from…import導入的時候還能給導入的部分起個自定義的名字:如:from … import funcA as fa
-
自模塊導入:
Python import 的搜索路徑
1.在當前目錄下搜索該模塊
2.在環境變量 PYTHONPATH 中指定的路徑列表中依次搜索 【可以從sys.path中獲取】
1
2
3
4
5
6
7
8
9
10
11
12
|
import sys print (sys.path) - - - - - - - - - - 運行結果: [ 'J:\HardWork\Code\python' , 'J:\HardWork\Code\python' , 'I:\python3\python36.zip' , 'I:\python3\DLLs' , 'I:\python3\lib' , 'I:\python3' , 'I:\python3\lib\site-packages' ] |
3.在 Python 安裝路徑的 lib 庫中搜索
- 同級目錄導入:直接導入
不同級目錄導入:將對應目錄加入到sys.path中,再import
目錄內的b導入目錄外的c
目錄結構:
c中內容:
b中如何導入c:
1
2
3
4
5
6
7
|
import sys,os print (__file__) ##這是當前文件的絕對路徑 parent_dir = os.path.dirname(__file__) ##獲得當前文件的目錄 pp_dir = os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要導入c,必須將diff_dir加入sys.path中 |
目錄外的c導入目錄內的d
目錄結構:
d中內容:
c中如何導入d:
1
|
from d2 import d |
或:
1
|
import d2.d |
結果:
__name__:
由于模塊既可以被導入,也可以被直接運行,為了區分什么是直接運行時運行的內容,所以有了__name__:
當直接運行時,__name__是__main__:
1
2
3
4
5
6
7
8
9
10
11
|
print ( "import C done" ) print (__name__) if __name__ = = '__main__' : print ( "direct run" ) - - - - - - - - - - - - - - - 運行結果: import C done __main__ direct run |
當用于導入時,__name__是當前導入的模塊名,由于__name__不等于__main__,所以不會執行:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import sys,os # print(__file__)##這是當前文件的絕對路徑 parent_dir = os.path.dirname(__file__) ##獲得當前文件的目錄 pp_dir = os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要導入c,必須將diff_dir加入sys.path中 - - - - - - - - - - - - - - - - - - 運行結果: import C done c |
希望本文所述對大家Python程序設計有所幫助。
原文鏈接:https://www.cnblogs.com/progor/p/8413274.html