国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

關于你不知道的 Python import 十件事

開發(fā) 前端
當我們使用 from helper import * 時,我們會從 helper.py 導入所有內容,這也意味著一些導入的函數(shù)/變量可能會意外地覆蓋現(xiàn)有的同名函數(shù)/變量。因此,更好的做法通常是明確說明我們要導入的內容,而不是在文件中導入所有內容。

1) “import X” VS "from X import Y”

我們有 2 個文件:運行的 main.py 和導入的 helper.py。

這里有兩種主要的導入方式:

圖片圖片

以及

圖片圖片

兩種方法都有效,各有利弊:

在 from helper import testfunc 中,我們只需鍵入 testfunc() 就可以使用它,而在 import helper 中,我們需要鍵入 helper.testfunc()

不過,在更大、更復雜的應用程序中, from helper import testfunc

相反, import helper 不會意外覆蓋另一個名稱為 testfunc 的函數(shù)/變量,因為它是有命名空間的( helper.testfunc

2) “from X import Y“ VS ”from X import *"

from helper import testfunc 只導入 testfunc

圖片圖片

from helper import *  導入 helper.py

圖片圖片

雖然 from helper import *

當我們使用 from helper import *

因此,更好的做法通常是明確說明我們要導入的內容,而不是在文件中導入所有內容。

3) import 用于動態(tài)導入

圖片圖片

這樣我們就可以使用字符串動態(tài)導入模塊。

4) sys.path 和導入內容的位置

當我們導入東西時,Python 有一個要搜索的文件夾列表。

我們可以通過打印 sys.path

圖片圖片

當我們導入 pandas 時,Python 會嘗試在第一個文件夾 /Users/me/Documents/test

如果第一個文件夾中存在 pandas,Python 就會直接從這里導入 pandas。否則,Python 將轉到下一個文件夾 /some/other/path

如此反復,直到?jīng)]有文件夾可供 Python 搜索。當這種情況發(fā)生時,我們會得到一個 ImportError

圖片圖片

5) 可以手動向 sys.path 添加內容

sys.path 是一個普通的字符串列表。Python 只是碰巧從 sys.path

假設我們需要從 /some/weird/path/test.py

而我們正在使用 /our/main/path/main.py

圖片圖片

因此,我們只需在 sys.path 中添加  /some/weird/path ,這樣 Python 就會知道我們希望從 /some/weird/path

將 some/weird/path 添加到 sys.path

6) PEP8 的導入順序

PEP8 (Python Enhancement Proposal 8) 是一份說明 Python 代碼風格最佳實踐的文檔。鏈接:https://peps.python.org/pep-0008/

關于導入,最好這樣排序:

  1. 標準庫導入,例如 os, sys, json, re
  2. 相關的第三方導入,如 pandas、numpy、fastapi
  3. 本地庫特定導入,如 our_custom_modules

記得在每組導入之間添加一個換行符,以提高可讀性

圖片圖片

注意: Python 并不強制這樣做

7) __all__ 和從文件導出

特殊的 __all__ 變量控制著從文件導入的內容。

我們有兩個文件:main.py 和 helper.py,main.py 從 helper.py

helper.py包含許多函數(shù),但它有一個__all__變量。

圖片圖片

在這里,__all__ 變量的作用是,當我們執(zhí)行 from helper import 時,只有 hello 和 hi 被導出。

圖片圖片

在這里,由于 hello.py 只導出了 hello 和 hi,因此 main.py 只導入了 hello 和 hi.

這意味著 hola 和 nihao

因此,__all__ 變量可以用來限制 Python 模塊中導出的內容,如果我們的模塊很雜亂,包含很多變量,這個變量就特別有用。

8) 在 “from X import” 過程中,不導入以 _ 開頭的變量。

我們有 2 個文件:main.py 和 helper.py,main.py 從 helper.py

圖片圖片

在 helper.py

圖片圖片

而當我們執(zhí)行 “from helper import *” 時,

9) PYTHONPATH 環(huán)境變量

PYTHONPATH是一個環(huán)境變量,我們可以選擇是否定義它。如果我們定義了它,PYTHONPATH 會自動添加到 sys.path

在下面的示例中,我們沒有定義PYTHONPATH:

圖片圖片

