国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python 字符串str以及內(nèi)置方法

這篇具有很好參考價(jià)值的文章主要介紹了python 字符串str以及內(nèi)置方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

字符串是一種用來(lái)表示文本的數(shù)據(jù)類型,它是由符號(hào)或者數(shù)值組成的一個(gè)連續(xù)序列。

1、了解定義字符串:

2、數(shù)據(jù)類型轉(zhuǎn)換:

3、轉(zhuǎn)義符號(hào):

4、字符串的索引

??注意

5、字符串的內(nèi)置方法

6.格式化輸出


字符串是一種用來(lái)表示文本的數(shù)據(jù)類型,它是由符號(hào)或者數(shù)值組成的一個(gè)連續(xù)序列。

1、了解定義字符串:

在 Python 中,字符串是一種常見(jiàn)的數(shù)據(jù)類型,用于表示文本信息。一個(gè)字符串可以包含多個(gè)字符,在 Python 中使用單引號(hào)、雙引號(hào)或三引號(hào)表示,例如:

s1 = 'Hello, World!'    # 使用單引號(hào)表示字符串
s2 = "Python is great!"    # 使用雙引號(hào)表示字符串
s3 = '''This is a 
multi-line 
string.'''    # 使用三引號(hào)表示多行字符串

在 Python 中,字符串是不可變(immutable)的,即不能修改字符串中的某個(gè)字符。但可以使用下標(biāo)訪問(wèn)字符串中的單個(gè)字符,例如:

s = 'Python'
print(s[0])    # 輸出 P
print(s[-1])   # 輸出 n

可以使用加號(hào)(+)運(yùn)算符將兩個(gè)字符串合并成一個(gè)新的字符串,例如:

s1 = 'Hello'
s2 = 'World'
s3 = s1 + ', ' + s2 + '!'
print(s3)    # 輸出 Hello, World!

2、數(shù)據(jù)類型轉(zhuǎn)換:

使用str()可以將任意數(shù)據(jù)類型轉(zhuǎn)換成字符串類型

在 Python 中,str 是一種基本數(shù)據(jù)類型,表示字符串。有時(shí)候需要將其他類型的數(shù)據(jù)轉(zhuǎn)換為字符串,或者將字符串轉(zhuǎn)換為其他類型的數(shù)據(jù)。Python 提供了一些內(nèi)置函數(shù),可以實(shí)現(xiàn)這種類型轉(zhuǎn)換。

1.str其他類型轉(zhuǎn)換為 str

要將其他類型的數(shù)據(jù)轉(zhuǎn)換為字符串,可以使用內(nèi)置函數(shù) str(),它可以接受任何類型的參數(shù),并返回對(duì)應(yīng)的字符串。

a = 123
b = 3.14
c = True
s1 = str(a)
s2 = str(b)
s3 = str(c)
print(s1, s2, s3)    # 輸出 "123 3.14 True"

對(duì)于復(fù)雜的數(shù)據(jù)結(jié)構(gòu),str() 函數(shù)會(huì)自動(dòng)調(diào)用對(duì)象的 __str__() 方法,返回一個(gè)可讀性較好的字符串表示。

2.str轉(zhuǎn)換為 int 或 float

要將字符串轉(zhuǎn)換為整數(shù)或浮點(diǎn)數(shù),可以使用內(nèi)置函數(shù) int() 或 float()。

s1 = '123'
s2 = '3.14'
a = int(s1)
b = float(s2)
print(a, b)    # 輸出 123 3.14

需要注意的是,如果字符串不能被解析為有效的數(shù)字,則會(huì)拋出 ValueError 異常。

3.其他類型轉(zhuǎn)換

除了上述常見(jiàn)類型外,還有一些其他類型的數(shù)據(jù)可以進(jìn)行轉(zhuǎn)換,例如 bool 類型、list 類型、tuple 類型等??梢酝ㄟ^(guò)直接或間接地調(diào)用相應(yīng)的構(gòu)造函數(shù)實(shí)現(xiàn)轉(zhuǎn)換。

a = 0
b = ''
c = []
d = {}
e = ()
f = None
s1 = bool(a)
s2 = str(a)
s3 = list(e)
s4 = tuple(c)
s5 = dict(d)
i1 = int(s2)
print(s1, s2, s3, s4, s5, i1)    # 輸出 False "0" [] () {} 0

需要注意的是,一些類型之間的轉(zhuǎn)換可能存在損失精度或改變數(shù)據(jù)結(jié)構(gòu)的風(fēng)險(xiǎn),需要根據(jù)實(shí)際需求謹(jǐn)慎選擇。

3、轉(zhuǎn)義符號(hào):

轉(zhuǎn)義字符是指使用反斜杠“”對(duì)一些特殊字符進(jìn)行轉(zhuǎn)義,即改變?cè)凶址x的特殊字符,在引號(hào)里面使用。

