摘要:上一篇文章標準庫內置函數下一篇文章標準庫內置常量內置函數返回模塊類實例或任何其它具有屬性的對象的屬性。相當于函數會保證可迭代對象按從左至右的順序被求值。上一篇文章標準庫內置函數下一篇文章標準庫內置常量
上一篇文章:Python標準庫---6、內置函數(P-K-R-S-T-U)內置函數: 67. vars([object])
下一篇文章:Python標準庫---8、內置常量
返回模塊、類、實例或任何其它具有 dict 屬性的對象的 dict 屬性。68. zip(*iterables)模塊和實例這樣的對象具有可更新的 dict 屬性;但是,其它對象的 dict 屬性可能會設為限制寫入(例如,類會使用 types.MappingProxyType 來防止直接更新字典)。
不帶參數時,vars() 的行為類似 locals()。 請注意,locals 字典僅對于讀取起作用,因為對 locals 字典的更新會被忽略。
創建一個聚合了來自每個可迭代對象中的元素的迭代器。返回一個元組的迭代器,其中的第 i 個元組包含來自每個參數序列或可迭代對象的第 i 個元素。 當所輸入可迭代對象中最短的一個被耗盡時,迭代器將停止迭代。 當只有一個可迭代對象參數時,它將返回一個單元組的迭代器。 不帶參數時,它將返回一個空迭代器。 相當于:
def zip(*iterables): # zip("ABCD", "xy") --> Ax By rr = object() iterators = [iter(it) for it in iterables] while iterators: result = [] for it in iterators: elem = next(it, sentinel) if elem is sentinel: return result.append(elem) yield tuple(result)
函數會保證可迭代對象按從左至右的順序被求值。 使得可以通過 zip([iter(s)]n) 這樣的慣用形式將一系列數據聚類為長度為 n 的分組。 這將重復 同樣的 迭代器 n 次,以便每個輸出的元組具有第 n 次調用該迭代器的結果。 它的作用效果就是將輸入拆分為長度為 n 的數據塊。當你不用關心較長可迭代對象末尾不匹配的值時,則 zip() 只須使用長度不相等的輸入即可。 如果那些值很重要,則應改用 itertools.zip_longest()。
zip() 與 * 運算符相結合可以用來拆解一個列表:
>>> >>> x = [1, 2, 3] >>> y = [4, 5, 6] >>> zipped = zip(x, y) >>> list(zipped) [(1, 4), (2, 5), (3, 6)] >>> x2, y2 = zip(*zip(x, y)) >>> x == list(x2) and y == list(y2) True69. __import__(name, globals=None, locals=None, fromlist=(), level=0)
注解 與 importlib.import_module() 不同,這是一個日常 Python 編程中不需要用到的高級函數。
此函數會由 import 語句發起調用。 它可以被替換 (通過導入 builtins 模塊并賦值給 builtins.__import__) 以便修改 import 語句的語義,但是 強烈 不建議這樣做,因為使用導入鉤子 (參見 PEP 302) 通常更容易實現同樣的目標,并且不會導致代碼問題,因為許多代碼都會假定所用的是默認實現。 同樣也不建議直接使用 __import__() 而應該用 importlib.import_module()。該函數會導入 name 模塊,有可能使用給定的 globals 和 locals 來確定如何在包的上下文中解讀名稱。 fromlist 給出了應該從由 name 指定的模塊導入對象或子模塊的名稱。 標準實現完全不使用其 locals 參數,而僅使用 globals 參數來確定 import 語句的包上下文。
level 指定是使用絕對還是相對導入。 0 (默認值) 意味著僅執行絕對導入。 level 為正數值表示相對于模塊調用 __import__() 的目錄,將要搜索的父目錄層數 (詳情參見 PEP 328)。
當 name 變量的形式為 package.module 時,通常將會返回最高層級的包(第一個點號之前的名稱),而 不是 以 name 命名的模塊。 但是,當給出了非空的 fromlist 參數時,則將返回以 name 命名的模塊。
例如,語句 import spam 的結果將為與以下代碼作用相同的字節碼:
spam = __import__("spam", globals(), locals(), [], 0)
語句 import spam.ham 的結果將為以下調用:
spam = __import__("spam.ham", globals(), locals(), [], 0)
請注意在這里 __import__() 是如何返回頂層模塊的,因為這是通過 import 語句被綁定到特定名稱的對象。另一方面,語句 from spam.ham import eggs, sausage as saus 的結果將為
_temp = __import__("spam.ham", globals(), locals(), ["eggs", "sausage"], 0) eggs = _temp.eggs saus = _temp.sausage
在這里, spam.ham 模塊會由 __import__() 返回。 要導入的對象將從此對象中提取并賦值給它們對應的名稱。如果您只想按名稱導入模塊(可能在包中),請使用 importlib.import_module()
在 3.3 版更改: Negative values for level are no longer supported (which also changes the default value to 0).
腳注
解析器只接受 Unix 風格的行結束符。如果您從文件中讀取代碼,請確保用換行符轉換模式轉換 Windows 或 Mac 風格的換行符。
上一篇文章:Python標準庫---6、內置函數(P-K-R-S-T-U)
下一篇文章:Python標準庫---8、內置常量
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43979.html
摘要:上一篇文章標準庫內置函數下一篇文章標準庫內置類型邏輯值檢測布爾運算比較內置常量有少數的常量存在于內置命名空間中。給賦值是非法的并會引發。如果所有嘗試都返回,則解釋器將引發適當的異常。如果沒有以選項啟動,則此常量為真值。 上一篇文章:Python標準庫---7、內置函數(V-W-X-Y-Z)下一篇文章:Python標準庫---9、內置類型:邏輯值檢測、布爾運算、比較 內置常量 有少數的...
摘要:上一篇文章標準庫內置函數下一篇文章標準庫內置函數內置函數返回一個新的對象,可以選擇帶有從獲取的元素。推薦使用內置函數來檢測對象的類型,因為它會考慮子類的情況。上一篇文章標準庫內置函數下一篇文章標準庫內置函數 上一篇文章:Python標準庫---5、內置函數(P-K-R)下一篇文章:Python標準庫---7、內置函數(V-W-X-Y-Z) 內置函數: showImg(https://...
摘要:內置函數返回一個數的絕對值。使用標準的真值測試過程來轉換。因此,構造函數的實參和相同。實參的合法范圍是到進制表示是。數字類型描述了復數類型。上一篇文章標準庫簡介下一篇文章標準庫內置函數 上一篇文章:Python標準庫----0、簡介下一篇文章:Python標準庫---1、內置函數(D-E-F) Python 解釋器內置了很多函數和類型,您可以在任何時候使用它們。以下按字母表順序列出它...
摘要:下一篇文章標準庫內置函數標準庫語言參考描述了語言的具體語法和語義,這份庫參考則介紹了與一同發行的標準庫。這個庫也包含了內置函數和異常不需要語句就可以在所有代碼中使用的對象。下一篇文章標準庫內置函數 下一篇文章:Python標準庫---1、內置函數 Python 標準庫 Python 語言參考 描述了 Python 語言的具體語法和語義,這份庫參考則介紹了與 Python 一同發行的標...
摘要:上一篇文章標準庫內置類型邏輯值檢測布爾運算比較下一篇文章標準庫內置類型迭代器類型序列類型數字類型存在三種不同的數字類型整數浮點數和復數。標準庫包含附加的數字類型,如表示有理數的以及以用戶定制精度表示浮點數的。 上一篇文章:Python標準庫---9、內置類型:邏輯值檢測、布爾運算、比較下一篇文章:Python標準庫---11、內置類型:迭代器類型、序列類型 數字類型 --- int,...
閱讀 578·2023-04-25 21:29
閱讀 1104·2023-04-25 21:27
閱讀 1044·2021-11-25 09:43
閱讀 1077·2021-09-29 09:43
閱讀 3614·2021-09-03 10:30
閱讀 2854·2019-08-29 15:26
閱讀 2803·2019-08-29 12:52
閱讀 1741·2019-08-29 11:10