在下一個示例中,我們將PYTHONPATH 設置為 /some/funny/path

圖片圖片

因此, /some/funny/path  會自動添加到 sys.path

如果我們想從其他路徑導入模塊,但又不想將我們的當前目錄與該位置關聯(lián)起來,這就很有用了。

10) 在導入時使用 '__name__'

 '__name__'  是 Python 中的另一個特殊變量。

當我們直接運行一個文件時,__name__默認為字符串值*'__main__'*。

相反,導入文件中的 __name__ 并不是 '__main__' ,而是 Python 文件的名稱。

圖片圖片

圖片圖片

圖片圖片

在這里,我們直接運行 a.py。因此,a.py 中的 '__name__' 默認為 __main__。

b.py 和 c.py 不會直接運行。相反,我們從它們中導入。因此,b.py 中的 '__name__' 只是 b, 而 c.py 中的  '__name__' 只是 c

這就是為什么我們經(jīng)常在 Python 代碼中看到 if __name__ == '__main__' 這是為了確保只有在我們直接運行這個特定的 Python 文件時,這個代碼塊中的內容才會運行。

責任編輯:武曉燕 來源: 數(shù)據(jù)STUDIO
相關推薦

2017-05-02 11:36:00

Java

2015-10-10 09:29:32

GitGithub

2015-10-10 13:11:35

GitGithub工具

2023-03-23 15:14:43

2020-08-10 15:30:24

XDR網(wǎng)絡安全網(wǎng)絡威脅

2015-03-04 14:54:47

DockerIT管理基礎設施

2015-09-08 11:47:00

微軟容器

2025-02-10 08:59:54

2010-09-27 09:24:09

云計算

2013-06-18 11:05:40

Mac Pro開發(fā)工具蘋果

2023-04-10 16:02:59

2023-04-04 14:20:27

2022-10-09 16:35:08

Redis開發(fā)集群

2014-11-21 10:25:18

Java

2024-03-25 00:10:00

JSON后端開發(fā)

2009-05-26 09:48:34

2023-06-30 13:35:12

2011-04-02 13:11:35

JARJava

2011-11-30 13:34:13

2010-05-19 09:01:00

點贊
收藏

51CTO技術棧公眾號

