您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“python怎么正確的操作字符串”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“python怎么正確的操作字符串”這篇文章吧。
字符串是 Python 中最常用的數據類型,同時支持單引號和雙引號。使用雙引號時打印字符串時用單引號。
>>> "Hello world!" 'Hello world!' >>> 'Hello world!' 'Hello world!' >>> "Let's go!" "Let's go!" >>> 'she said "Hello world!" ' 'she said "Hello, world!" '
上述示例可使用反斜杠(\)對引號進行轉義。
>>> 'Let\'s go!' "Let's go!" >>> "\"Hello, world!\" she said" '"Hello, world!" she said'
通常使用 +號拼接字符串,像數字相加一樣。
>>> "she said " + '"Hello world!"' 'she said "Hello world!"' >>> a = "she said " >>> b = '"Hello world!"' >>> a + b 'she said "Hello world!"'
依次輸入兩個字符串時,也可實現字符串拼接。
>>> "she said " '"Hello world!"' 'she said "Hello world!"' # 只有輸入的是字符串才有用 >>> a = "she said " >>> b = '"Hello world!"' >>> a b File "<stdin>", line 1 a b ^ SyntaxError: invalid syntax
可使用三引號表示很長的字符串(跨越多行的字符串)。
>>> """like this""" 'like this' >>> print('''long long ago! "Hello world!" she said.''') long long ago! "Hello world!" she said.
常規字符串也可橫跨多行。只要在行尾加上反斜杠,反斜杠和換行符將被轉義,即被忽略。
>>> 1 + 2 + \ 4 + 5 12 >>> print("Hello \ world!") Hello world! >>> print \ ('Hello world') Hello world
對于字符串字面量,可直接對其執行索引操作,無需先將其賦給變量。
>>> 'Hello'[1] 'e'
如果函數調用返回一個序列,可直接對其執行索引操作。
>>> yearnum = input('please input year: ')[3] please input year: 2021 >>> yearnum '1'
將序列與數字n相乘時,將重復這個序列n次來創建一個新序列。
>>> 'python' * 3 'pythonpythonpython'
要檢查特定的值是否包含在序列中,可使用運算符in
>>> access_mode = 'rw+' >>> 'w' in access_mode True >>> 'x' in access_mode False >>> subject = '$$$ Get rich now!!! $$$' >>> '$$$' in subject True
使用函數list ,可以快速將字符串轉換成一個字符列表。
>>> somelist = list('Hello') >>> somelist ['H', 'e', 'l', 'l', 'o']
將字符列表轉換為字符串。
>>>''.join(somelist)
>>> name = list('Perl') >>> name ['P', 'e', 'r', 'l'] >>> name[2:] = list('ar') >>> name ['P', 'e', 'a', 'r'] >>> name = list('Perl') >>> name[1:] = list('ython') >>> name ['P', 'y', 't', 'h', 'o', 'n']
格式字符串中的%s稱為轉換說明符,指出了要將值插入什么地方 并在右邊指定要設置其格式的值。指定要設置其格式的值時,可使用單個值(如字符串或數字),可使用元組(如果要設置多個值的格式),還可使用字典,其中最常見的是元組。
>>> format = "Hello, %s. %s !" >>> values = ('world', 'python') >>> format % values 'Hello, world. python !'
包含等號的參數稱為關鍵字參數,
>>> from string import Template >>> tmpl = Template("Hello, $param1! $param2 !") >>> tmpl.substitute(param1="world", param2="Python") 'Hello, world! Python !'
>>> "{}, {} and {}".format("first", "second", "third") 'first, second and third' >>> "{0}, {1} and {2}".format("first", "second", "third") 'first, second and third' >>> "{3} {0} {2} {1} {3} {0}".format("be", "not", "or", "to") 'to be or not to be' >>> from math import pi >>> "{name} 約等于 {value:.2f}.".format(value=pi, name="π") 'π 約等于 3.14.''
如果變量與替換字段同名,還可使用一種簡寫。在這種情況下,使用f字符串——在字符串前面加上f。(Python 3.6+)
>>> from math import e >>> f"Euler's constant is roughly {e}." # 等價于 "Euler's constant is roughly {e}.".format(e=e) "Euler's constant is roughly 2.718281828459045."
字符串包含有關如何設置格式的信息, 而這些信息是使用一種微型格式指定語言 (mini-language)指定的。每個值都被插入字符串中,以替換用花括號括起的替換字段。 替換字段由如下部分組成,其中每個部分 都是可選的。
字段名:索引或標識符,指出要設置哪個值的格式并使用結果來替換該字段。除指定值 外,還可指定值的特定部分,如列表的元素。
轉換標志:跟在嘆號后面的單個字符。當前支持的字符包括r(表示repr)、s(表示str) 和a(表示ascii)。如果你指定了轉換標志,將不使用對象本身的格式設置機制,而是使 用指定的函數將對象轉換為字符串,再做進一步的格式設置。
格式說明符:跟在冒號后面的表達式(這種表達式是使用微型格式指定語言表示的)。格 式說明符讓我們能夠詳細地指定最終的格式,包括格式類型(如字符串、浮點數或十六 進制數),字段寬度和數的精度,如何顯示符號和千位分隔符,以及各種對齊和填充方式。
只需向format提供要設置其格式的未命名參數,并在格式字符串中使用 未命名字段。此時,將按順序將字段和參數配對。你還可給參數指定名稱,這種參數將被用于相 應的替換字段中。你可混合使用這兩種方法。
>>> "{foo} {} {bar} {}".format(1, 2, bar=4, foo=3) '3 1 4 2'
還可通過索引來指定要在哪個字段中使用相應的未命名參數,這樣可不按順序使用未命名 參數。
>>> "{foo} {1} {bar} {0}".format(1, 2, bar=4, foo=3) '3 2 4 1'
并非只能使用提供的值本身,而是可訪問其組成部分,可使用索引,還可使用句點表示法來訪問導入的模塊中的方法、屬性、變量和函 數
>>> fullname = ["Alfred", "Smoketoomuch"] >>> "Mr {name[1]}".format(name=fullname) 'Mr Smoketoomuch' >>> import math >>> tmpl = "The {mod.__name__} module defines the value {mod.pi} for π" >>> tmpl.format(mod=math) 'The math module defines the value 3.141592653589793 for π'
(s、r和a)指定分別使用str、repr和ascii進行轉換。函數str通常創建外觀 普通的字符串版本\。函數repr嘗試創建給定值的Python表 示(這里是一個字符串字面量)。函數ascii創建只包含ASCII字符的表示。
>>> print("{pi!s} {pi!r} {pi!a}".format(pi="π")) π 'π' '\u03c0'
(即冒號后面)使用字符f(表示定 點數)。
>>> "The number is {num}".format(num=42) 'The number is 42' >>> "The number is {num:f}".format(num=42) 'The number is 42.000000' >>> "The number is {num:b}".format(num=42) 'The number is 101010'
模塊string中幾個很有用的常量
string.digits:包含數字0~9的字符串。
string.ascii_letters:包含所有ASCII字母(大寫和小寫)的字符串。
string.ascii_lowercase:包含所有小寫ASCII字母的字符串。
string.printable:包含所有可打印的ASCII字符的字符串。
string.punctuation:包含所有ASCII標點字符的字符串。
string.ascii_uppercase:包含所有大寫ASCII字母的字符串。
字符串填充字符方法
center、 ljust、 rjust、 zfill
如果沒有指定分隔符,將默認在單個或多個連續的空白字符(空格、制表符、換行符 等)處進行拆分
>>> seq = ['1', '2', '3', '4', '5'] >>> sep = '+' >>> sep.join('+') # 合并一個字符串列表 '1+2+3+4+5' >>> '1+2+3+4+5'.split('+') ['1', '2', '3', '4', '5'] >>> 'Using the default'.split() ['Using', 'the', 'default']
以上是“python怎么正確的操作字符串”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。