日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Python 中 20 個(gè)鮮為人知的字符串函數(shù)

來源: 責(zé)編: 時(shí)間:2024-06-05 17:39:41 150觀看
導(dǎo)讀對于Python初學(xué)者而言,掌握字符串操作是編程之旅中的重要一步。Python的字符串功能強(qiáng)大而全面,但有些寶藏函數(shù)往往被忽略。今天,讓我們一起探索這20個(gè)鮮為人知的字符串函數(shù),它們將幫助你提升代碼的效率與優(yōu)雅度。1. capit

對于Python初學(xué)者而言,掌握字符串操作是編程之旅中的重要一步。Python的字符串功能強(qiáng)大而全面,但有些寶藏函數(shù)往往被忽略。今天,讓我們一起探索這20個(gè)鮮為人知的字符串函數(shù),它們將幫助你提升代碼的效率與優(yōu)雅度。7vd28資訊網(wǎng)——每日最新資訊28at.com

7vd28資訊網(wǎng)——每日最新資訊28at.com

1. capitalize()

功能 : 將字符串的第一個(gè)字符轉(zhuǎn)換為大寫。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

text = "hello world"capitalized = text.capitalize()print(capitalized)  # 輸出: Hello world

2. casefold()

功能 : 類似于lower(),但更徹底,適合用于大小寫不敏感的比較。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

mixed_case = "PyThOn"lowered = mixed_case.casefold()print(lowered)  # 輸出: python

3. join() 和 split()

join() : 連接字符串列表,用指定的字符作為分隔符。7vd28資訊網(wǎng)——每日最新資訊28at.com

split() : 按照指定的分隔符分割字符串。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

separated = ['Hello', 'World']joined = ', '.join(separated)print(joined)  # 輸出: Hello, Worldreversed = joined.split(', ')print(reversed)  # 輸出: ['Hello', 'World']

4. strip(), lstrip(), rstrip()

功能 : 移除字符串開頭或結(jié)尾的特定字符,默認(rèn)為空格。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

whitespace_string = "   whitespace example   "cleaned = whitespace_string.strip()print(cleaned)  # 輸出: whitespace example

5. replace()

功能 : 替換字符串中的子串。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

original = "hello, hello!"new_text = original.replace("hello", "hi")print(new_text)  # 輸出: hi, hi!

6. format()

功能 : 格式化字符串,靈活地插入變量值。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

name = "Alice"age = 30formatted = "My name is {} and I am {} years old.".format(name, age)print(formatted)  # 輸出: My name is Alice and I am 30 years old.

7. enumerate()

雖然不是直接字符串函數(shù),但在處理字符串列表時(shí)非常有用。 功能 : 返回枚舉對象,同時(shí)遍歷每個(gè)元素及其索引。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

for index, char in enumerate('Python'):    print(f"Index: {index}, Character: {char}")

8. isalpha(), isdigit(), isalnum()

功能 : 分別檢查字符串是否全由字母、數(shù)字或字母數(shù)字組成。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

alpha_check = "Python3".isalnum()print(alpha_check)  # 輸出: True

9. startswith(), endswith()

功能 : 判斷字符串是否以指定前綴或后綴開始或結(jié)束。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

filename = "example.txt"if filename.endswith(".txt"):    print("It's a text file.")

10. center()

功能 : 居中字符串,并在兩邊填充指定字符,默認(rèn)為空格。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

centered = "Python".center(10, "*")print(centered)  # 輸出: ***Python***

11. count()

功能 : 計(jì)算某個(gè)子串在字符串中出現(xiàn)的次數(shù)。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

count_me = "hello".count("l")print(count_me)  # 輸出: 3

12. find(), index()

find() : 查找子串第一次出現(xiàn)的位置,找不到返回-1。7vd28資訊網(wǎng)——每日最新資訊28at.com

index() : 同上,但找不到時(shí)拋出異常。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

position = "worldwide".find("world")print(position)  # 輸出: 0

13. maketrans() 和 translate()

功能 : 用于字符替換,創(chuàng)建轉(zhuǎn)換表然后應(yīng)用轉(zhuǎn)換。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

table = str.maketrans("abc", "xyz")translated = "abc to xyz".translate(table)print(translated)  # 輸出: xyz to xyz

14. partition(), rpartition()

功能 : 根據(jù)指定的分隔符分割字符串,返回包含三個(gè)部分的元組。7vd28資訊網(wǎng)——每日最新資訊28at.com

partition() 從左開始分割。7vd28資訊網(wǎng)——每日最新資訊28at.com

rpartition() 從右開始分割。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