python str,python,開(kāi)發(fā)語(yǔ)言

如果不讓轉(zhuǎn)義符號(hào)生效要用 r 或 R 來(lái)定義原始字符串

original = r"我是原始字符串\n"
print("original : ", original)	#我是原始字符串\n

4、字符串的索引

字符串是一個(gè)由元素組成的序列,每個(gè)元素所處的位置是固定的, 并且對(duì)應(yīng)著一個(gè)位置編號(hào),編號(hào)從0開(kāi)始,依次遞增1,這個(gè)位置編號(hào)被稱為索引或者下標(biāo)。

python str,python,開(kāi)發(fā)語(yǔ)言

??注意

注意

1、Python 沒(méi)有單獨(dú)的字符類型,一個(gè)字符串的長(zhǎng)度就是為 1

2、單引號(hào)與雙引號(hào)可以嵌套使用,單引號(hào)表示的字符串中可以嵌套雙引號(hào)的字符串, 但是單引號(hào)不允許嵌套單引號(hào);

3、字符串可以用+運(yùn)算符拼接在一起,用*運(yùn)算符重復(fù)

4、Python中的字符串不能改變,可變的對(duì)象修改之后,前后地址不變,不可變對(duì)象修改地址之后,前后地址會(huì)變

正向索引:索引從 0 開(kāi)始從左往右依次遞增

反向索引:索引從- 1 開(kāi)始從右到左依次遞減

5、字符串的內(nèi)置方法

Python 字符串的內(nèi)置方法非常豐富,包括字符串查找、替換、分割、大小寫(xiě)轉(zhuǎn)換、判斷等等。

a. 字符串查找

str.find(sub[, start[, end]]):從左到右查找子字符串 sub 在 str 中的位置,返回第一個(gè)匹配項(xiàng)的索引位置。如果沒(méi)有找到,則返回 -1。start 和 end 參數(shù)表示查找的范圍,默認(rèn)為整個(gè)字符串。
# 查找子字符串,返回索引位置
s = 'hello, world'
print(s.find('o'))  # 4
print(s.find('o', 5))  # 8,從第 5 個(gè)位置開(kāi)始查找
print(s.find('o', 5, 7))  # -1,查找范圍為 [5, 7)

str.rfind(sub[, start[, end]]):從右到左查找子字符串 sub 在 str 中的位置,返回最后一個(gè)匹配項(xiàng)的索引位置。如果沒(méi)有找到,則返回 -1。start 和 end 參數(shù)表示查找的范圍,默認(rèn)為整個(gè)字符串。
# 從右到左查找子字符串,返回索引位置
s = 'hello, world'
print(s.rfind('o'))  # 8
print(s.rfind('o', 0, -2))  # 4,查找范圍為 [0, -2)

str.index(sub[, start[, end]]):與 find() 方法類似,從左到右查找子字符串 sub 在 str 中的位置,返回第一個(gè)匹配項(xiàng)的索引位置。如果沒(méi)有找到,則拋出 ValueError 異常。
# 查找子字符串,返回索引位置,沒(méi)有找到則拋出異常
s = 'hello, world'
print(s.index('o'))  # 4
print(s.index('o', 5))  # 8,從第 5 個(gè)位置開(kāi)始查找
print(s.index('o', 5, 7))  # ValueError: substring not found

str.rindex(sub[, start[, end]]):與 rfind() 方法類似,從右到左查找子字符串 sub 在 str 中的位置,返回最后一個(gè)匹配項(xiàng)的索引位置。如果沒(méi)有找到,則拋出 ValueError 異常。
# 從右到左查找子字符串,返回索引位置,沒(méi)有找到則拋出異常
s = 'hello, world'
print(s.rindex('o'))  # 8
print(s.rindex('o', 0, -2))  # 4,查找范圍為 [0, -2)
print(s.rindex('o', 5, 7))  # ValueError: substring not found

b. 字符串替換

str.replace(old, new[, count]):將 str 中的所有 old 子串替換為 new,返回新的字符串。如果指定了 count,則只替換前 count 個(gè)出現(xiàn)的子串。

# 替換子字符串
s = 'hello, world'
print(s.replace('o', 'O'))  # hellO, wOrld
print(s.replace('o', 'O', 1))  # hellO, world,只替換第一個(gè)出現(xiàn)的子串

# 用新的字符替換字符串中舊的字符
str7 = 'my name is tony, my age is 18!'  # 將tony的年齡由18歲改成73歲
str7 = str7.replace('18', '73') 		 # 語(yǔ)法:replace('舊內(nèi)容', '新內(nèi)容')	#my name is tony, my age is 73!

# 可以指定修改的個(gè)數(shù)
str7 = 'my name is tony, my age is 18!'
str7 = str7.replace('my', 'MY',1) 		 # 只把一個(gè)my改為MY	#'MY name is tony, my age is 18!'
str.maketrans(x[, y[, z]]):創(chuàng)建字符映射表,用于 translate() 方法的參數(shù)。x 是需要轉(zhuǎn)換的字符,y 是轉(zhuǎn)換后的字符,z 是需要?jiǎng)h除的字符。

