摘要:上一篇文章標準庫內置類型迭代器類型序列類型下一篇文章標準庫內置類型二進制序列類型文本序列類型在中處理文本數據是使用對象,也稱為字符串。正式的定義為十進制數字符就是一般分類中的字符。
上一篇文章:Python標準庫---11、內置類型:迭代器類型、序列類型(list-typle-range)文本序列類型 --- str
下一篇文章:Python標準庫---13、內置類型:二進制序列類型 ( bytes, bytearray, memoryview)
在 Python 中處理文本數據是使用 str 對象,也稱為 字符串。 字符串是由 Unicode 碼位構成的不可變 序列。 字符串字面值有多種不同的寫法:
單引號: "允許包含有 "雙" 引號" 雙引號: "允許包含有 "單" 引號"。 三重引號: """三重單引號""", """三重雙引號"""
使用三重引號的字符串可以跨越多行 —— 其中所有的空白字符都將包含在該字符串字面值中。
作為單一表達式組成部分,之間只由空格分隔的多個字符串字面值會被隱式地轉換為單個字符串字面值。 也就是說,("spam " "eggs") == "spam eggs"。
請參閱 字符串和字節串字面值 有解有關不同字符串字面值的更多信息,包括所支持的轉義序列,以及使用 r ("raw") 前綴來禁用大多數轉義序列的處理。
字符串也可以通過使用 str 構造器從其他對象創建。
由于不存在多帶帶的“字符”類型,對字符串做索引操作將產生一個長度為 1 的字符串。 也就是說,對于一個非空字符串 s, s[0] == s[0:1]。
不存在可變的字符串類型,但是 str.join() 或 io.StringIO 可以被用來根據多個片段高效率地構建字符串。
在 3.3 版更改: 為了與 Python 2 系列的向下兼容,再次允許字符串字面值使用 u 前綴。 它對字符串字面值的含義沒有影響,并且不能與 r 前綴同時出現。
class str(object="") class str(object=b"", encoding="utf-8", errors="strict")返回 object 的 字符串 版本。 如果未提供 object 則返回空字符串。 在其他情況下 str() 的行為取決于 encoding 或 errors 是否有給出,具體見下。 如果 encoding 或 errors 均未給出,str(object) 返回 object.__str__(),這是 object 的“非正式”或格式良好的字符串表示。 對于字符串對象,這是該字符串本身。 如果 object 沒有 __str__() 方法,則 str() 將回退為返回 repr(object)。 如果 encoding 或 errors 至少給出其中之一,則 object 應該是一個 bytes-like object (例如 bytes 或 bytearray)。 在此情況下,如果 object 是一個 bytes (或 bytearray) 對象,則 str(bytes, encoding, errors) 等價于 bytes.decode(encoding, errors)。 否則的話,會在調用 bytes.decode() 之前獲取緩沖區對象下層的 bytes 對象。 請參閱 二進制序列類型 --- bytes, bytearray, memoryview 與 緩沖協議 了解有關緩沖區對象的信息。 將一個 bytes 對象傳入 str() 而不給出 encoding 或 errors 參數的操作屬于第一種情況, 將返回非正式的字符串表示(另請參閱 Python 的 -b 命令行選項)。 例如:
>>> str(b"Zoot!") "b"Zoot!""
有關 str 類及其方法的更多信息,請參閱下面的 文本序列類型 --- str 和 字符串的方法 小節。 要輸出格式化字符串,請參閱 格式化字符串字面值 和 格式字符串語法 小節。 此外還可以參閱 文本處理服務 小節。字符串的方法
字符串實現了所有 一般 序列的操作,還額外提供了以下列出的一些附加方法。
字符串還支持兩種字符串格式化樣式,一種提供了很大程度的靈活性和可定制性 (參閱 str.format(), 格式字符串語法 和 自定義字符串格式化) 而另一種是基于 C printf 樣式的格式化,它可處理的類型范圍較窄,并且更難以正確使用,但對于它可處理的情況往往會更為快速 (printf 風格的字符串格式化)。
標準庫的 文本處理服務 部分涵蓋了許多其他模塊,提供各種文本相關工具(例如包含于 re 模塊中的正則表達式支持)。
str.capitalize()返回原字符串的副本,其首個字符大寫,其余為小寫。str.casefold()
返回原字符串消除大小寫的副本。 消除大小寫的字符串可用于忽略大小寫的匹配。 消除大小寫類似于轉為小寫,但是更加徹底一些,因為它會移除字符串中的所有大小寫變化形式。 例如,德語小寫字母 "?" 相當于 "ss"。 由于它已經是小寫了,lower() 不會對 "?" 做任何改變;而 casefold() 則會將其轉換為 "ss"。 消除大小寫算法的描述請參見 Unicode 標準的 3.13 節。 3.3 新版功能.str.center(width[, fillchar])
返回長度為 width 的字符串,原字符串在其正中。 使用指定的 fillchar 填充兩邊的空位(默認使用 ASCII 空格符)。 如果 width 小于等于 len(s) 則返回原字符串的副本。str.count(sub[, start[, end]])
反回子字符串 sub 在 [start, end] 范圍內非重疊出現的次數。 可選參數 start 與 end 會被解讀為切片表示法。str.encode(encoding="utf-8", errors="strict")
返回原字符串編碼為字節串對象的版本。 默認編碼為 "utf-8"。 可以給出 errors 來設置不同的錯誤處理方案。 errors 的默認值為 "strict",表示編碼錯誤會引發 UnicodeError。 其他可用的值為 "ignore", "replace", "xmlcharrefreplace", "backslashreplace" 以及任何其他通過 codecs.register_error() 注冊的值,請參閱 Error Handlers 小節。 要查看可用的編碼列表,請參閱 標準編碼 小節。 在 3.1 版更改: 加入了對關鍵字參數的支持。str.endswith(suffix[, start[, end]])
如果字符串以指定的 suffix 結束返回 True,否則返回 False。 suffix 也可以為由多個供查找的后綴構成的元組。 如果有可選項 start,將從所指定位置開始檢查。 如果有可選項 end,將在所指定位置停止比較。str.expandtabs(tabsize=8)
返回字符串的副本,其中所有的制表符會由一個或多個空格替換,具體取決于當前列位置和給定的制表符寬度。 每 tabsize 個字符設為一個制表位(默認值 8 時設定的制表位在列 0, 8, 16 依次類推)。 要展開字符串,當前列將被設為零并逐一檢查字符串中的每個字符。 如果字符為制表符 ( ),則會在結果中插入一個或多個空格符,直到當前列等于下一個制表位。 (制表符本身不會被復制。) 如果字符為換行符 ( ) 或回車符 ( ),它會被復制并將當前列重設為零。 任何其他字符會被不加修改地復制并將當前列加一,不論該字符在被打印時會如何顯示。
>>> "01 012 0123 01234".expandtabs() "01 012 0123 01234" >>> "01 012 0123 01234".expandtabs(4) "01 012 0123 01234"str.find(sub[, start[, end]])
返回子字符串 sub 在 s[start:end] 切片內被找到的最小索引。 可選參數 start 與 end 會被解讀為切片表示法。 如果 sub 未被找到則返回 -1。 注解 find() 方法應該只在你需要知道 sub 所在位置時使用。 要檢查 sub 是否為子字符串,請使用 in 操作符:
>>> "Py" in "Python" Truestr.format(args, *kwargs)
執行字符串格式化操作。 調用此方法的字符串可以包含字符串字面值或者以花括號 {} 括起來的替換域。 每個替換域可以包含一個位置參數的數字索引,或者一個關鍵字參數的名稱。 返回的字符串副本中每個替換域都會被替換為對應參數的字符串值。
>>> "The sum of 1 + 2 is {0}".format(1+2) "The sum of 1 + 2 is 3"
請參閱 格式字符串語法 了解有關可以在格式字符串中指定的各種格式選項的說明。
注解當使用 n 類型 (例如: "{:n}".format(1234)) 來格式化數字 (int, float, complex, decimal.Decimal 及其子類) 的時候,該函數會臨時性地將 LC_CTYPE 區域設置為 LC_NUMERIC 區域以解碼 localeconv() 的 decimal_point 和 thousands_sep 字段,如果它們是非 ASCII 字符或長度超過 1 字節的話,并且 LC_NUMERIC 區域會與 LC_CTYPE 區域不一致。 這個臨時更改會影響其他線程。
在 3.7 版更改: 當使用 n 類型格式化數字時,該函數在某些情況下會臨時性地將 LC_CTYPE 區域設置為 LC_NUMERIC 區域。str.format_map(mapping)
類似于 str.format(**mapping),不同之處在于 mapping 會被直接使用而不是復制到一個 dict。 適宜使用此方法的一個例子是當 mapping 為 dict 的子類的情況:
>>> class Default(dict): ... def __missing__(self, key): ... return key ... >>> "{name} was born in {country}".format_map(Default(name="Guido")) "Guido was born in country"
3.2 新版功能.str.index(sub[, start[, end]])
類似于 find(),但在找不到子類時會引發 ValueError。str.isalnum()
如果字符串中至少有一個字符且所有字符均為字母或數字則返回真值,否則返回假值。 如果以下方法中的一個返回 True 則字符 c 為字母或數字: c.isalpha(), c.isdecimal(), c.isdigit(), or c.isnumeric()。str.isalpha()
如果字符串中至少有一個字符且所有字符均為字母則返回真值,否則返回假值。 字母類字符是在 Unicode 字符數據庫中被定義為 "Letter" 的字符,即一般分類特征屬性為 "Lm", "Lt", "Lu", "Ll" 或 "Lo" 其中之一。 請注意這不同于 Unicode 標準所定義的 "Alphabetic" 特征屬性。str.isascii()
如果字符串為空或所有字符均為 ASCII 字符則返回真值,否則返回假值。 ASCII 字符的碼位范圍為 U+0000-U+007F。 3.7 新版功能.str.isdecimal()
如果字符串中至少有一個字符且所有字符均為十進制數字符則返回真值,否則返回假值。 十進制數字符是以 10 為基數的計數制會用來組成數值的字符,例如 U+0660, ARABIC-INDIC DIGIT ZERO。 正式的定義為:十進制數字符就是 Unicode 一般分類 "Nd" 中的字符。str.isdigit()
如果字符串中至少有一個字符且所有字符均為數字字符則返回真值,否則返回假值。 數字字符包括十進制數字符和需要特別處理的數字,例如兼容性上標數字。 這也涵蓋了不能被用來組成以 10 為基數的數值的數字,例如 Kharosthi 數字。 正式的定義為:數字字符就是特征屬性值 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。str.isidentifier()
如果字符串根據語言定義屬于有效的標識符則返回真值,參見 標識符和關鍵字。 請使用 keyword.iskeyword() 來檢測保留標識符,例如 def 和 class。str.islower()
如果字符串中至少有一個區分大小寫的字符 且此類字符均為小寫則返回真值,否則返回假值。str.isnumeric()
如果字符串中至少有一個字符且所有字符均為數值字符則返回真值,否則返回假值。 數值字符包括數字字符,以及所有在 Unicode 中設置了數值特性屬性的字符,例如 U+2155, VULGAR FRACTION ONE FIFTH。 正式的定義為:數值字符就是具有特征屬性值 Numeric_Type=Digit, Numeric_Type=Decimal 或 Numeric_Type=Numeric 的字符。str.isprintable()
如果字符串中所有字符均為可打印字符或字符串為空則返回真值,否則返回假值。 不可打印字符是在 Unicode 字符數據庫中被定義為 "Other" 或 "Separator" 的字符,例外情況是 ASCII 空格字符 (0x20) 被視作可打印字符。 (請注意在此語境下可打印字符是指當對一個字符串發起調用 repr() 時不必被轉義的字符。 它們與字符串寫入 sys.stdout 或 sys.stderr 時所需的處理無關。)str.isspace()
如果字符串中至少有一個字符且所有字符均為空白字符則返回真值,否則返回假值。 空白字符是在 Unicode 字符數據庫中被定義為 "Other" 或 "Separator" 并且其雙向特征屬性為 "WS", "B" 或 "S" 之一的字符。str.istitle()
如果字符串中至少有一個字符且為標題字符串則返回真值,例如大寫字符之后只能帶非大寫字符而小寫字符必須有大寫字符打頭。 否則返回假值。str.isupper()
如果字符串中至少有一個區分大小寫的字符 , 具此類字符均為大寫則返回真值,否則返回假值。str.join(iterable)
返回一個由 iterable 中的字符串拼接而成的字符串。 如果 iterable 中存在任何非字符串值包括 bytes 對象則會引發 TypeError。 調用該方法的字符串將作為元素之間的分隔。str.ljust(width[, fillchar])
返回長度為 width 的字符串,原字符串在其中靠左對齊。 使用指定的 fillchar 填充空位 (默認使用 ASCII 空格符)。 如果 width 小于等于 len(s) 則返回原字符串的副本。str.lower()
返回原字符串的副本,其所有區分大小寫的字符 4 均轉換為小寫。 所用轉換小寫算法的描述請參見 Unicode 標準的 3.13 節。str.lstrip([chars])
返回原字符串的副本,移除其中的前導字符。 chars 參數為指定要移除字符的字符串。 如果省略或為 None,則 chars 參數默認移除空格符。 實際上 chars 參數并非指定單個前綴;而是會移除參數值的所有組合:
>>> " spacious ".lstrip() "spacious " >>> "www.example.com".lstrip("cmowz.") "example.com"static str.maketrans(x[, y[, z]])
此靜態方法返回一個可供 str.translate() 使用的轉換對照表。 如果只有一個參數,則它必須是一個將 Unicode 碼位序號(整數)或字符(長度為 1 的字符串)映射到 Unicode 碼位序號、(任意長度的)字符串或 None 的字典。 字符鍵將會被轉換為碼位序號。 如果有兩個參數,則它們必須是兩個長度相等的字符串,并且在結果字典中,x 中每個字符將被映射到 y 中相同位置的字符。 如果有第三個參數,它必須是一個字符串,其中的字符將在結果中被映射到 None。str.partition(sep)
在 sep 首次出現的位置拆分字符串,返回一個 3 元組,其中包含分隔符之前的部分、分隔符本身,以及分隔符之后的部分。 如果分隔符未找到,則返回的 3 元組中包含字符本身以及兩個空字符串。str.replace(old, new[, count])
返回字符串的副本,其中出現的所有子字符串 old 都將被替換為 new。 如果給出了可選參數 count,則只替換前 count 次出現。str.rfind(sub[, start[, end]])
返回子字符串 sub 在字符串內被找到的最大(最右)索引,這樣 sub 將包含在 s[start:end] 當中。 可選參數 start 與 end 會被解讀為切片表示法。 如果未找到則返回 -1。str.rindex(sub[, start[, end]])
類似于 rfind(),但在子字符串 sub 未找到時會引發 ValueError。str.rjust(width[, fillchar])
返回長度為 width 的字符串,原字符串在其中靠右對齊。 使用指定的 fillchar 填充空位 (默認使用 ASCII 空格符)。 如果 width 小于等于 len(s) 則返回原字符串的副本。str.rpartition(sep)
在 sep 最后一次出現的位置拆分字符串,返回一個 3 元組,其中包含分隔符之前的部分、分隔符本身,以及分隔符之后的部分。 如果分隔符未找到,則返回的 3 元組中包含兩個空字符串以及字符串本身。str.rsplit(sep=None, maxsplit=-1)
返回一個由字符串內單詞組成的列表,使用 sep 作為分隔字符串。 如果給出了 maxsplit,則最多進行 maxsplit 次拆分,從 最右邊 開始。 如果 sep 未指定或為 None,任何空白字符串都會被作為分隔符。 除了從右邊開始拆分,rsplit() 的其他行為都類似于下文所述的 split()。str.rstrip([chars])
返回原字符串的副本,移除其中的末尾字符。 chars 參數為指定要移除字符的字符串。 如果省略或為 None,則 chars 參數默認移除空格符。 實際上 chars 參數并非指定單個后綴;而是會移除參數值的所有組合:
>>> " spacious ".rstrip() " spacious" >>> "mississippi".rstrip("ipz") "mississ"str.split(sep=None, maxsplit=-1)
返回一個由字符串內單詞組成的列表,使用 sep 作為分隔字符串。 如果給出了 maxsplit,則最多進行 maxsplit 次拆分(因此,列表最多會有 maxsplit+1 個元素)。 如果 maxsplit 未指定或為 -1,則不限制拆分次數(進行所有可能的拆分)。 如果給出了 sep,則連續的分隔符不會被組合在一起而是被視為分隔空字符串 (例如 "1,,2".split(",") 將返回 ["1", "", "2"])。 sep 參數可能由多個字符組成 (例如 "1<>2<>3".split("<>") 將返回 ["1", "2", "3"])。 使用指定的分隔符拆分空字符串將返回 [""]。 例如:
>>> "1,2,3".split(",") ["1", "2", "3"] >>> "1,2,3".split(",", maxsplit=1) ["1", "2,3"] >>> "1,2,,3,".split(",") ["1", "2", "", "3", ""]
如果 sep 未指定或為 None,則會應用另一種拆分算法:連續的空格會被視為單個分隔符,其結果將不包含開頭或末尾的空字符串,如果字符串包含前綴或后綴空格的話。 因此,使用 None 拆分空字符串或僅包含空格的字符串將返回 []。 例如:
>>> "1 2 3".split() ["1", "2", "3"] >>> "1 2 3".split(maxsplit=1) ["1", "2 3"] >>> " 1 2 3 ".split() ["1", "2", "3"]str.splitlines([keepends])
返回由原字符串中各行組成的列表,在行邊界的位置拆分。 結果列表中不包含行邊界,除非給出了 keepends 且為真值。 此方法會以下列行邊界進行拆分。 特別地,行邊界是 universal newlines 的一個超集。
在 3.2 版更改: v 和 f 被添加到行邊界列表 例如:
>>> "ab c de fg kl ".splitlines() ["ab c", "", "de fg", "kl"] >>> "ab c de fg kl ".splitlines(keepends=True) ["ab c ", " ", "de fg ", "kl "]
不同于 split(),當給出了分隔字符串 sep 時,對于空字符串此方法將返回一個空列表,而末尾的換行不會令結果中增加額外的行:
>>> "".splitlines() [] >>> "One line ".splitlines() ["One line"]
作為比較,split(" ") 的結果為:
>>> "".split(" ") [""] >>> "Two lines ".split(" ") ["Two lines", ""]str.startswith(prefix[, start[, end]])
如果字符串以指定的 prefix 開始則返回 True,否則返回 False。 prefix 也可以為由多個供查找的前綴構成的元組。 如果有可選項 start,將從所指定位置開始檢查。 如果有可選項 end,將在所指定位置停止比較。str.strip([chars])
返回原字符串的副本,移除其中的前導和末尾字符。 chars 參數為指定要移除字符的字符串。 如果省略或為 None,則 chars 參數默認移除空格符。 實際上 chars 參數并非指定單個前綴或后綴;而是會移除參數值的所有組合:
>>> " spacious ".strip() "spacious" >>> "www.example.com".strip("cmowz.") "example"
最外側的前導和末尾 chars 參數值將從字符串中移除。 開頭端的字符的移除將在遇到一個未包含于 chars 所指定字符集的字符時停止。 類似的操作也將在結尾端發生。 例如:
>>> comment_string = "#....... Section 3.2.1 Issue #32 ......." >>> comment_string.strip(".#! ") "Section 3.2.1 Issue #32"str.swapcase()
返回原字符串的副本,其中大寫字符轉換為小寫,反之亦然。 請注意 s.swapcase().swapcase() == s 并不一定為真值。str.title()
返回原字符串的標題版本,其中每個單詞第一個字母為大寫,其余字母為小寫。 例如:
>>> "Hello world".title() "Hello World"
該算法使用一種簡單的與語言無關的定義,將連續的字母組合視為單詞。 該定義在多數情況下都很有效,但它也意味著代表縮寫形式與所有格的撇號也會成為單詞邊界,這可能導致不希望的結果:
>>> "they"re bill"s friends from the UK".title() "They"Re Bill"S Friends From The Uk"
可以使用正則表達式來構建針對撇號的特別處理:
>>> import re >>> def titlecase(s): ... return re.sub(r"[A-Za-z]+("[A-Za-z]+)?", ... lambda mo: mo.group(0)[0].upper() + ... mo.group(0)[1:].lower(), ... s) ... >>> titlecase("they"re bill"s friends.") "They"re Bill"s Friends."str.translate(table)
返回原字符串的副本,其中每個字符按給定的轉換表進行映射。 轉換表必須是一個使用 __getitem__() 來實現索引操作的對象,通常為 mapping 或 sequence。 當以 Unicode 碼位序號(整數)為索引時,轉換表對象可以做以下任何一種操作:返回 Unicode 序號或字符串,將字符映射為一個或多個字符;返回 None,將字符從結果字符串中刪除;或引發 LookupError 異常,將字符映射為其自身。 你可以使用 str.maketrans() 基于不同格式的字符到字符映射來創建一個轉換映射表。 另請參閱 codecs 模塊以了解定制字符映射的更靈活方式。str.upper()
返回原字符串的副本,其中所有區分大小寫的字符 4 均轉換為大寫。 請注意如果 s 包含不區分大小寫的字符或者如果結果字符的 Unicode 類別不是 "Lu" (Letter, uppercase) 而是 "Lt" (Letter, titlecase) 則 s.upper().isupper() 有可能為 False。 所用轉換大寫算法的描述請參見 Unicode 標準的 3.13 節。str.zfill(width)
返回原字符串的副本,在左邊填充 ASCII "0" 數碼使其長度變為 width。 正負值前綴 ("+"/"-") 的處理方式是在正負符號 之后 填充而非在之前。 如果 width 小于等于 len(s) 則返回原字符串的副本。 例如:
>>> "42".zfill(5) "00042" >>> "-42".zfill(5) "-0042"printf 風格的字符串格式化
注解
此處介紹的格式化操作具有多種怪異特性,可能導致許多常見錯誤(例如無法正確顯示元組和字典)。 使用較新的 格式化字符串字面值,str.format() 接口或 模板字符串 有助于避免這樣的錯誤。 這些替代方案中的每一種都更好地權衡并提供了簡單、靈活以及可擴展性優勢。
字符串具有一種特殊的內置操作:使用 % (取模) 運算符。 這也被稱為字符串的 格式化 或 插值 運算符。 對于 format % values (其中 format 為一個字符串),在 format 中的 % 轉換標記符將被替換為零個或多個 values 條目。 其效果類似于在 C 語言中使用 sprintf()。
如果 format 要求一個多帶帶參數,則 values 可以為一個非元組對象。 否則的話,values 必須或者是一個包含項數與格式字符串中指定的轉換符項數相同的元組,或者是一個多帶帶映射對象(例如字典)。
轉換標記符包含兩個或更多字符并具有以下組成,且必須遵循此處規定的順序:
"%" 字符,用于標記轉換符的起始。
映射鍵(可選),由加圓括號的字符序列組成 (例如 (somename))。
轉換旗標(可選),用于影響某些轉換類型的結果。
最小字段寬度(可選)。 如果指定為 "*" (星號),則實際寬度會從 values 元組的下一元素中讀取,要轉換的對象則為最小字段寬度和可選的精度之后的元素。
精度(可選),以在 "." (點號) 之后加精度值的形式給出。 如果指定為 "*" (星號),則實際精度會從 values 元組的下一元素中讀取,要轉換的對象則為精度之后的元素。
長度修飾符(可選)。
轉換類型。
當右邊的參數為一個字典(或其他映射類型)時,字符串中的格式 必須 包含加圓括號的映射鍵,對應 "%" 字符之后字典中的每一項。 映射鍵將從映射中選取要格式化的值。 例如:
>>> print("%(language)s has %(number)03d quote types." % ... {"language": "Python", "number": 2}) Python has 002 quote types.
在此情況下格式中不能出現 * 標記符(因其需要一個序列類的參數列表)。
轉換旗標為:
可以給出長度修飾符 (h, l 或 L),但會被忽略,因為對 Python 來說沒有必要 -- 所以 %ld 等價于 %d。
轉換類型為:
![圖片上傳中...]
注釋:
此替代形式會在第一個數碼之前插入標示八進制數的前綴 ("0o")。
此替代形式會在第一個數碼之前插入 "0
取決于是使用 "x" 還是 "X" 格式)。
此替代形式總是會在結果中包含一個小數點,即使其后并沒有數碼。
小數點后的數碼位數由精度決定,默認為 6。
此替代形式總是會在結果中包含一個小數點,末尾各位的零不會如其他情況下那樣被移除。
小數點前后的有效數碼位數由精度決定,默認為 6。
7; 如果精度為 N,輸出將截短為 N 個字符。
參見 PEP 237。
由于 Python 字符串顯式指明長度,%s 轉換不會將 "0" 視為字符串的結束。
在 3.1 版更改: 絕對值超過 1e50 的 %f 轉換不會再被替換為 %g 轉換。
上一篇文章:Python標準庫---11、內置類型:迭代器類型、序列類型(list-typle-range)
下一篇文章:Python標準庫---13、內置類型:二進制序列類型 ( bytes, bytearray, memoryview)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43974.html
摘要:上一篇文章標準庫內置類型數字類型下一篇文章標準庫內置類型文本序列類型迭代器類型支持在容器中進行迭代的概念。該對象需要支持下文所述的迭代器協議。這是同時允許容器和迭代器配合和語句使用所必須的。 上一篇文章:Python標準庫---10、內置類型:數字類型下一篇文章:Python標準庫---12、內置類型:文本序列類型(str) ## 迭代器類型Python 支持在容器中進行迭代的概念。...
摘要:上一篇文章標準庫內置函數下一篇文章標準庫內置函數內置函數返回對象的長度元素個數。對表示單個字符的字符串,返回代表它碼點的整數。上一篇文章標準庫內置函數下一篇文章標準庫內置函數 上一篇文章:Python標準庫---3、內置函數(G-H-I-J-K)下一篇文章:Python標準庫---5、內置函數(P-K-R) 內置函數: showImg(https://segmentfault.com...
摘要:第行把具名元組以的形式返回。對序列使用和通常號兩側的序列由相同類型的數據所構成當然不同類型的也可以相加,返回一個新序列。從上面的結果可以看出,它雖拋出了異常,但仍完成了操作查看字節碼并不難,而且它對我們了解代碼背后的運行機制很有幫助。 《流暢的Python》筆記。接下來的三篇都是關于Python的數據結構,本篇主要是Python中的各序列類型 1. 內置序列類型概覽 Python標準庫...
摘要:上一篇文章標準庫內置函數下一篇文章標準庫內置函數內置函數返回一個新的對象,可以選擇帶有從獲取的元素。推薦使用內置函數來檢測對象的類型,因為它會考慮子類的情況。上一篇文章標準庫內置函數下一篇文章標準庫內置函數 上一篇文章:Python標準庫---5、內置函數(P-K-R)下一篇文章:Python標準庫---7、內置函數(V-W-X-Y-Z) 內置函數: showImg(https://...
摘要:上一篇文章標準庫內置類型文本序列類型下一篇文章二進制序列類型操作二進制數據的核心內置類型是和。另請參見內置類型。存在一個反向轉換函數,可以將對象轉換為對應的十六進制表示。返回子序列在范圍內非重疊出現的次數。 上一篇文章:Python標準庫---12、內置類型:文本序列類型(str)下一篇文章: 二進制序列類型 --- bytes, bytearray, memoryview 操作二進制...
閱讀 2574·2021-10-08 10:04
閱讀 2735·2021-09-06 15:02
閱讀 792·2019-08-30 13:50
閱讀 1547·2019-08-30 13:21
閱讀 2586·2019-08-30 11:15
閱讀 2113·2019-08-29 17:19
閱讀 1574·2019-08-26 13:55
閱讀 1261·2019-08-26 10:15