email = "user@example.com"local, at, domain = email.partition("@")print(local, at, domain)  # 輸出: user @ example.com

15. zfill()

功能 : 在字符串左側(cè)填充零,直到達(dá)到指定長度。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

number_str = "123".zfill(5)print(number_str)  # 輸出: 00123

16. strip() 的家族成員 rstrip() 和 lstrip()

特別說明 : 雖已提及,但值得再次強(qiáng)調(diào),分別用于從右側(cè)和左側(cè)移除空白字符。7vd28資訊網(wǎng)——每日最新資訊28at.com

17. format_map()

功能 : 使用字典來格式化字符串,較新的Python版本特性。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

details = {"name": "Alice", "age": 30}formatted = "{name}'s age is {age}".format_map(details)print(formatted)  # 輸出: Alice's age is 30

18. unescape()

功能 : 解碼HTML實(shí)體。 適用版本 : Python 3.4+。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

html_string = "<br>"normal_string = html_string.encode().decode('unicode_escape')print(normal_string)  # 輸出: <br>

19. encode() 和 decode()

功能 : 分別將字符串編碼為字節(jié)串和從字節(jié)串解碼回字符串。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

utf8_encoded = "你好".encode('utf-8')decoded = utf8_encoded.decode('utf-8')print(decoded)  # 輸出: 你好

20. swapcase()

功能 : 將字符串中的大小寫互換。 示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

mixed_case = "Hello World"swapped = mixed_case.swapcase()print(swapped)  # 輸出: hELLO wORLD

通過這些深入淺出的介紹和實(shí)例,你不僅掌握了Python字符串處理的隱藏技巧,還能在日常編程中更加游刃有余。7vd28資訊網(wǎng)——每日最新資訊28at.com

高級技巧和實(shí)用建議

1. 字符串拼接的高級技巧

雖然我們已經(jīng)提到了join()方法,但在簡單拼接字符串時(shí),Python提供了更簡潔的方式——使用f-string(格式化字符串字面量),自Python 3.6起引入。7vd28資訊網(wǎng)——每日最新資訊28at.com

示例 :7vd28資訊網(wǎng)——每日最新資訊28at.com

name = "Bob"age = 25message = f"{name} is {age} years old."print(message)  # 輸出: Bob is 25 years old.

2. 字符串的不可變性

記住,Python中的字符串是不可變的。這意味著一旦創(chuàng)建了一個(gè)字符串,就不能修改它。試圖改變字符串中的單個(gè)字符會引發(fā)錯(cuò)誤,你應(yīng)該通過創(chuàng)建一個(gè)新的字符串來實(shí)現(xiàn)修改。7vd28資訊網(wǎng)——每日最新資訊28at.com

3. 使用列表推導(dǎo)式處理字符串

盡管這不是直接的字符串函數(shù),但列表推導(dǎo)式可以巧妙地用于處理字符串,尤其是在需要轉(zhuǎn)換字符串內(nèi)容時(shí)。7vd28資訊網(wǎng)——每日最新資訊28at.com

示例 : 將字符串所有字符轉(zhuǎn)為大寫。7vd28資訊網(wǎng)——每日最新資訊28at.com

text = "hello"upper_text = ''.join([char.upper() for char in text])print(upper_text)  # 輸出: HELLO

4. 字符串的效率考量

在處理大量字符串?dāng)?shù)據(jù)時(shí),考慮效率是非常重要的。避免頻繁的字符串連接操作,尤其是在循環(huán)中,因?yàn)檫@會導(dǎo)致性能下降。使用join()方法結(jié)合列表來批量處理字符串連接,通常更為高效。7vd28資訊網(wǎng)——每日最新資訊28at.com

5. 正則表達(dá)式(re模塊)

雖然不是字符串內(nèi)建函數(shù),但Python的re模塊提供了強(qiáng)大的字符串匹配和操作工具,對于復(fù)雜的文本處理和模式匹配至關(guān)重要。7vd28資訊網(wǎng)——每日最新資訊28at.com

示例 : 使用正則表達(dá)式查找所有電子郵件地址。7vd28資訊網(wǎng)——每日最新資訊28at.com

import retext = "Contact: example@example.com, info@example.org"emails = re.findall(r'/b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+/.[A-Z|a-z]{2,}/b', text)print(emails)  # 輸出: ['example@example.com', 'info@example.org']

總結(jié)