# 創(chuàng)建字符映射表
trans_table = str.maketrans('abc', '123')
print(trans_table)  # {97: 49, 98: 50, 99: 51}
str.translate(table):根據(jù)字符映射表 table 對(duì)字符串進(jìn)行轉(zhuǎn)換。

# 根據(jù)字符映射表轉(zhuǎn)換字符串
s = 'abc'
trans_table = str.maketrans('abc', '123')
print(s.translate(trans_table))  # 123
expandtabs() 方法可以將字符串中的制表符 `\t` 轉(zhuǎn)換為空格,并根據(jù)指定的 tabsize 將連續(xù)的多個(gè)空格替換為一個(gè)制表符或若干個(gè)空格。
str.expandtabs(tabsize = 8)
其中,tabsize 為可選參數(shù),默認(rèn)值為 8。

示例代碼:
str1 = 'a\tb\tc'
result = str1.expandtabs()
print(result)  # 輸出 'a       b       c'
str2 = 'a    b    c'
result = str2.expandtabs(4)
print(result)  # 輸出 'a   b   c'

c. 字符串分割和連接

str.split(sep=None, maxsplit=-1):以 sep 為分隔符對(duì) str 進(jìn)行分割,返回一個(gè)列表。maxsplit 指定最多分割次數(shù),默認(rèn)為 -1,表示不限制。

# 分割字符串
s = 'hello, world'##可以使用解壓賦值給切分出來(lái)賦一個(gè)變量,但是切多少塊就給多少變量名
print(s.split())  # ['hello,', 'world'],默認(rèn)以空格進(jìn)行分割
print(s.split(','))  # ['hello', ' world'],以逗號(hào)進(jìn)行分割
print(s.split(',', 1))  # ['hello', ' world'],最多分割一次
str.rsplit(sep=None, maxsplit=-1):與 split() 方法類似,但從右向左分割。

# 從右向左分割字符串
s = 'hello, world'
print(s.rsplit())  # ['hello,', 'world']
print(s.rsplit(',', 1))  # ['hello', ' world'] 可以指定切割次數(shù),只有用切割次數(shù)才能看出來(lái)
str.join(iterable):將可迭代對(duì)象 iterable 中的字符串連接起來(lái),返回一個(gè)新的字符串。

# 連接字符串
lst = ['hello', 'world']
print('|'.join(lst))  # hello|world

# 從可迭代對(duì)象中取出多個(gè)字符串,然后按照指定的分隔符進(jìn)行拼接,拼接的結(jié)果為字符串
'%'.join('hello') 				# 從字符串'hello'中取出多個(gè)字符串,然后按照%作為分隔符號(hào)進(jìn)行拼接
打印結(jié)果:'h%e%l%l%o'
'|'.join(['tony','18','read'])  # 從列表中取出多個(gè)字符串,然后按照|作為分隔符號(hào)進(jìn)行拼接
打印結(jié)果:'tony|18|read'

d. 字符串大小寫(xiě)轉(zhuǎn)換

str.capitalize():將首字母變?yōu)榇髮?xiě),返回一個(gè)新的字符串。
# 首字母大寫(xiě)
s = 'hello, world'
print(s.capitalize())  # Hello, world
str.title():將每個(gè)單詞的首字母變?yōu)榇髮?xiě),返回一個(gè)新的字符串。

# 每個(gè)單詞首字母大寫(xiě)
s = 'hello, world'
print(s.title())  # Hello, World
str.lower():將所有字符變?yōu)樾?xiě),返回一個(gè)新的字符串。

# 所有字符變?yōu)樾?xiě)
s = 'Hello, World'
print(s.lower())  # hello, world
str.upper():將所有字符變?yōu)榇髮?xiě),返回一個(gè)新的字符串。

# 所有字符變?yōu)榇髮?xiě)
s = 'Hello, World'
print(s.upper())  # HELLO, WORLD
str.swapcase():將所有大寫(xiě)字母變?yōu)樾?xiě),所有小寫(xiě)字母變?yōu)榇髮?xiě),返回一個(gè)新的字符串。

# 大小寫(xiě)互換
s = 'Hello, World'
print(s.swapcase())  # hELLO, wORLD

e. 字符串判斷