天天色 色综合| 国产欧美日韩在线一区二区| 奇米888一区二区三区| 小草在线视频免费播放| www日韩大片| 日韩中文综合网| 欧美女优在线视频| 欧美日韩亚洲成人| 欧美日韩精品综合| 林ゆな中文字幕一区二区| 欧美成人女星排行榜| 一区二区三区的久久的视频| 亚洲毛片免费看| 欧美黄色大片网站| 国内精品视频666| 亚洲自拍欧美色图| 加勒比色综合久久久久久久久 | 2018中文字幕第一页| 激情综合自拍| 国产福利视频一区| www国产精品| 日韩在线免费高清视频| 国产美女一区视频| 欧美性大战久久久| 中文字幕第5页| 中文字幕亚洲一区二区av在线| 久久99久久久久久| 国产剧情一区二区| 青少年xxxxx性开放hg| 可以看av的网站久久看| 国产欧美精品一区二区三区| 亚洲欧美偷拍自拍| 亚洲自拍小视频免费观看| 国产探花在线精品一区二区| 欧美又大又粗又长| 亚洲宅男一区| 日本精品免费观看| 综合伊思人在钱三区| 97高清免费视频| 狠狠一区二区三区| 秋霞午夜一区二区| 亚洲人成伊人成综合图片| 欧美在线一级va免费观看| 在这里有精品| 国产69精品久久久久久| 九色成人国产蝌蚪91| 国产精品精品视频| 91精品国产自产拍在线观看蜜| 91亚洲精华国产精华| 亚洲一级特黄| 日韩激情视频| 国产最新精品免费| 天天夜碰日日摸日日澡性色av| 国产91精品一区二区麻豆网站| 东北少妇不带套对白| 久久只精品国产| 狠狠操第一页| 欧美性20hd另类| 免费黄色电影在线观看| 精品av久久707| 成人精品国产| 海角国产乱辈乱精品视频| 久久99性xxx老妇胖精品| 国产精品免费视频xxxx| 精品福利电影| 免费看啪啪网站| 91丨九色porny丨蝌蚪| 亚洲成人天堂网| 欧美午夜视频一区二区| 中国av在线播放| 亚洲色图15p| 国产精品网在线观看| 国产欧美日韩精品在线观看| 亚洲一区网站| 欧美深夜福利视频| 伊人性伊人情综合网| 91高清在线视频| 亚洲欧美制服丝袜| 六月丁香久久丫| 国产一区二区三区四区五区加勒比| 久久99精品视频| 亚洲性图一区二区| 欧美少妇性性性| 青娱乐极品盛宴一区二区| 国产91亚洲精品| 日韩成人dvd| 可以在线看的黄色网址| 狠狠躁夜夜躁人人爽超碰91| 成全电影大全在线观看| 欧美精品video| 亚洲深夜激情| 日本久久精品一区二区| 欧美日韩一级片在线观看| 四虎影视4hu4虎成人| 国产精品日韩av| 国产成人精品综合在线观看| 最新av中文字幕| 亚洲另类图片色| 91欧美日韩| 鲁一鲁一鲁一鲁一色| 日本精品视频一区二区| 日韩电影免费观看高清完整版在线观看| 国产精品色婷婷视频| 国产精品77777| 久久免费看视频| 久久久黄色av| 美女爽到呻吟久久久久| 人人做人人爽| 精品视频久久久久久| 日韩在线高清| 九九爱精品视频| 欧美一区二区三区小说| 日韩精品丝袜美腿| 蜜臀在线免费观看| 欧美性猛交xxxxxxxx| 天天躁日日躁狠狠躁欧美| 一区二区三区在线观看www| 亚洲成人精品在线观看| 24小时成人在线视频| 秋霞在线观看一区二区三区| 夜夜亚洲天天久久| 玖玖精品在线| 日本婷婷久久久久久久久一区二区 | 福利片在线免费观看| 亚洲精品视频在线播放| 亚洲天堂男人| 国产一二三视频| 一区二区三区视频观看| 亚洲一区观看| 亚洲综合在线一区| 久久免费成人精品视频| 国产剧情一区二区| 成人日日夜夜| 91免费观看| 亚洲老司机在线| 精品国产鲁一鲁****| 在线免费观看成人| 欧美日韩一区不卡| 我不卡神马影院| 黄色片av在线| 欧美激情三级免费| 91一区二区在线观看| 亚洲国产福利| 亚洲午夜久久久影院伊人| 欧美电影一区二区三区| 亚洲电影影音先锋| 玖玖在线免费视频| 欧美在线性视频| 亚洲私人黄色宅男| 国产丝袜一区| 又黄又爽又色视频| 亚州成人av在线| 中文av字幕一区| 999久久久精品一区二区| 欧美精品成人网| 久久婷婷国产麻豆91天堂 | 成人在线免费电影| 亚洲一区亚洲二区亚洲三区| 亚洲国产精品久久一线不卡| 日韩成人一级| 国产激情视频网址| 国产精品入口尤物| 午夜影视日本亚洲欧洲精品| 99精品综合| 国产三级在线观看| 久久久久久99| 精品人在线二区三区| 捆绑紧缚一区二区三区视频| av中文资源在线资源免费观看| 亚洲最大色综合成人av| 亚洲国产天堂久久国产91| 久久国产精品72免费观看| 色戒汤唯在线| 黄色免费观看视频网站| 欧美成人精品影院| 中文字幕精品在线不卡| 亚洲电影男人天堂| 三级网站在线| 久久亚洲综合网| 亚洲欧美国产精品专区久久| 99re这里只有精品6| 中文字幕精品影院| 欧洲综合视频| 日韩av一级大片| 国产一区二区精品丝袜| 久久精品一区四区| 日本欧美国产| 99在线视频观看| 欧美国产亚洲一区| 国产精品视频中文字幕91| 欧美亚洲国产一区在线观看网站| 噜噜噜久久亚洲精品国产品小说| 伊人久久国产| 成人亚洲在线观看| 亚洲淫片在线视频| 日韩不卡中文字幕| 国产精品美女一区二区在线观看| 亚洲91中文字幕无线码三区| 调教一区二区| 色偷偷一区二区三区|