电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python字符串常規操作大全

瀏覽:49日期:2022-06-20 15:47:00
拼接字符串 使用“+”運算符可完成對多個字符串的拼接,“+”運算符可以連接多個字符串并產生一個字符串對象。 字符串不允許直接與其他類型數據拼接。 如果要用來和其他類型拼接,先用str()函數轉換成字符串類型。

str1 = ’Hello World’str2 = ’你好,世界’print(str1+str2)num = 2021print(str1+str2+str(num))計算字符串長度

由于不同的字符所占字節數不同,所以要計算字符串長度,需先了解字符所占字節數。在python中,數字、英文、小數點、下劃線和空格占一個字節:一個漢字可能占2-4個字節,具體根據采用的編碼決定。漢子在GBK/GB2312編碼中占2個字節,UTF-8/Unicode編碼中一般占用3或4個字節。python默認為UTF-8編碼,一般一個漢字占3個字節。

str1 = ’人生苦短,我用python!’print(len(str1)) #結果為14

默認情況下,len函數計算字符串長度,不區分英文、數字和漢字,所有字符按一個字符計算。

注:

在實際開發中,有時需要獲取字符串實際所占字節數,這時可以使用encode()方法進行編碼后獲取。

str1 = ’人生苦短,我用python!’print(len(str1.encode())) #UTF-8結果為28print(len(str1.encode(’gbk’))) #gbk結果為21截取字符串

語法格式:string[start : end : step]

string:表示截取的字符串;

start:表示要截取的第一個索引(包括該字符),沒用默認為0;

end:表示要截取的最好一個字符的索引(不包括該字符),沒有默認字符串長度;

step:表示切片的步長,如果省略,默認為1;

進行截取時,如果指定索引不存在,則會拋出異常。

programer_1 = ’你知道我的生日嗎?’ # 程序員甲問程序員乙的臺詞print(’程序員甲說:’,programer_1) # 輸出程序員甲的臺詞programer_2 = ’輸入你的身份證號碼。’ # 程序員乙的臺詞print(’程序員乙說:’,programer_2) # 輸出程序員乙的臺詞idcard = ’123456199006277890’ # 定義保存身份證號碼的字符串print(’程序員甲說:’,idcard) # 程序員乙說出身份證號碼birthday = idcard[6:10] + ’年’ + idcard[10:12] + ’月’ + idcard[12:14] + ’日’ # 截取生日print(’程序員乙說:’,’你是’ + birthday + ’出生的,所以你的生日是’ + birthday[5:]) # 輸出程序員乙的生日分割字符串

語法格式:string.split(sep,maxsplit)

string:指定要分割的字符串;

sep:指定分隔符,可以包含多個字符,默認為None,即空字符(包括空格、換行“n”,制表符“t”等);

maxsplit:可選參數,用于指定分割的次數,如果不指定或者為-1,則分割次數沒用限制,否則返回結果的元素個數,個數最多為maxsplit+1;

返回值是字符串列表;

str1 = ’分割一個字符串 >>> http://www.baidu.com’print(’原字符串:’,str1)list1 = str1.split()list2 = str1.split(’>>>’)list3 = str1.split(’.’)list4 = str1.split(’ ’,4) #用空格進行分割,只分割前4個空格print(str(list1)+’n’+str(list2)+’n’str(list3)+’n’str(list4))list5 = str1.split(’>’)print(list5)合并字符串

語法格式:strnew = string.join(iterable)

strnew:表示合并生成的新字符串;

string:字符串類型,用于指定合并時的分隔符;

iterable: 可迭代對象,比如列表,字符串,元組等。

list_friend = [’扎克伯格’,’俞敏洪’,’馬云’,’馬化騰’] # 好友列表str_friend = ’ @’.join(list_friend) # 用空格+@符號進行連接at = ’@’+str_friend # 由于使用join()方法合并時,第一個元素前不加分隔符,所以需要在前面加上@符號print(’您要@的好友:’,at)檢索字符串

語法格式:str.count(sub[,start[,end]])

用于檢索指定字符串在另一個字符串中出現的次數

str:表示原字符串;

sub:表示要檢索的子字符串;

start:可選參數,表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;

end:可選參數,表示檢索范圍的結束位置的索引,如果不指定,則一直檢索打末尾。

find()方法

語法格式:str.find(sub[,start[,end]])

用于檢索是否包含指定的子字符串。

str:表示原字符串;

sub:表示要檢索的子字符串;

