
詳解Python核心對象類型字符串
Python的字符串的特點
Python與C語言,Java語言都不一樣,沒有單個字符,只有一個有一個字符的字符串。
字符串對象不可修改,屬于不可變類型
字符串和列表,元組都從屬于序列這個對象類別。所以序列支持的操作,字符串也支持。
用單引號和雙引號表示都行,并列的字符串串常量會自動合并,不需要顯式的用加號表示。
單雙引號里面的特殊字符必須用轉(zhuǎn)義序列表示,比如”,',\都需要在前面加個、,但是在三引號里面不需要轉(zhuǎn)義。
Python的字符串的支持的基本操作
支持序列的操作,比如len(‘a(chǎn)bc')取長度
Python不允許混合數(shù)字和字符串的加法,比如9+'3'不會轉(zhuǎn)成字符串,這點和Java不一樣。
分片通過偏移來指定分片的大小,[偏移A:偏移B:偏移C]從左到右偏移為正,從右到左偏移為負。偏移A省略表示最左端,偏移B省略表示最右端,如[1:]表示從索引為1到最右端。分片創(chuàng)建一個新的對象返回,所以用[:]可以實現(xiàn)拷貝。分片偏移C表示步進,從左端和右端的區(qū)間復制索引相差為步進的元素,組成新對象返回。
修改字符串會產(chǎn)生一個新的字符串對象,這時候可能會有疑問,這樣不是效率很低嗎?在JAVA中確實是這樣,如果用+號來合并字符串就會產(chǎn)生一個新對象,所以在JAVA中一般用StringBuilder避免產(chǎn)生過多的對象,但是在Python中沒被變量引用的對象會立即回收掉空間,新對象會重用回收的空間。所以效率并不會很低。
Python的字符串轉(zhuǎn)換
數(shù)字與字符串之間的轉(zhuǎn)換:通過內(nèi)置函數(shù)int(‘42'),str(42),float(‘42')之類的來轉(zhuǎn)換
字符串與ASCII碼之間的轉(zhuǎn)換:ord(‘323')將字符串轉(zhuǎn)為ASCII碼,chr(23)將ASCII碼轉(zhuǎn)換為字符串
字符串方法
修改字符串:通過合并+和分片[:]來修改,另一種是通過字符串的方法來修改。replace(‘goal','str')把字符串中的'goal'替換成'str'。find(‘index')返回字符串'index'開始的索引。list(‘sds')將字符串'sds'轉(zhuǎn)換成列表['s','d','s'],這就變成了可變對象類型,可以直接對其進行多次修改,再調(diào)用”.join(列表)轉(zhuǎn)換成字符串方法這比上面多次合并或切片效率要高。
文本解析:split(”)方法可以將文本切割成列表。
其他方法:rstrip()方法清除每行末尾空白,endswith(‘w')判斷是否以'w'結(jié)尾和startswith(‘t')是否以't'開頭。
字符串不支持模式,需要使用Python的re標準庫模塊。
字符串格式化
Python支持在字符串放入%d,%s來實現(xiàn)類型替換,類似于C的printf。在字符串后面添加% 字符串 實現(xiàn)指定字符串替換,多個字符串要用()括起來。
基于字典的字符格式化
插入字符串的不再是固定的%d,%s而是%(字典的鍵)。替換的就是字典的值,這樣有一個好處就是能把整個字符串中的對應(yīng)字典鍵的字符串都替換成字典鍵對應(yīng)的值。
字符串格式化調(diào)用方法
前面的都是通過表達式來進行字符串格式化。這里是通過字符串的方法進行格式化。這就和Java的占位符差不多了,template='{0},{1},{2}',template.format('s','d','s')來進行格式化。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03