str.startswith(prefix[, start[, end]]):判斷 str 是否以指定的前綴 prefix 開(kāi)始。start 和 end 參數(shù)表示查找范圍,默認(rèn)為整個(gè)字符串。
# 判斷字符串是否以指定前綴開(kāi)始
s = 'hello, world'
print(s.startswith('h'))  # True
print(s.startswith('o', 4))  # True,從第 4 個(gè)位置開(kāi)始查找
print(s.startswith('w', 7))  # False,從第 7 個(gè)位置開(kāi)始查找
str.endswith(suffix[, start[, end]]):判斷 str 是否以指定的后綴 suffix 結(jié)束。start 和 end 參數(shù)表示查找范圍,默認(rèn)為整個(gè)字符串。
# 判斷字符串是否以指定后綴結(jié)束
s = 'hello, world'
print(s.endswith('d'))  # True
print(s.endswith('l', 0, 3))  # True,查找范圍為 [0, 3)
print(s.endswith('w', 0, 7))  # False,查找范圍為 [0, 7)
str.isalpha():判斷 str 是否只包含字母。
# 判斷字符串是否只包含字母
s1 = 'hello'
s2 = 'hello!'
print(s1.isalpha())  # True
print(s2.isalpha())  # False,包含 '!'
str.isdigit():判斷 str 是否只包含數(shù)字,是否為純數(shù)字組成
# 判斷字符串是否只包含數(shù)字
s1 = '123'
s2 = '123a'
print(s1.isdigit())  # True
print(s2.isdigit())  # False,包含 'a'
str.isalnum():判斷 str 是否只包含字母和數(shù)字。
# 判斷字符串是否只包含字母和數(shù)字
s1 = 'hello123'
s2 = 'hello, world'
print(s1.isalnum())  # True
print(s2.isalnum())  # False,包含 ','
str.islower():判斷 str 是否全部為小寫(xiě)字母。
# 判斷字符串是否全部為小寫(xiě)字母
s1 = 'hello'
s2 = 'Hello'
print(s1.islower())  # True
print(s2.islower())  # False,首字母為大寫(xiě)
str.isupper():判斷 str 是否全部為大寫(xiě)字母。
# 判斷字符串是否全部為大寫(xiě)字母
s1 = 'HELLO'
s2 = 'Hello'
print(s1.isupper())  # True
print(s2.isupper())  # False,包含小寫(xiě)字母
str.isspace():判斷 str 是否只包含空白字符。
# 判斷字符串是否只包含空白字符
s1 = ' \t\n'
s2 = ' hello '
print(s1.isspace())  # True
print(s2.isspace())  # False,包含字母
isnumeric() 方法用于判斷字符串中的字符是否都屬于數(shù)字字符。其中,除了數(shù)字 0 ~ 9 之外,還包括羅馬數(shù)字、漢字?jǐn)?shù)字、全角數(shù)字等
str.isnumeric()

示例代碼:
str1 = '123456'
print(str1.isnumeric())  # 輸出 True

str2 = '①②③④⑤'
print(str2.isnumeric())  # 輸出 True

str3 = '四百五十六'
print(str3.isnumeric())  # 輸出 True

str4 = '12ab34'
print(str4.isnumeric())  # 輸出 False
isdecimal() 和 isnumeric() 非常相似,也是用來(lái)判斷字符串中的字符是否都屬于數(shù)字字符。不同之處在于,isdecimal() 方法只針對(duì)數(shù)字 0 ~ 9 進(jìn)行判斷,而不包括羅馬數(shù)字、漢字?jǐn)?shù)字、全角數(shù)字等
str.isdecimal()

示例代碼:

str1 = '123456'
print(str1.isdecimal())  # 輸出 True

str2 = '①②③④⑤'
print(str2.isdecimal())  # 輸出 False

str3 = '四百五十六'
print(str3.isdecimal())  # 輸出 False

str4 = '12ab34'
print(str4.isdecimal())  # 輸出 False
isidentifier() 方法用于判斷字符串是否是一個(gè)合法的標(biāo)識(shí)符。標(biāo)識(shí)符通常用來(lái)表示變量、函數(shù)、類等名稱,它的命名規(guī)則和 Python 中變量命名的規(guī)則相同。具體而言,標(biāo)識(shí)符只能由字母、下劃線、數(shù)字組成,且不能以數(shù)字開(kāi)頭。
str.isidentifier()

示例代碼:
str1 = 'hello'
print(str1.isidentifier())  # 輸出 True

str2 = 'hello world'
print(str2.isidentifier())  # 輸出 False

str3 = '_hello'
print(str3.isidentifier())  # 輸出 True

str4 = '123hello'
print(str4.isidentifier())  # 輸出 False

需要注意的是,Python 中有一些關(guān)鍵字是不能用作標(biāo)識(shí)符的,例如 `if`、`while`、`for` 等。同時(shí),Python 中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。

f. 其他

count() 方法是用來(lái)返回指定元素在列表、字符串等對(duì)象中出現(xiàn)的次數(shù)。它的語(yǔ)法格式如下:
object.count(element)
"""其中,object 是需要檢查的對(duì)象,element 是需要計(jì)數(shù)的元素。"""

1.列表中元素的計(jì)數(shù)
list1 = ['apple', 'banana', 'cherry', 'banana']
count = list1.count('banana')
print(count)  # 輸出 2