start:可選參數,表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;

end:可選參數,表示檢索范圍的結束位置的索引,如果不指定,則一直檢索打末尾。

補充:

如果只需要判斷存在可以不用find用in,如果沒找到則會返回-1,如果想從右邊往左邊找,可以用rfind()方法。

index()方法

語法格式:str.index(sub[,start[,end]])

index()方法和find()方法類似,用于檢索是否包含指定的子字符串,區別是如果不存在會拋出

str:表示原字符串;

sub:表示要檢索的子字符串;

start:可選參數,表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;

end:可選參數,表示檢索范圍的結束位置的索引,如果不指定,則一直檢索打末尾。

startswith()方法

語法格式:str.startswith(sub[,start[,end]])

用于檢索字符串是否是以指定子字符串開頭,是返回True,不是返回False

str:表示原字符串;

sub:表示要檢索的子字符串;

start:可選參數,表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;

end:可選參數,表示檢索范圍的結束位置的索引,如果不指定,則一直檢索打末尾索打末尾。

endswith()方法

語法格式:str.endswith(sub[,start[,end]])

用于檢索字符串是否是以指定子字符串結尾,是返回True,不是返回False

str:表示原字符串;

sub:表示要檢索的子字符串;

start:可選參數,表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索;

end:可選參數,表示檢索范圍的結束位置的索引,如果不指定,則一直檢索打末尾。

去除字符串中空格和特殊字符

strip()方法

用于去除字符串兩側的空格和特殊字符。

lstrip()方法

用于去除字符串左側的空格和特殊字符。

rstrip()方法

用于去除字符串右側的空格和特殊字符。

特殊字符指:

制表符t,回車符 r 、 換行符n等。

格式化字符串格式一

格式化字符串是指先指定一個模板,在這個模板中預留幾個空位,然后根據需要填上相應的內容。這些空位需要通過指定的符號標記(也稱為站位符),而這些符號還不會顯示出來。

使用“%”操作符

語法格式:’%[-][+][0][m][.n]格式化字符’%exp (注意別漏了單引號)

-:可選參數,用于指定左對齊,正數前方無符號,負數前面加負號;

+:可選參數,用于指定右對齊,正數前方加正號,負數前面加負號;

0:可選參數,表示右對齊,正數前方無符號,負數前方加負號,用0填充空白處(一般與m參數一起使用);

m:可選參數,表示占有寬度;

n:可選參數,表示小數點后保留的位數;

格式化字符:用于指定類型;

exp:要轉換的項,如果要指定多個,需要通過元組,但不能用列表。

常用格式化字符串

python字符串常規操作大全

實例

template = ’編號:%09dt公司名稱: %st官網:http://www.%s.com’ context1 = (7,’百度’,’baidu’)context2 = (8,’新浪’,’sina’)print(template%context1)print(template%context2)格式化字符串格式二(常用)

現在大部分不怎么使用%方法,而是使用第二種format對象來實現格式化。

使用字符串對象的format()方法

語法格式:template.format(args)

template:用于指定字符串的顯示樣式(即模板)的字符串

args:用于指定要轉換的項,如果有多項,則用逗號進行分割。

創建模板時,需要使用“{}”和“:”指定占位符

