自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于Python包和模塊的10個(gè)知識(shí)清單

新聞 后端
有同學(xué)問題關(guān)于模塊與包的問題,特給新人總結(jié)的關(guān)于Python包與模塊的10個(gè)知識(shí)清單。

 [[244957]]

有同學(xué)問題關(guān)于模塊與包的問題,特給新人總結(jié)的關(guān)于Python包與模塊的10個(gè)知識(shí)清單。

0、一個(gè)模塊(module)就是一個(gè)py文件,模塊的名字就是該文件的名字(不包含后綴)

1、一個(gè) 包(package)就是一個(gè)文件夾,(Python2規(guī)定該文件夾必須包含一個(gè) __init__.py,Python3沒有要求),包名就是文件夾名。

2、按 import 進(jìn)來的對(duì)象不同分為4種場(chǎng)景:

  1. 1. import <package>  # 導(dǎo)入一個(gè)包 
  2. 2. import <module>   # 導(dǎo)入一個(gè)模塊 
  3. 3. from <package> import <module or subpackage or object>  # 從一個(gè)包中導(dǎo)入模塊/子包/對(duì)象 
  4. 4. from <module> import <object>  # 從模塊中導(dǎo)入對(duì)象 

3、解釋器會(huì)按照sys.path列表的順序來查找被引入的包或模塊名字。

  1. >>> import sys 
  2. >>> import pprint 
  3. >>> pprint.pprint(sys.path) 
  4. [''
  5.  'C:\\Python\\Python35-32\\python35.zip'
  6.  'C:\\Python\\Python35-32\\DLLs'
  7.  'C:\\Python\\Python35-32\\lib'
  8.  'C:\\Python\\Python35-32'
  9.  'C:\\Python\\Python35-32\\lib\\site-packages'

優(yōu)先加載當(dāng)前工作目錄下的模塊,如果你的項(xiàng)目中使用了與內(nèi)建模塊中同名的包或模塊名,就會(huì)遇到?jīng)]有xx屬性之類的報(bào)錯(cuò)提示,新手特喜歡干這種事。

4、你可以操作 sys.path,使得其他路徑文件加入到Path中,使之能被解釋器發(fā)現(xiàn)。

  1. # test.py 
  2. import sys, os 
  3.  
  4. # 當(dāng)前目錄沒有hi模塊,報(bào)錯(cuò)找不到模塊 
  5. import hi  
  6. Traceback (most recent call last): 
  7. ImportError: No module named hi 
  8.  
  9. # hi模塊所在位置: /data/hi.py 
  10. # 將hi所在模塊加入sys.path 
  11. sys.path.append("/data"
  12.  
  13. # 可以正常工作了 
  14. import hi 

5、另外一種加載模塊的方法:如果你的模塊不在 sys.path,除了第5條方法在外,還可以使用 imp 模塊中的方法 imp.load_source

  1. import imp 
  2.  
  3. imp.load_source("hi""C://data/hi.py"
  4. import hi 
  5.  
  6. # 可以自己指定模塊的名字,相當(dāng)與 import hi as h2 
  7. imp.load_source("h2""C://data/hi.py"
  8. import h2 

6、import module 時(shí),模塊中所有的代碼將被執(zhí)行(類對(duì)象,函數(shù)對(duì)象將被創(chuàng)建,不會(huì)被調(diào)用),import package 時(shí), init .py 文件中的代碼也將被執(zhí)行。 7、模塊的 __file__ 屬性

導(dǎo)入模塊時(shí),可以通過模塊的 __file__ 屬性查看模塊所在磁盤的路徑位置

  1. >>> import requests 
  2. >>> requests.__file__ 
  3. 'D:\\Programs\\Anaconda3\\envs\\py_test\\lib\\site-packages\\requests\\__init__.py' 

8、永遠(yuǎn)不要使用 from import * ,有不可預(yù)知的風(fēng)險(xiǎn)

9、沒有了。

責(zé)任編輯:張燕妮 來源: 「Python之禪」
相關(guān)推薦

2024-05-28 00:00:10

Python模塊開發(fā)

2017-08-24 09:10:05

Python字典代碼

2018-09-28 14:43:27

RMAN備份實(shí)踐

2017-07-20 22:10:13

OracleRMAN備份和恢復(fù)

2014-10-09 09:46:01

Apache模塊

2012-04-08 14:47:52

iPad

2020-01-29 19:13:25

Python數(shù)據(jù)對(duì)象

2018-12-20 10:40:12

Redis架構(gòu)運(yùn)維

2020-08-13 10:39:01

公有云云計(jì)算云遷移

2017-03-30 22:16:21

DevOpsIT應(yīng)用程序

2023-10-24 16:03:34

GoGolang

2019-07-04 16:22:48

虛擬化運(yùn)維故障

2010-02-23 13:23:53

Python 模塊

2013-05-27 11:30:41

IPv6IP協(xié)議IPv6應(yīng)用

2020-12-23 14:39:38

物聯(lián)網(wǎng)人工智能5G

2020-05-09 09:31:15

前端開發(fā)Sublime Tex擴(kuò)展

2020-05-22 16:05:56

UbuntuLinux物聯(lián)網(wǎng)

2017-08-31 14:25:34

前端JavascriptES6

2014-08-25 10:24:01

Linux

2019-07-15 09:37:03

數(shù)據(jù)庫MySQL技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)