2.字符串中字符的計(jì)數(shù)
str1 = 'Hello, world!'
count = str1.count('o')
print(count)  # 輸出 2

3.檢查子字符串的計(jì)數(shù)
str2 = 'To be or not to be, that is the question.'
count = str2.count('be')
print(count)  # 輸出 2

需要注意的是,count() 方法只能統(tǒng)計(jì)可哈希的對(duì)象類型(可作為字典的鍵),因此不能用于統(tǒng)計(jì)集合、字典等不可哈希的對(duì)象類型。同時(shí),如果統(tǒng)計(jì)的元素不存在于對(duì)象中,count() 方法會(huì)返回 0。
strip() 移除字符串首尾指定的字符(默認(rèn)移除空格)

lstrip() 只移除左邊的指定字符

rstrip() 只移除右邊的指定字符

# 去除字符串首尾指定字符
s = '   hello, world   '
print(s.strip())  # 'hello, world',去除首尾的空格
print(s.lstrip())  # 'hello, world   ',只去除左側(cè)的空格
print(s.rstrip())  # '   hello, world',只去除右側(cè)的空格

# 去除字符串首尾指定字符,括號(hào)內(nèi)不指定字符,默認(rèn)以空格作為切分符號(hào),括號(hào)內(nèi)指定分隔字符,則按照括號(hào)內(nèi)指定的字符切割字符串(空格、\n、\t)
s = '***hello, world***'
print(s.strip('*'))  # 'hello, world',去除首尾的'*'
print(s.lstrip('*'))  # 'hello, world***',只去除左側(cè)的'*'
print(s.rstrip('*'))  # '***hello, world',只去除右側(cè)的'*'
center() 方法是用來(lái)將字符串居中顯示,并用指定的字符填充空白部分。它的語(yǔ)法格式如下:
string.center(width[, fillchar])
"""其中,string 是需要居中的字符串,width 是設(shè)置的總寬度(包括原字符串),fillchar 是可選參數(shù),用來(lái)指定填充空白部分的字符。如果不指定,就用空格來(lái)填充。"""

1.居中顯示并用空格填充
str1 = 'Hello'
result = str1.center(10)
print(result)  # 輸出 '  Hello   '

2.居中顯示并用指定字符填充
str2 = 'World'
result = str2.center(10, '*')
print(result)  # 輸出 '**World***'

"""
上面的示例中,第一個(gè)例子中的字符串 Hello 居中顯示,總寬度是 10,因此需要在前后填充 2 個(gè)空格。在第二個(gè)例子中,字符串 World 居中顯示,總寬度為 10,填充字符為 *,因此需要在前后各填充 2 個(gè) *。

需要注意的是,如果指定的總寬度小于原字符串的長(zhǎng)度,center() 方法并不會(huì)將字符串截?cái)?,而是直接返回原字符串。如果不指定填充字符,也不?huì)把空白部分填充為其他字符,而是默認(rèn)用空格填充。
"""
ljust()、rjust() 和 zfill() 方法都是用來(lái)對(duì)字符串進(jìn)行填充的方法,它們的主要區(qū)別在于填充的方向和填充內(nèi)容。
ljust():將字符串左對(duì)齊,并用指定字符填充右側(cè)空白部分。
rjust():將字符串右對(duì)齊,并用指定字符填充左側(cè)空白部分。
zfill():在字符串左側(cè)用 0 填充,使其達(dá)到指定長(zhǎng)度。

1.ljust()
string.ljust(width[, fillchar])
其中,string 是需要左對(duì)齊的字符串,width 是設(shè)置的總寬度(包括原字符串),fillchar 是可選參數(shù),用來(lái)指定填充空白部分的字符。如果不指定,就用空格來(lái)填充。例如:
# 左對(duì)齊并用空格填充
str1 = 'Hello'
result = str1.ljust(10)
print(result)  # 輸出 'Hello     '
# 左對(duì)齊并用指定字符填充
str2 = 'World'
result = str2.ljust(10, '*')
print(result)  # 輸出 'World*****'

2.rjust()
string.rjust(width[, fillchar])
其中,string 是需要右對(duì)齊的字符串,width 是設(shè)置的總寬度(包括原字符串),fillchar 是可選參數(shù),用來(lái)指定填充空白部分的字符。如果不指定,就用空格來(lái)填充。例如:
str1 = 'Hello'
result = str1.rjust(10, '*')
print(result)  # 輸出 '*****Hello'

3.zfill()
string.zfill(width)
其中,string 是需要左側(cè)填充 0 的字符串,width 是設(shè)置的總寬度(包括原字符串)。例如:
str1 = '123'
result = str1.zfill(5)
print(result)  # 輸出 '00123'
需要注意的是,以上三種方法都是返回一個(gè)新的字符串,并不會(huì)改變?cè)凶址闹怠H绻付ǖ膶挾刃∮谠址L(zhǎng)度,則不進(jìn)行任何填充操作,直接返回原有字符串。

