摘要:上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)內(nèi)置函數(shù)返回對象的長度元素個(gè)數(shù)。對表示單個(gè)字符的字符串,返回代表它碼點(diǎn)的整數(shù)。上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)
上一篇文章:Python標(biāo)準(zhǔn)庫---3、內(nèi)置函數(shù)(G-H-I-J-K)內(nèi)置函數(shù): 38. len(s)
下一篇文章:Python標(biāo)準(zhǔn)庫---5、內(nèi)置函數(shù)(P-K-R)
返回對象的長度(元素個(gè)數(shù))。實(shí)參可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。39. class list([iterable])
除了是函數(shù),list 也是可變序列類型,詳情請參閱 列表 和 序列類型 --- list, tuple, range。40. locals()
更新并返回表示當(dāng)前本地符號表的字典。 在函數(shù)代碼塊但不是類代碼塊中調(diào)用 locals() 時(shí)將返回自由變量。 請注意在模塊層級上,locals() 和 globals() 是同一個(gè)字典。41. map(function, iterable, ...)注解 不要更改此字典的內(nèi)容;更改不會影響解釋器使用的局部變量或自由變量的值。
產(chǎn)生一個(gè)將 function 應(yīng)用于迭代器中所有元素并返回結(jié)果的迭代器。如果傳遞了額外的 iterable 實(shí)參,function 必須接受相同個(gè)數(shù)的實(shí)參,并使用所有迭代器中并行獲取的元素。當(dāng)有多個(gè)迭代器時(shí),最短的迭代器耗盡則整個(gè)迭代結(jié)束。如果函數(shù)的輸入已經(jīng)是元組實(shí)參,請參閱 itertools.starmap()。42. max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])
返回可迭代對象中最大的元素,或者返回兩個(gè)及以上實(shí)參中最大的。43. memoryview(obj)如果只提供了一個(gè)位置參數(shù),它必須是非空 iterable,返回可迭代對象中最大的元素;如果提供了兩個(gè)及以上的位置參數(shù),則返回最大的位置參數(shù)。
有兩個(gè)可選只能用關(guān)鍵字的實(shí)參。key 實(shí)參指定排序函數(shù)用的參數(shù),如傳給 list.sort() 的。default 實(shí)參是當(dāng)可迭代對象為空時(shí)返回的值。如果可迭代對象為空,并且沒有給 default ,則會觸發(fā) ValueError。
如果有多個(gè)最大元素,則此函數(shù)將返回第一個(gè)找到的。這和其他穩(wěn)定排序工具如 sorted(iterable, key=keyfunc, reverse=True)[0] 和 heapq.nlargest(1, iterable, key=keyfunc) 保持一致。
3.4 新版功能: keyword-only 實(shí)參 default 。
返回由給定實(shí)參創(chuàng)建的“內(nèi)存視圖”對象。有關(guān)詳細(xì)信息,請參閱 內(nèi)存視圖。44. min(iterable, *[, key, default])
min(arg1, arg2, *args[, key])
返回可迭代對象中最小的元素,或者返回兩個(gè)及以上實(shí)參中最小的。45. next(iterator[, default])如果只提供了一個(gè)位置參數(shù),它必須是 iterable,返回可迭代對象中最小的元素;如果提供了兩個(gè)及以上的位置參數(shù),則返回最小的位置參數(shù)。
有兩個(gè)可選只能用關(guān)鍵字的實(shí)參。key 實(shí)參指定排序函數(shù)用的參數(shù),如傳給 list.sort() 的。default 實(shí)參是當(dāng)可迭代對象為空時(shí)返回的值。如果可迭代對象為空,并且沒有給 default ,則會觸發(fā) ValueError。
如果有多個(gè)最小元素,則此函數(shù)將返回第一個(gè)找到的。這和其他穩(wěn)定排序工具如 sorted(iterable, key=keyfunc)[0] 和 heapq.nsmallest(1, iterable, key=keyfunc) 保持一致。
3.4 新版功能: keyword-only 實(shí)參 default 。
通過調(diào)用 iterator 的 __next__() 方法獲取下一個(gè)元素。如果迭代器耗盡,則返回給定的 default,如果沒有默認(rèn)值則觸發(fā) StopIteration。46. class object
返回一個(gè)沒有特征的新對象。object 是所有類的基類。它具有所有 Python 類實(shí)例的通用方法。這個(gè)函數(shù)不接受任何實(shí)參。47. oct(x)注解 由于 object 沒有 __dict__,因此無法將任意屬性賦給 object 的實(shí)例。
將一個(gè)整數(shù)轉(zhuǎn)變?yōu)橐粋€(gè)前綴為“0o”的八進(jìn)制字符串。結(jié)果是一個(gè)合法的 Python 表達(dá)式。如果 x 不是 Python 的 int 對象,那它需要定義 __index__() 方法返回一個(gè)整數(shù)。一些例子:
>>> oct(8) "0o10" >>> oct(-56) "-0o70"
如果要將整數(shù)轉(zhuǎn)換為八進(jìn)制字符串,并可選擇有無“0o”前綴,則可以使用如下方法:
>>> "%#o" % 10, "%o" % 10 ("0o12", "12") >>> format(10, "#o"), format(10, "o") ("0o12", "12") >>> f"{10:#o}", f"{10:o}" ("0o12", "12")
另見 format() 獲取更多信息。48. open(file, mode="r", buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
打開 file 并返回對應(yīng)的 file object。如果該文件不能打開,則觸發(fā) OSError。file 是一個(gè) path-like object,表示將要打開的文件的路徑(絕對路徑或者當(dāng)前工作目錄的相對路徑),也可以是要被封裝的整數(shù)類型文件描述符。(如果是文件描述符,它會隨著返回的 I/O 對象關(guān)閉而關(guān)閉,除非 closefd 被設(shè)為 False 。)
mode 是一個(gè)可選字符串,用于指定打開文件的模式。默認(rèn)值是 "r" ,這意味著它以文本模式打開并讀取。其他常見模式有:寫入 "w" (截?cái)嘁呀?jīng)存在的文件);排它性創(chuàng)建 "x" ;追加寫 "a" (在 一些 Unix 系統(tǒng)上,無論當(dāng)前的文件指針在什么位置,所有 寫入都會追加到文件末尾)。在文本模式,如果 encoding 沒有指定,則根據(jù)平臺來決定使用的編碼:使用 locale.getpreferredencoding(False) 來獲取本地編碼。(要讀取和寫入原始字節(jié),請使用二進(jìn)制模式并不要指定 encoding。)可用的模式有:
默認(rèn)的模式是 "r" (打開并讀取文本,同 "rt" )。對于二進(jìn)制寫入, "w+b" 模式打開并把文件截?cái)喑?0 字節(jié); "r+b" 則不會截?cái)唷?p>正如在 概述 中提到的,Python區(qū)分二進(jìn)制和文本I/O。以二進(jìn)制模式打開的文件(包括 mode 參數(shù)中的 "b" )返回的內(nèi)容為 bytes對象,不進(jìn)行任何解碼。在文本模式下(默認(rèn)情況下,或者在 *mode* 參數(shù)中包含 "t"` )時(shí),文件內(nèi)容返回為 str ,首先使用指定的 encoding (如果給定)或者使用平臺默認(rèn)的的字節(jié)編碼解碼。此外還允許使用一個(gè)模式字符 "U",該字符已不再具有任何效果,并被視為已棄用。 之前它會在文本模式中啟用 universal newlines,這在 Python 3.0 中成為默認(rèn)行為。 請參閱 newline 形參的文檔了解更多細(xì)節(jié)。
注解 Python不依賴于底層操作系統(tǒng)的文本文件概念;所有處理都由Python本身完成,因此與平臺無關(guān)。
buffering 是一個(gè)可選的整數(shù),用于設(shè)置緩沖策略。傳遞0以切換緩沖關(guān)閉(僅允許在二進(jìn)制模式下),1選擇行緩沖(僅在文本模式下可用),并且>1的整數(shù)以指示固定大小的塊緩沖區(qū)的大小(以字節(jié)為單位)。如果沒有給出 buffering 參數(shù),則默認(rèn)緩沖策略的工作方式如下:
二進(jìn)制文件以固定大小的塊進(jìn)行緩沖;使用啟發(fā)式方法選擇緩沖區(qū)的大小,嘗試確定底層設(shè)備的“塊大小”或使用 io.DEFAULT_BUFFER_SIZE。在許多系統(tǒng)上,緩沖區(qū)的長度通常為4096或8192字節(jié)。
“交互式”文本文件( isatty() 返回 True 的文件)使用行緩沖。其他文本文件使用上述策略用于二進(jìn)制文件。
encoding 是用于解碼或編碼文件的編碼的名稱。這應(yīng)該只在文本模式下使用。默認(rèn)編碼是依賴于平臺的(不 管 locale.getpreferredencoding() 返回何值),但可以使用任何Python支持的 text encoding 。有關(guān)支持的編碼列表,請參閱 codecs 模塊。errors 是一個(gè)可選的字符串參數(shù),用于指定如何處理編碼和解碼錯(cuò)誤 - 這不能在二進(jìn)制模式下使用。可以使用各種標(biāo)準(zhǔn)錯(cuò)誤處理程序(列在 Error Handlers ),但是使用 codecs.register_error() 注冊的任何錯(cuò)誤處理名稱也是有效的。標(biāo)準(zhǔn)名稱包括:
如果存在編碼錯(cuò)誤,"strict" 會引發(fā) ValueError 異常。 默認(rèn)值 None 具有相同的效果。
"ignore" 忽略錯(cuò)誤。請注意,忽略編碼錯(cuò)誤可能會導(dǎo)致數(shù)據(jù)丟失。
"replace" 會將替換標(biāo)記(例如 "?" )插入有錯(cuò)誤數(shù)據(jù)的地方。
"surrogateescape" 將表示任何不正確的字節(jié)作為Unicode專用區(qū)中的代碼點(diǎn),范圍從U+DC80到U+DCFF。當(dāng)在寫入數(shù)據(jù)時(shí)使用 surrogateescape 錯(cuò)誤處理程序時(shí),這些私有代碼點(diǎn)將被轉(zhuǎn)回到相同的字節(jié)中。這對于處理未知編碼的文件很有用。
只有在寫入文件時(shí)才支持 "xmlcharrefreplace"。編碼不支持的字符將替換為相應(yīng)的XML字符引用 nnn;。
"backslashreplace" 用Python的反向轉(zhuǎn)義序列替換格式錯(cuò)誤的數(shù)據(jù)。
"namereplace" (也只在編寫時(shí)支持)用 N{...} 轉(zhuǎn)義序列替換不支持的字符。
newline 控制 universal newlines 模式如何生效(它僅適用于文本模式)。它可以是 None,"","n","r" 和 "rn"。它的工作原理:
從流中讀取輸入時(shí),如果 newline 為 None,則啟用通用換行模式。輸入中的行可以以 "n","r" 或 "rn" 結(jié)尾,這些行被翻譯成 "n" 在返回呼叫者之前。如果它是 "",則啟用通用換行模式,但行結(jié)尾將返回給調(diào)用者未翻譯。如果它具有任何其他合法值,則輸入行僅由給定字符串終止,并且行結(jié)尾將返回給未調(diào)用的調(diào)用者。
將輸出寫入流時(shí),如果 newline 為 None,則寫入的任何 "n" 字符都將轉(zhuǎn)換為系統(tǒng)默認(rèn)行分隔符 os.linesep。如果 newline 是 "" 或 "n",則不進(jìn)行翻譯。如果 newline 是任何其他合法值,則寫入的任何 "n" 字符將被轉(zhuǎn)換為給定的字符串。
如果 closefd 是 False 并且給出了文件描述符而不是文件名,那么當(dāng)文件關(guān)閉時(shí),底層文件描述符將保持打開狀態(tài)。如果給出文件名則 closefd 必須為 True (默認(rèn)值),否則將引發(fā)錯(cuò)誤。可以通過傳遞可調(diào)用的 opener 來使用自定義開啟器。然后通過使用參數(shù)( file,flags )調(diào)用 opener 獲得文件對象的基礎(chǔ)文件描述符。 opener 必須返回一個(gè)打開的文件描述符(使用 os.open as opener 時(shí)與傳遞 None 的效果相同)。
新創(chuàng)建的文件是 不可繼承的。
下面的示例使用 os.open() 函數(shù)的 dir_fd 的形參,從給定的目錄中用相對路徑打開文件:
>>> >>> import os >>> dir_fd = os.open("somedir", os.O_RDONLY) >>> def opener(path, flags): ... return os.open(path, flags, dir_fd=dir_fd) ... >>> with open("spamspam.txt", "w", opener=opener) as f: ... print("This will be written to somedir/spamspam.txt", file=f) ... >>> os.close(dir_fd) # don"t leak a file descriptor
open() 函數(shù)所返回的 file object 類型取決于所用模式。 當(dāng)使用 open() 以文本模式 ("w", "r", "wt", "rt" 等) 打開文件時(shí),它將返回 io.TextIOBase (特別是 io.TextIOWrapper) 的一個(gè)子類。 當(dāng)使用緩沖以二進(jìn)制模式打開文件時(shí),返回的類是 io.BufferedIOBase 的一個(gè)子類。 具體的類會有多種:在只讀的二進(jìn)制模式下,它將返回 io.BufferedReader;在寫入二進(jìn)制和追加二進(jìn)制模式下,它將返回 io.BufferedWriter,而在讀/寫模式下,它將返回 io.BufferedRandom。 當(dāng)禁用緩沖時(shí),則會返回原始流,即 io.RawIOBase 的一個(gè)子類 io.FileIO。49. ord(c)另請參閱文件操作模塊,例如 fileinput、io (聲明了 open())、os、os.path、tempfile 和 shutil。
在 3.3 版更改:
增加了 opener 形參。增加了 "x" 模式。
過去觸發(fā)的 IOError,現(xiàn)在是 OSError 的別名。
如果文件已存在但使用了排它性創(chuàng)建模式( "x" ),現(xiàn)在會觸發(fā) FileExistsError。
在 3.4 版更改:
文件現(xiàn)在禁止繼承。Deprecated since version 3.4, will be removed in version 4.0: "U" 模式。
在 3.5 版更改:
如果系統(tǒng)調(diào)用被中斷,但信號處理程序沒有觸發(fā)異常,此函數(shù)現(xiàn)在會重試系統(tǒng)調(diào)用,而不是觸發(fā) InterruptedError 異常(原因詳見 PEP 475)。增加了 "namereplace" 錯(cuò)誤處理接口。
在 3.6 版更改:
增加對實(shí)現(xiàn)了 os.PathLike 對象的支持。在 Windows 上,打開一個(gè)控制臺緩沖區(qū)將返回 io.RawIOBase 的子類,而不是 io.FileIO。
對表示單個(gè) Unicode 字符的字符串,返回代表它 Unicode 碼點(diǎn)的整數(shù)。例如 ord("a") 返回整數(shù) 97, ord("€") (歐元符合)返回 8364 。這是 chr() 的逆函數(shù)。
上一篇文章:Python標(biāo)準(zhǔn)庫---3、內(nèi)置函數(shù)(G-H-I-J-K)
下一篇文章:Python標(biāo)準(zhǔn)庫---5、內(nèi)置函數(shù)(P-K-R)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/43982.html
摘要:上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)內(nèi)置函數(shù)返回的次冪如果存在,則對取余比直接計(jì)算更高效。是用于刪除屬性值的函數(shù)。上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù) 上一篇文章:Python標(biāo)準(zhǔn)庫---4、內(nèi)置函數(shù)(L-M-N-O)下一篇文章:Python標(biāo)準(zhǔn)庫---6、內(nèi)置函數(shù)(P-K-R-S-T-U) 內(nèi)置函數(shù): showImg(https://segmentfault...
摘要:上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)內(nèi)置函數(shù)返回對象命名屬性的值。返回表示當(dāng)前全局符號表的字典。例如,從二進(jìn)制數(shù)據(jù)庫文件中讀取固定寬度的塊,直至到達(dá)文件的末尾上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù) 上一篇文章:Python標(biāo)準(zhǔn)庫---2、內(nèi)置函數(shù)(D-E-F)下一篇文章:Python標(biāo)準(zhǔn)庫---4、內(nèi)置函數(shù)(L-M-N-O) 內(nèi)置函數(shù): showImg(http...
摘要:上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置類型邏輯值檢測布爾運(yùn)算比較內(nèi)置常量有少數(shù)的常量存在于內(nèi)置命名空間中。給賦值是非法的并會引發(fā)。如果所有嘗試都返回,則解釋器將引發(fā)適當(dāng)?shù)漠惓!H绻麤]有以選項(xiàng)啟動(dòng),則此常量為真值。 上一篇文章:Python標(biāo)準(zhǔn)庫---7、內(nèi)置函數(shù)(V-W-X-Y-Z)下一篇文章:Python標(biāo)準(zhǔn)庫---9、內(nèi)置類型:邏輯值檢測、布爾運(yùn)算、比較 內(nèi)置常量 有少數(shù)的...
摘要:內(nèi)置函數(shù)返回一個(gè)數(shù)的絕對值。使用標(biāo)準(zhǔn)的真值測試過程來轉(zhuǎn)換。因此,構(gòu)造函數(shù)的實(shí)參和相同。實(shí)參的合法范圍是到進(jìn)制表示是。數(shù)字類型描述了復(fù)數(shù)類型。上一篇文章標(biāo)準(zhǔn)庫簡介下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù) 上一篇文章:Python標(biāo)準(zhǔn)庫----0、簡介下一篇文章:Python標(biāo)準(zhǔn)庫---1、內(nèi)置函數(shù)(D-E-F) Python 解釋器內(nèi)置了很多函數(shù)和類型,您可以在任何時(shí)候使用它們。以下按字母表順序列出它...
摘要:上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置常量內(nèi)置函數(shù)返回模塊類實(shí)例或任何其它具有屬性的對象的屬性。相當(dāng)于函數(shù)會保證可迭代對象按從左至右的順序被求值。上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置常量 上一篇文章:Python標(biāo)準(zhǔn)庫---6、內(nèi)置函數(shù)(P-K-R-S-T-U)下一篇文章:Python標(biāo)準(zhǔn)庫---8、內(nèi)置常量 內(nèi)置函數(shù): showImg(https://segmentf...
閱讀 765·2019-08-29 16:32
閱讀 836·2019-08-29 12:31
閱讀 3208·2019-08-26 18:26
閱讀 3152·2019-08-26 12:20
閱讀 1728·2019-08-26 12:00
閱讀 3006·2019-08-26 10:58
閱讀 2811·2019-08-23 17:08
閱讀 2309·2019-08-23 16:32