python中str用法_python数据类型之str用法
1、首字母大寫
語(yǔ)法:S.capitalize() ->str
title= "today is a good day"title_ca=title.capitalize()
print(title_ca)
結(jié)果:today is a good day
2、大寫轉(zhuǎn)小寫
1 語(yǔ)法:S.casefold() ->str2
3 title = "TODAY is a GOOD day"
4 title_ca =title.casefold()5 print(title_ca)
結(jié)果:Today is a good day
3、字符串居中
c = 'kong'ret= c.center(10,'*')
print(ret)
結(jié)果:***kong***
4、字符串子串?dāng)?shù)量統(tǒng)計(jì)
S.count(sub[, start[, end]]) -> inttitle= "today is a good day"title_ca= title.count('y',1,5)
print(title_ca)
結(jié)果:1
5、中文轉(zhuǎn)UTF-8
S.encode(encoding='utf-8', errors='strict') ->bytes
zw= '孔扎根'ut=zw.encode()
print(ut)
結(jié)果:b'\xe7\xa9\xba\xe6\x89\x8e\xe6\xa0\xb9'
6、字符串結(jié)束判斷
S.endswith(suffix[, start[, end]]) -> booltitle= "TODAY is a GOOD day"title_ca= title.endswith('day')
print(title_ca)
結(jié)果:True
7、TAB轉(zhuǎn)空格
S.expandtabs(tabsize=8) ->str
#默認(rèn)是一個(gè)TAB轉(zhuǎn)8個(gè)空格
title= "TODAY\tis\ta\tGOOD\tday"title_ca=title.expandtabs()
print(title_ca)
結(jié)果:TODAYis a GOOD day
8、查找字符串的位置
S.find(sub[, start[, end]]) -> inttitle= "TODAY\tis\ta\tGOOD\tday"title_ca= title.find('s')
print(title_ca)
結(jié)果:7
9、字符串格式化
S.format(*args, **kwargs) ->str
#可傳入元組或字典
title= "{}\tis\ta\t{day_type}\tday"title_ca= title.format('TODAY',day_type='GOOD')
print(title_ca)
結(jié)果:TODAYis a GOOD day
10、字符串格式化,從字典輸入(format_map)
S.format_map(mapping) ->str
#輸入?yún)?shù)為字典,循環(huán)讀字典中的列表
maping_name={'name':['alex','join'],'age':[18,19]
}for x in range(2):
print('my name is {},and i is {} old'.format(maping_name['name'][x],maping_name['age'][x]))
結(jié)果:
my nameis alex,and i is 18old
my nameis join,and i is 19 old
11、字符串的索引位置
S.index(sub[, start[, end]]) -> int#查找Y的索引位置,從0開始數(shù)
title= "TODAY\tis\ta\tGOOD\tday"title_ca= title.index('Y')
print(title_ca)
結(jié)果:4
12、字符串中至少有一個(gè)數(shù)字
S.isalnum() -> bool#字符串不能有空格,否則失敗
title= "22TODAY"title_ca=title.isalnum()
print(title_ca)
結(jié)果:True
13、字符串中至少有一個(gè)字母
S.isalpha() -> bool#字符串不能有空格或TAB鍵
title= "22TODAY"title_ca=title.isalnum()
print(title_ca)
結(jié)果:True
14、字符串是否為數(shù)值
num = "1"#unioncode
print(num.isdigit())
print(num.isdecimal())
print(num.isnumeric())
結(jié)果:
True
True
True
num= "1"#全角
print(num.isdigit())
print(num.isdecimal())
print(num.isnumeric())
結(jié)果:
True
True
True
num= b"1"#byteprint(num.isdigit())
print(num.isdecimal())
print(num.isnumeric())
結(jié)果:
True
AttributeError:'bytes' object has no attribute 'isdecimal'AttributeError:'bytes' object has no attribute 'isnumeric'num= "IV"#羅馬字符
print(num.isdigit())
print(num.isdecimal())
print(num.isnumeric())
結(jié)果:
False
False
False
num= "四"#漢字
print(num.isdigit())
print(num.isdecimal())
print(num.isnumeric())
結(jié)果:
False
False
True
支持的字符:
isdigit:支持 unioncode,全角,byte,漢字
isdecimal:支持 unioncode,全角,
isnumeric:支持 unioncode,全角,漢字
報(bào)錯(cuò):
isdigit不會(huì)報(bào)錯(cuò),后兩種在byte判斷時(shí)會(huì)報(bào)錯(cuò)
15、判斷字符串是否為有效標(biāo)識(shí)符(可做為函數(shù)名稱)
#S.isidentifier() -> boolt_code= 'test'print(t_code.isidentifier())
結(jié)果:返回True
t_code= '23test'print(t_code.isidentifier())
結(jié)果:返回False
16、判斷字符串是否全小寫
#S.islower() -> boolt_code= 'kongzhagen'print(t_code.islower())
結(jié)果:返回True
t_code= 'kongzHagen'print(t_code.islower())
結(jié)果:返回False
17、判斷字符串是否全整型數(shù)字
#S.isnumeric() -> boolt_code= '123'print(t_code.isnumeric())
結(jié)果:返回True
t_code= '123d'print(t_code.isnumeric())
結(jié)果:返回False
t_code= '123.123'print(t_code.isnumeric())
結(jié)果:返回False
18、判斷所有字符是否可打印
#S.isprintable() -> boolt_code= '123KKK'print(t_code.isprintable())
返回:True
t_code= ''print(t_code.isprintable())
返回:True
t_code= 'KKK\n\t'print(t_code.isprintable())
返回:False
19、判斷字符中是否全為空格
#S.isspace() -> boolt_code= ' 'print(t_code.isspace())
結(jié)果:返回True
t_code= '123 KKK'print(t_code.isspace())
結(jié)果:返回False
20、判斷字符串是否為標(biāo)題格式(首字母大寫)
#S.istitle() -> bool
t_code = 'Today Is A Good Day'
print(t_code.istitle())
結(jié)果:True
t_code = 'Today Is A Good day'
print(t_code.istitle())
結(jié)果:False
t_code = 'TODAY IS'
print(t_code.istitle())
結(jié)果:False
21、判斷字符串是否全大寫
#S.isupper() -> boolt_code= 'Today Is A Good day'print(t_code.isupper())
結(jié)果:False
t_code= 'TODAY IS'print(t_code.isupper())
結(jié)果:True
22、字符串連接
#S.join(iterable) ->str
t_code= 'Today Is A Good Day't1_code= '.'.join(t_code)
print(t1_code)
結(jié)果:T.o.d.a.y. .I.s. .A. .G.o.o.d. .D.a.y
23、左對(duì)齊,達(dá)不到指定長(zhǎng)度,右則填充
#S.ljust(width[, fillchar]) ->str
t_code= 'Today Is A Good Day'print(t_code.ljust(22,'*'))
結(jié)果:Today Is A Good Day***
24、轉(zhuǎn)小寫
#S.lower() ->str
t_code= 'Today Is A Good Day'print(t_code.lower())
結(jié)果:todayis a good day
25、左邊去除指定字符,默認(rèn)為空格
# S.lstrip([chars]) ->str
t_code= 'Today Is A Good Day'print(t_code.lstrip('T'))
結(jié)果:oday Is A Good Day
t_code= 'Today Is A Good Day'print(t_code.lstrip())
結(jié)果:Today Is A Good Day
26、
maketrans
27、partition
按指定的字符拆分字符串,分頭、分隔串、尾,未找到指定的分隔符,頭返回自己,后面兩個(gè)返回空
#S.partition(sep) ->(head, sep, tail)
t_code= 'TodayIs A Good Day'print(t_code.partition('a'))
結(jié)果:('Tod', 'a', 'yIs A Good Day')
print(t_code.partition('P'))
結(jié)果:('TodayIs A Good Day', '', '')
28、replace:字符串替換
將老字符串替換為新字符串,可指定替換次數(shù)
#S.replace(old, new[, count]) ->str
t_code= 'TodayIs A Good Day,To today'print(t_code.replace('T','M',2))
結(jié)果:ModayIs A Good Day,Mo today
29、rfind:返回查詢到的字符串的最大索引
#S.rfind(sub[, start[, end]]) -> int
t_code = 'TodayIs A Good Day,To today'print(t_code.rfind('d'))
結(jié)果:24
30、rindex:類似rfind,但如果沒(méi)找到會(huì)報(bào)錯(cuò)
#S.rindex(sub[, start[, end]]) -> int
t_code = 'TodayIs A Good Day,To today'
print(t_code.rindex('p'))
結(jié)果:
Traceback (most recent call last):
File "C:/51py/day1/study.py", line 90, in
print(t_code.rindex('p'))
ValueError: substring not found
31、rjust:右對(duì)齊,左側(cè)填充字符
#S.rjust(width[, fillchar]) -> str
t_code = 'Today'print(t_code.rjust(10,'*'))
結(jié)果:*****Today
32、rpartition:類似partition,如果未找到字符串,則空值在左邊
#S.rpartition(sep) ->(head, sep, tail)
t_code= 'Today is a good day'print(t_code.rpartition('isa'))
結(jié)果:('', '', 'Today is a good day')
33、rsplit:分割字符串,從右邊開始
#S.rsplit(sep=None, maxsplit=-1) ->list of strings
t_code= 'Today is a good day'print(t_code.rsplit('o',1))
結(jié)果:['Today is a go', 'd day']
34、rstrip:右邊去空格
#S.rstrip([chars]) ->str
t_code= 'Today is a good day'print(t_code.rstrip())
結(jié)果: Todayis a good day
35、splitlines:方法返回一個(gè)字符串的所有行列表,可選包括換行符的列表(如果num提供,則為true)
#S.splitlines([keepends]) ->list of strings
t_code= 'Today\n is\n a\n good\n day'print(t_code.splitlines())
print(t_code.splitlines(0))
print(t_code.splitlines(1))
結(jié)果:
['Today', 'is', 'a', 'good', 'day']
['Today', 'is', 'a', 'good', 'day']
['Today\n', 'is\n', 'a\n', 'good\n', 'day']
36、startswith:如果字符串以指定的字符為前綴,則返回true,否則返回false
#S.startswith(prefix[, start[, end]]) -> boolt_code= 'Today\n is\n a\n good\n day'print(t_code.startswith('Today'))
結(jié)果:True
37、strip:去除字符串前后的空格
#S.strip([chars]) ->str
t_code= 'Today\n is\n a\n good\n day'print(t_code.strip())
結(jié)果:
Todayisa
good
day
38、swapcase:大小寫互轉(zhuǎn)
#S.swapcase() -> str
t_code = ' Today Is a Good Day '
print(t_code.swapcase())
結(jié)果: tODAY iS A gOOD dAY
39、title:返回的字符串為title格式,首字母大寫
#S.title() ->str
t_code= 'today is a Good Day'print(t_code.title())
結(jié)果:Today Is A Good Day
40、maketrans:用于創(chuàng)建字符映射的轉(zhuǎn)換表,兩個(gè)參數(shù)為長(zhǎng)度相等的字符串
#B.maketrans(frm, to) ->translation table
intab= "aeiou"outab= "1234k"trantab=t_code.maketrans(intab,outab)
print(trantab)
結(jié)果:{97: 49, 111: 52, 117: 107, 101: 50, 105: 51}
41、translate:根據(jù)參數(shù)table給出的表轉(zhuǎn)換字符中的字符
# S.translate(table) ->str
t_code= 'today is a Good Day'trantab= {97:49}
print(t_code.translate(trantab))
結(jié)果: tod1yis 1 Good D1y
42、ord與chr是配對(duì)函數(shù)
>>> chr(65)'A'
>>> ord('A')65
43、upper:將字符串轉(zhuǎn)為大寫
#S.upper() ->str
t_code= 'today is a Good Day'print(t_code.upper())
結(jié)果:TODAY IS A GOOD DAY
44、zfill:數(shù)字填零
#S.zfill(width) ->str
t_code= '123'print(t_code.zfill(5))
結(jié)果:00123
45、匯總
str = 'https://www.baidu. com234'# print(str.capitalize()) # 第一個(gè)字母大寫
# print(str.count('w')) # 字符在字符串中出現(xiàn)的次數(shù)
# print(str.endswith('com')) # 字符串是否以com結(jié)尾
# print(str.expandtabs(tabsize=2)) # 字符串中的tab轉(zhuǎn)為兩個(gè)空格
# print(str.find('bai')) # 返回字符串中bai的索引
# print(str.rfind('bai')) # 返回字符串中bai的索引,從右邊找
# print(str.index('bai')) # 返回字符串中bai的索引,未找到會(huì)報(bào)錯(cuò)
# print(str.rindex()) # 返回字符串中bai的索引,未找到會(huì)報(bào)錯(cuò)(從右邊找)
# print(str.isalnum()) # 如果所有字符都是數(shù)字或字母,則返回True
# print(str.isalpha()) # 如果所有字符都是字母,則返回True
# print(str.isnumeric()) # 如果所有字符都是數(shù)字,則返回T
# print(str.isdecimal()) # 可解釋為十進(jìn)制數(shù),則返回True
# print(str.isdigit()) # 可解釋為數(shù)字,則返回True
# print(str.islower()) # 字符串中的字母都小寫,則返回True(可以有其它字符)
# print(str.isupper()) # 字符串中的字母都大寫,則返回True(可以有其它字符)
# print(str.isspace()) # 字符串中全是空格,則返回True
# print(str.istitle()) # 如果字符串是標(biāo)題化的,則返回True(每個(gè)單詞首字母大寫,其它小寫)
# print(str.ljust(100)) # 字符串左對(duì)齊,長(zhǎng)度100
# print(str.rjust(100)) # 字符串右對(duì)齊,長(zhǎng)度100
# print(str.lower()) # 所有字符轉(zhuǎn)小寫
# print(str.lstrip()) # 去掉字符串左邊的空格
print str.replace('t','2',2) # 將p 替換為2,替換2次
print str.rfind('o') # 從右邊查找第一個(gè)o所在的位置
print str.rindex('o') # 從右邊查找第一個(gè)o所在的位置的索引
print str.partition('du') # 從左邊找到第一個(gè)du,并以之分隔字符串,返回列表
print str.rstrip() # 去掉右邊的空格
print str.split('w',2) # 以w為分隔符,切分字符串
print str.splitlines() # 以行做為分隔符
print str.startswith('http') # 是否以http開頭
print str.swapcase() # 翻轉(zhuǎn)大小寫
print str.title() # 將string標(biāo)題化,所有單詞首字母大寫,其它小寫
print str.upper() # 所有字母大寫
print str.zfill(150) # 返回150個(gè)字符,原字符串右對(duì)齊,前面填充0
總結(jié)
以上是生活随笔為你收集整理的python中str用法_python数据类型之str用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 普及一下IPTV行业
- 下一篇: python3.7怎么安装turtle_