6.格式化輸出

  • 什么是格式化輸出: 把一段字符串里面的某些內(nèi)容替換掉之后再輸出,就是格式化輸出。
  • 為什么要格式化輸出: 我們經(jīng)常會(huì)輸出具有某種固定格式的內(nèi)容,比如:'親愛(ài)的xxx你好!你xxx月的話費(fèi)是xxx,余額是xxx‘,我們需要做的就是將xxx替換為具體的內(nèi)容。
  • Python 格式化輸出的方式有三種:
    • 使用 % 運(yùn)算符
    • 使用 format() 方法
    • 使用 f-string(Python 3.6+)

1. 使用 % 運(yùn)算符

在字符串中,可以使用 % 運(yùn)算符實(shí)現(xiàn)格式化輸出。

  • %s 表示字符串占位符
  • %d 表示整數(shù)占位符
  • %f 表示浮點(diǎn)數(shù)占位符
  • %X 表示十六進(jìn)制整數(shù)占位符
  • %x 表示十六進(jìn)制整數(shù)占位符(小寫(xiě))
  • %o 表示八進(jìn)制整數(shù)占位符
  • %e 表示科學(xué)計(jì)數(shù)法占位符
1.字符串格式化輸出
name = 'Alice'
age = 18
print('My name is %s, and I am %d years old.' % (name, age))

2.浮點(diǎn)數(shù)格式化輸出
pi = 3.1415926
print('PI is %f.' % pi)  # 默認(rèn)保留小數(shù)點(diǎn)后 6 位
print('PI is %.2f.' % pi)  # 保留小數(shù)點(diǎn)后 2 位

3.十六進(jìn)制整數(shù)格式化輸出
num = 255
print('Number in hex is %X' % num)  # 大寫(xiě)字母
print('Number in hex is %x' % num)  # 小寫(xiě)字母

4.八進(jìn)制整數(shù)格式化輸出
num = 64
print('Number in octal is %o' % num)

5.科學(xué)計(jì)數(shù)法格式化輸出
num = 1.23456789e+09
print('Number in scientific notation is %e' % num)  # 默認(rèn)保留小數(shù)點(diǎn)后 6 位
print('Number in scientific notation is %.5e' % num)  # 保留小數(shù)點(diǎn)后 5 位

6.輸出結(jié)果:
    Copy CodeMy name is Alice, and I am 18 years old.
        PI is 3.141593.
        PI is 3.14.
        Number in hex is FF
        Number in hex is ff
        Number in octal is 100
        Number in scientific notation is 1.234568e+09
    Number in scientific notation is 1.23457e+09
ps:使用%s來(lái)做字符串的格式化輸出操作,傳值時(shí),必須嚴(yán)格按照位置與%s一一對(duì)應(yīng)

7.練習(xí)題:
練習(xí):用戶輸入姓名、年齡、工作、愛(ài)好 ,然后打印成以下格式

------------ info of Tony -----------
Name  : Tony
Age   : 22
Sex   : male
Job   : Teacher 
------------- end -----------------

Name = input('Name:')
Age = int(input('Age:'))
Sex = input('Sex:')
Job = input('Job:')
print('-' * 12, "info of %s" % Name, '-' * 11, '\n', 'Name:%s\n Age:%d\n Sex:%s\n Job:%s\n' % (Name, Age, Sex, Job),
      '-' * 13, 'end', '-' * 17)

Name = input('Name:')
Age = int(input('Age:'))
Sex = input('Sex:')
Job = input('Job:')
print('-' * 12, "info of %s" % Name, '-' * 11, '\n', 'Name:{}\n Age:%d\n Sex:{}\n Job:{}\n'.format(Name, Age, Sex, Job),
      '-' * 13, 'end', '-' * 17)

2. 使用 format() 方法

format() 方法使用一對(duì)花括號(hào) {} 來(lái)表示占位符。大括號(hào)內(nèi)可以包含數(shù)字、變量名或表達(dá)式等內(nèi)容,用于指定替換的位置或值。如果只有一個(gè)參數(shù),則不需要指定花括號(hào)中的數(shù)字。

1.字符串格式化輸出
name = 'Bob'
age = 20
print('My name is {}, and I am {} years old.'.format(name, age))

2.指定占位符的位置
name = 'Charlie'
age = 22
print('My name is {0}, and I am {1} years old.'.format(name, age))  # 指定位置
c = '面包'
f = "{name}說(shuō):這個(gè)周六我們一起去吃{ss}吧".format(name='小狗', ss=c)
print(f)

3.指定占位符的名稱
name = 'Dave'
age = 24
print('My name is {n}, and I am {a} years old.'.format(n=name, a=age))  # format括號(hào)內(nèi)在傳參數(shù)時(shí)完全可以打亂順序,但仍然能指名道姓地為指定的參數(shù)傳值,name=‘tony’就是傳給{name}