通過上述深入的探討,你現(xiàn)在已經(jīng)擁有了一個(gè)強(qiáng)大的字符串處理工具箱。繼續(xù)探索,享受編程帶來的樂趣和成就感吧!7vd28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-92104-0.htmlPython 中 20 個(gè)鮮為人知的字符串函數(shù)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 別背八股文了,WebSocket 是什么,我勸你花幾分鐘讓面試官驚艷!

下一篇: 玩轉(zhuǎn)Redis!非常強(qiáng)大的Redisson分布式集合,少寫60%代碼

標(biāo)簽:
  • 熱門焦點(diǎn)
  • Automa-通過連接塊來自動化你的瀏覽器

    1、前言通過瀏覽器插件可實(shí)現(xiàn)自動化腳本的錄制與編寫,具有代表性的工具就是:Selenium IDE、Katalon Recorder,對于簡單的業(yè)務(wù)來說可快速實(shí)現(xiàn)自動化的上手工作。Selenium IDEKat
  • 只需五步,使用start.spring.io快速入門Spring編程

    步驟1打開https://start.spring.io/,按照屏幕截圖中的內(nèi)容創(chuàng)建項(xiàng)目,添加 Spring Web 依賴項(xiàng),并單擊“生成”按鈕下載 .zip 文件,為下一步做準(zhǔn)備。請?jiān)谶M(jìn)入步驟2之前進(jìn)行解壓。圖
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過這樣的問題:移動設(shè)備上有一個(gè)固定元素,當(dāng)激活虛擬鍵盤時(shí),該元素被隱藏在了鍵盤下方?多年來,這一直是 Web 上的默認(rèn)行為,在本文中,我們將探討這個(gè)問題、為什么會發(fā)生
  • 電視息屏休眠仍有網(wǎng)絡(luò)上傳 愛奇藝被質(zhì)疑“薅消費(fèi)者羊毛”

    記者丨寧曉敏 見習(xí)生丨汗青出品丨鰲頭財(cái)經(jīng)(theSankei) 前不久,愛奇藝發(fā)布了一份亮眼的一季報(bào),不僅營收和會員營收創(chuàng)造歷史最佳表現(xiàn),其運(yùn)營利潤也連續(xù)6個(gè)月實(shí)現(xiàn)增長。自去年年初
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預(yù)警不絕,但處于厄爾尼諾大&ldquo;烤&rdquo;之下的除了眾生,還有各大企業(yè)發(fā)布的ESG報(bào)告。ESG是&ldquo;環(huán)境保
  • 網(wǎng)傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網(wǎng)友@長三角行健者爆料稱,據(jù)經(jīng)銷商集團(tuán)反饋,小米汽車目前已經(jīng)開始了交付中心的篩選工作,要求候選場地至少有120個(gè)車位,建筑不能低
  • 蘋果、三星、惠普等暫停向印度出口筆記本和平板電腦

    集微網(wǎng)消息,據(jù)彭博社報(bào)道,在8月3日印度突然禁止在沒有許可證的情況下向印度進(jìn)口電腦/平板及顯示器等產(chǎn)品后,蘋果、三星電子和惠普等大公司暫停向印度
  • 英特爾Xe-HP項(xiàng)目終止,將專注Xe-HPC/HPG系列顯卡

    據(jù)10 月 31 日消息報(bào)道,英特爾高級副總裁兼加速計(jì)算系統(tǒng)和圖形事業(yè)部總經(jīng)理 表示,Xe-HP“ Arctic Sound” 系列服務(wù)器 GPU 已經(jīng)應(yīng)用于 oneAPI devcloud 云服
  • 榮耀Magic4 至臻版 首創(chuàng)智慧隱私通話 強(qiáng)勁影音系統(tǒng)

    2022年第一季度臨近尾聲,在該季度內(nèi),許多品牌陸續(xù)發(fā)布自己的最新產(chǎn)品,讓大家從全新的角度來了解當(dāng)今的手機(jī)技術(shù)。手機(jī)是電子設(shè)備中,更新迭代十分迅速的一款產(chǎn)品,基
Top 主站蜘蛛池模板: 犍为县| 威海市| 宁津县| 霸州市| 烟台市| 邢台市| 固安县| 南部县| 明星| 宽甸| 东安县| 临澧县| 车致| 仲巴县| 荔浦县| 衡水市| 体育| 茶陵县| 海口市| 葫芦岛市| 金华市| 甘南县| 亳州市| 白朗县| 西和县| 额济纳旗| 和政县| 宜阳县| 祁东县| 醴陵市| 托克托县| 荆门市| 舟曲县| 临澧县| 和平区| 资溪县| 高雄市| 平顺县| 康乐县| 宜都市| 东乌珠穆沁旗|