語法格式:{[index][:[[fill]align][sign][#][width][.precision][type]]}

index:可選參數,用于指定要設置格式對象在參數列表中的索引位置

fill:可選參數,指定空白處填充的字符

align:可選參數,用于指定對齊方式(“<”:左對齊,“>”:右對齊,“=”:右對齊,只對數字有效,“^”:表示居中和

width一起使用。)

sign:可選參數,用于指定有無符號數(正數,負數)

#:可選參數,對二進制數,八進制數,和十六進制數,加上#會顯示0b/0o/0x前綴

width:可選參數,用于指定寬度

.precision可選參數,用于指定保留的小數位數

type:可選參數,用于指定類型

實例

python字符串常規操作大全

import math# 導入Python的數學模塊print(’1251+3950的結果是(以貨幣形式顯示):¥{:,.2f}元’.format(1251+3950)) # 以貨幣形式顯示print(’{0:.1f}用科學計數法表示:{0:E}’.format(120000.1)) # 用科學計數法表示print(’π取5位小數:{:.5f}’.format(math.pi)) # 輸出小數點后五位print(’{0:d}的16進制結果是:{0:#x}’.format(100)) # 輸出十六進制數print(’天才是由 {:.0%} 的靈感,加上 {:.0%} 的汗水 。’.format(0.01,0.99)) # 輸出百分比,并且不帶小數字符串編碼轉換

最早的字符串編碼時美國標準信息交換嗎,即ASCII碼。它僅有10個數字,26個大小寫字母,26個小寫英文字母及一些其他符號進行編碼。ASCII碼最多只能表示256個符號,每個字符占一個字節。GBK和GB2312是我國制定的中文編碼規則,使用一個字節表示英文字母,2個字節表示中文。UTF-8是國際通用編碼,對全世界所有國家需要用到的字符都進行了編碼。UTF-8采用一個字節表示英文,3個字節表示中文。

在python中,有兩種常用的字符串類型,分別問str和bytes。其中str表示Unicode字符即ASCII;bytes表示二進制數據。這兩種類型的字符串不能拼接在一起使用。通常情況下,str在內存中以Unicode表示,一個字符對應若干個字節。但是如果在網絡傳輸,或者保存到硬盤,就需要str轉換成字節類型即bytes。

bytes類型的數據是帶有b前綴的字符串(用單引號或雙引號)

例如:b’xd2xb0 和b’mr’都是bytes類型

str類型和bytes類型可以用encode()和decode()方法相互轉換

使用encode()方法編碼

encode()方法為str對象的方法,用于將字符串轉換為二進制數據(即bytes),也稱為“編碼”。

語法格式:str.encode([encoding= “utf-8”][,errors= “strict”]

str:表示要進行轉換的字符串; encoding = “utf-8”:可選參數,用于指定進行轉碼時采用的字符編碼,默認為UTF-8,如果想使用簡體中文,也可以設置為gb2312。當只有這一個參數時,也可以省略前面的“encoding=”,直接寫編碼; errors = “strict”:可選參數,用于指定錯誤處理方式,其可選擇值可以是strict(遇到非法字符就拋出異常)、ignore(忽略非法字符)、replace(用“?”替換非法字符)或xmlcharrefreplace(使用xml的字符引用)等,默認值為strict。

實例

verse = ’野渡無人舟自橫’ byte = verse.encode(’GBK’) # 采用GBK編碼轉換為二進制,不處理異常print(’原字符串:’,verse) # 輸出原字符串(沒有改變)print(’轉換后:’,byte) # 輸出轉換后的二進制數據,如果用UTF-8來轉換呢?使用decode()方法解碼

decode()方法為bytes對象的方法用于將二進制數據轉換為字符串,即將使用encode()方法轉換的結果在轉換為字符串,也稱為“解碼”

語法格式:bytes.decode([encoding= “utf-8”][,errors= “strict”]

bytes:表示要進行轉換的二進制數據,通常是encode()方法轉換的結果 encoding = “utf-8”:可選參數,用于指定進行轉碼時采用的字符編碼,默認為UTF-8,如果想使用簡體中文,也可以設置為gb2312。當只有這一個參數時,也可以省略前面的“encoding=”,直接寫編碼。 errors = “strict”:可選參數,用于指定錯誤處理方式,其可選擇值可以是strict(遇到非法字符就拋出異常)、ignore(忽略非法字符)、replace(用“?”替換非法字符)或xmlcharrefreplace(使用xml的字符引用)等,默認值為strict。

實例

verse = ’野渡無人舟自橫’ byte = verse.encode(’GBK’) # 采用GBK編碼轉換為二進制,不處理異常print(’原字符串:’,verse) # 輸出原字符串(沒有改變)print(’轉換后:’,byte) # 輸出轉換后的二進制數據,如果用UTF-8來轉換呢?print(’解碼后:’,byte.decode(’GBK’)) # 對二進制數據進行解碼總結

到此這篇關于python字符串常規操作大全的文章就介紹到這了,更多相關python字符串操作內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 移动机器人产业联盟官网 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械| 365文案网_全网创意文案句子素材站| 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 上海噪音治理公司-专业隔音降噪公司-中广通环保 | 选宝石船-陆地水上开采「精选」色选机械设备-青州冠诚重工机械有限公司 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 电磁铁_推拉电磁铁_机械手电磁吸盘电磁铁厂家-广州思德隆电子公司 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 雪花制冰机(实验室雪花制冰机)百科| 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | 伸缩节_伸缩器_传力接头_伸缩接头_巩义市联通管道厂 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 罗氏牛血清白蛋白,罗氏己糖激酶-上海嵘崴达实业有限公司 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 |