4.格式化數(shù)值
pi = 3.1415926
print('PI is {:.2f}.'.format(pi))  # 保留小數(shù)點(diǎn)后 2 位

5.格式化十六進(jìn)制整數(shù)
num = 255
print('Number in hex is {:X}'.format(num))  # 大寫(xiě)字母
print('Number in hex is {:x}'.format(num))  # 小寫(xiě)字母

6.格式化八進(jìn)制整數(shù)
num = 64
print('Number in octal is {:o}'.format(num))

7.格式化科學(xué)計(jì)數(shù)法
num = 1.23456789e+09
print('Number in scientific notation is {:e}'.format(num))  # 默認(rèn)保留小數(shù)點(diǎn)后 6 位
print('Number in scientific notation is {:.5e}'.format(num))  # 保留小數(shù)點(diǎn)后 5 位

8.輸出結(jié)果:
Copy CodeMy name is Bob, and I am 20 years old.
My name is Charlie, and I am 22 years old.
My name is Dave, and I am 24 years old.
PI is 3.14.
Number in hex is FF
Number in hex is ff
Number in octal is 100
Number in scientific notation is 1.234568e+09
Number in scientific notation is 1.23457e+09

3. 使用 f-string

f-string 是 Python 3.6+ 新增的字符串格式化方法。使用 f-string 時(shí),可以在花括號(hào)內(nèi)直接寫(xiě)變量、表達(dá)式等內(nèi)容作為占位符,更加簡(jiǎn)便。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-773781.html

1.字符串格式化輸出
name = 'Eric'
age = 26
print(f'My name is {name}, and I am {age} years old.')

2.格式化數(shù)值
pi = 3.1415926
print(f'PI is {pi:.2f}.')  # 保留小數(shù)點(diǎn)后 2 位

3.格式化十六進(jìn)制整數(shù)
num = 255
print(f'Number in hex is {num:X}')  # 大寫(xiě)字母
print(f'Number in hex is {num:x}')  # 小寫(xiě)字母

4.格式化八進(jìn)制整數(shù)
num = 64
print(f'Number in octal is {num:o}')

5.格式化科學(xué)計(jì)數(shù)法
num = 1.23456789e+09
print(f'Number in scientific notation is {num:e}')  # 默認(rèn)保留小數(shù)點(diǎn)后 6 位
print(f'Number in scientific notation is {num:.5e}')  # 保留小數(shù)點(diǎn)后 5 位

6.輸出結(jié)果:
Copy CodeMy name is Eric, and I am 26 years old.
PI is 3.14.
Number in hex is FF
Number in hex is ff
Number in octal is 100
Number in scientific notation is 1.234568e+09
Number in scientific notation is 1.23457e+09

