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

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

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

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

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

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

1. capitalize()

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

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

2. casefold()

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

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

3. join() 和 split()

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

split() : 按照指定的分隔符分割字符串。 示例 :PO128資訊網(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é)尾的特定字符,默認為空格。 示例 :PO128資訊網(wǎng)——每日最新資訊28at.com

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

5. replace()

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

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

6. format()

功能 : 格式化字符串,靈活地插入變量值。 示例 :PO128資訊網(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ù),但在處理字符串列表時非常有用。 功能 : 返回枚舉對象,同時遍歷每個元素及其索引。 示例 :PO128資訊網(wǎng)——每日最新資訊28at.com

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

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

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

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

9. startswith(), endswith()

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

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

10. center()

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

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

11. count()

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

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

12. find(), index()

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

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

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

13. maketrans() 和 translate()

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

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

14. partition(), rpartition()

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

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

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

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

15. zfill()

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

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

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

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

17. format_map()

功能 : 使用字典來格式化字符串,較新的Python版本特性。 示例 :PO128資訊網(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實體。 適用版本 : Python 3.4+。 示例 :PO128資訊網(wǎng)——每日最新資訊28at.com

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

19. encode() 和 decode()

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

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

20. swapcase()

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

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

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

高級技巧和實用建議

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

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

示例 :PO128資訊網(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)建了一個字符串,就不能修改它。試圖改變字符串中的單個字符會引發(fā)錯誤,你應(yīng)該通過創(chuàng)建一個新的字符串來實現(xiàn)修改。PO128資訊網(wǎng)——每日最新資訊28at.com

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

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

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

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

4. 字符串的效率考量

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

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

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

示例 : 使用正則表達式查找所有電子郵件地址。PO128資訊網(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)擁有了一個強大的字符串處理工具箱。繼續(xù)探索,享受編程帶來的樂趣和成就感吧!PO128資訊網(wǎng)——每日最新資訊28at.com

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

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

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

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

標(biāo)簽:
  • 熱門焦點
  • MIX Fold3包裝盒泄露 新機本月登場

    小米的全新折疊屏旗艦MIX Fold3將于本月發(fā)布,近日該機的真機包裝盒在網(wǎng)上泄露。從圖上來看,新的MIX Fold3包裝盒在外觀設(shè)計方面延續(xù)了之前的方案,變化不大,這也是目前小米旗艦
  • 十個可以手動編寫的 JavaScript 數(shù)組 API

    JavaScript 中有很多API,使用得當(dāng),會很方便,省力不少。 你知道它的原理嗎? 今天這篇文章,我們將對它們進行一次小總結(jié)?,F(xiàn)在開始吧。1.forEach()forEach()用于遍歷數(shù)組接收一參
  • 學(xué)習(xí)JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當(dāng)你決心學(xué)習(xí)一門語言的時候,很難選擇到底應(yīng)該學(xué)習(xí)哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 一篇文章帶你了解 CSS 屬性選擇器

    屬性選擇器對帶有指定屬性的 HTML 元素設(shè)置樣式??梢詾閾碛兄付▽傩缘?HTML 元素設(shè)置樣式,而不僅限于 class 和 id 屬性。一、了解屬性選擇器CSS屬性選擇器提供了一種簡單而
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務(wù),包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • iQOO Neo8 Pro即將開售:到手價3099元起 安卓性能最強旗艦

    5月23日,iQOO如期舉行了新品發(fā)布會,全新的iQOO Neo8系列也正式與大家見面,包含iQOO Neo8和iQOO Neo8 Pro兩個版本,其中標(biāo)準(zhǔn)版搭載高通驍龍8+,而Pro版更
  • Windows 11發(fā)布,微軟一改往常對老機型開放的態(tài)度

    距離 Windows 11 發(fā)布已經(jīng)過去一周,在過去一周里,很多數(shù)碼愛好者圍繞其對 Android 應(yīng)用的支持、對老機型的升級問題展開了激烈討論。與以往不同的是,在這次大
  • 最薄的14英寸游戲筆記本電腦 Alienware X14已可以購買

    2022年1月份在國際消費電子展(CES2022)上首次亮相的Alienware新品——Alienware X14現(xiàn)在已經(jīng)可以購買了,這款筆記本電腦被譽為世界上最薄的 14 英寸游戲筆
  • 外交部:美方應(yīng)停止在網(wǎng)絡(luò)安全問題上不負責(zé)任地指責(zé)他國

      中國外交部今天(16日)舉行例行記者會。會上,有記者問,美國情報官員稱,他們正在阻攔來自中國以及其他國家的黑客獲取相關(guān)科研成果。 中方對此有何評論?對此
Top 主站蜘蛛池模板: 越西县| 工布江达县| 来安县| 青海省| 施秉县| 临湘市| 滦南县| 永靖县| 民勤县| 连城县| 石城县| 确山县| 四子王旗| 吉隆县| 合江县| 普兰店市| 宁强县| 双鸭山市| 遂川县| 德保县| 延川县| 揭阳市| 徐闻县| 阜城县| 惠水县| 辽阳县| 达孜县| 吉林市| 左贡县| 化州市| 宣化县| 水富县| 白玉县| 永川市| 本溪市| 肥西县| 邵武市| 孝感市| 颍上县| 哈尔滨市| 册亨县|