到了這里,關(guān)于python 字符串str以及內(nèi)置方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python數(shù)據(jù)容器(列表list、元組tuple、字符串str、字典dict、集合set)詳解

    相關(guān)介紹: 一種可以容納多份數(shù)據(jù)的數(shù)據(jù)類型,容納的每一份數(shù)據(jù)稱之為一個(gè)元素。每一個(gè)元素,可以是任意類型的數(shù)據(jù) 分為五類: 列表[list]、元組(tuple)、字符串(str)、集合{set}、字典{dict} 相應(yīng)區(qū)別: 列表 元祖 字符串 集合 字典 元素?cái)?shù)量 多個(gè) 多個(gè) 多個(gè) 多個(gè) 多個(gè) 元素類

    2024年02月11日
    瀏覽(40)
  • 各個(gè)數(shù)據(jù)類型的內(nèi)置方法(字符串和列表)

    數(shù)字類型主要就是用來(lái)做數(shù)學(xué)運(yùn)算與比較運(yùn)算,因此數(shù)字類型除了與運(yùn)算符結(jié)合使用之外,并無(wú)需要掌握的內(nèi)置方法 strip, lstrip, rstrip lower(), upper() startswith, endswith 格式化輸出之format format的其他使用方式 split,rsplit join replace isdigit

    2024年02月10日
    瀏覽(23)
  • Python中f‘‘、str.format()和str%()的字符串格式化詳解(2)------格式占位符的使用,日期、時(shí)間格式使用

    Python中f‘‘、str.format()和str%()的字符串格式化詳解(2)------格式占位符的使用,日期、時(shí)間格式使用

    目錄 四、 f\\\'\\\'、str.format()和str%()格式化表達(dá)式中格式占位符的使用 1、實(shí)現(xiàn)進(jìn)制(或格式)的轉(zhuǎn)換與冒號(hào): 2、實(shí)現(xiàn)對(duì)象的字符串形式轉(zhuǎn)換與感嘆號(hào)! 3、為對(duì)象指定寬度或精度 4、對(duì)對(duì)象取百分比 5、為對(duì)象增加正號(hào)+或負(fù)號(hào)- 6、為對(duì)象增加標(biāo)志(flags) 五、 f\\\'\\\'、str.format()和str%()格式化

    2024年02月04日
    瀏覽(25)
  • /*設(shè)計(jì)一個(gè)函數(shù)void delChar(char *str, char c),刪除字符串str中所有的字符c。在主函數(shù)中讓用戶輸入一個(gè)字符串str 和一個(gè)字符c,然后調(diào)用函數(shù)delChar(

    /* 設(shè)計(jì)一個(gè)函數(shù)void delChar(char *str, char c), 刪除字符串str中所有的字符c。 在主函數(shù)中讓用戶輸入一個(gè)字符串str 和一個(gè)字符c, 然后調(diào)用函數(shù)delChar(str, c) ,最后輸出刪除后的字符串。 (要求:輸入輸出只能在main函數(shù)完成) */ ?

    2024年02月03日
    瀏覽(99)
  • Python截取字符串(字符串切片)方法詳解

    Python截取字符串(字符串切片)方法詳解

    從本質(zhì)上講,字符串是由多個(gè)字符構(gòu)成的,字符之間是有順序的,這個(gè)順序號(hào)就稱為索引(index)。Python 允許通過(guò)索引來(lái)操作字符串中的單個(gè)或者多個(gè)字符,比如獲取指定索引處的字符,返回指定字符的索引值等。 知道字符串名字以后,在方括號(hào)[ ]中使用索引即可訪問(wèn)對(duì)應(yīng)的

    2024年02月01日
    瀏覽(27)
  • 【C語(yǔ)言基礎(chǔ)考研向】11 gets函數(shù)與puts函數(shù)及str系列字符串操作函數(shù)

    gets函數(shù)類似于scanf函數(shù),用于讀取標(biāo)準(zhǔn)輸入.前面我們已經(jīng)知道scanf函數(shù)在讀取字符串時(shí)遇到空格就認(rèn)為讀取結(jié)束,所以當(dāng)輸入的字符串存在空格時(shí),我們需要使用gets 函數(shù)進(jìn)行讀取. gets函數(shù)的格式如下: gets函數(shù)從STDIN (標(biāo)準(zhǔn)輸入)讀取字符并把它們加載到str(字符串)中,直到遇

    2024年01月22日
    瀏覽(27)
  • Python 是否有字符串“包含”子字符串方法?

    這個(gè)問(wèn)題的答案是社區(qū)的努力。編輯現(xiàn)有答案以改進(jìn)這篇文章。它目前不接受新的答案或交互。 我正在尋找 Python 中的 string.contains 或 string.indexof 方法。 我想要做: 一個(gè)優(yōu)秀的自由職業(yè)者,應(yīng)該有對(duì)需求敏感和精準(zhǔn)需求捕獲的能力,而huntsbot.com提供了這個(gè)機(jī)會(huì) 使用 in opera

    2024年02月12日
    瀏覽(37)
  • 【C#】字符串包含的常見(jiàn)方法,Contains、Expect以及IndexOf等

    最近都在做C#相關(guān)的后臺(tái)開(kāi)發(fā)工作,會(huì)持續(xù)一段時(shí)間都是更新C#相關(guān)的文章,學(xué)習(xí)和開(kāi)發(fā)C#方向的小伙伴可以瀏覽和支持下! Contains 方法是用于判斷一個(gè)字符串是否包含另一個(gè)指定的子字符串。它的語(yǔ)法形式如下: value 參數(shù)是要查找的子字符串。如果字符串中包含該子字符串

    2024年02月16日
    瀏覽(19)
  • 【JavaScript速成之路】JavaScript內(nèi)置對(duì)象--字符串對(duì)象

    【JavaScript速成之路】JavaScript內(nèi)置對(duì)象--字符串對(duì)象

    ??個(gè)人主頁(yè):「小楊」的csdn博客 ??系列專欄:【JavaScript速成之路】 ??希望大家多多支持??一起進(jìn)步呀! ??前言:小楊在上一篇帶著大家一起學(xué)習(xí)了JavaScript中的內(nèi)置的數(shù)組對(duì)象,想必大家對(duì)JavaScript的內(nèi)置的數(shù)組對(duì)象已經(jīng)有所了解了,那么今天我們將繼續(xù)帶著大家學(xué)習(xí)一

    2023年04月10日
    瀏覽(27)
  • Python 字符串的方法整理

    在這里我們說(shuō)一些Python中字符串比較常用的一些方法,此處進(jìn)行一個(gè)整理匯總,不多舉例子了。 一、字符串拼接 我們知道 + 可以實(shí)現(xiàn)數(shù)字的加法運(yùn)算,Python在這里進(jìn)行了運(yùn)算符的重載,使得 + 也可以進(jìn)行字符串的拼接。 這是運(yùn)算符的重載。 二、字符串的切片 sname:字符串名

    2023年04月17日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包