Python 中的字元串基礎與應用

来源:https://www.cnblogs.com/xiaowange/archive/2023/09/28/17736519.html
-Advertisement-
Play Games

在Python中,字元串可以用單引號或雙引號括起來。'hello' 與 "hello" 是相同的。您可以使用print()函數顯示字元串文字: 示例: print("Hello") print('Hello') 將字元串分配給變數是通過變數名後跟等號和字元串完成的: 示例 a = "Hello" p ...


在Python中,字元串可以用單引號或雙引號括起來。'hello' 與 "hello" 是相同的。您可以使用print()函數顯示字元串文字:

示例:

print("Hello")
print('Hello')

將字元串分配給變數是通過變數名後跟等號和字元串完成的:

示例

a = "Hello"
print(a)

多行字元串

您可以使用三個引號將多行字元串分配給變數:示例,您可以使用三個雙引號:

a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)

或者使用三個單引號:示例

a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)

註意:在結果中,換行符與代碼中的位置相同。

字元串是數組

與許多其他流行的編程語言一樣,Python中的字元串是表示Unicode字元的位元組數組。但是,Python沒有字元數據類型,單個字元只是具有長度1的字元串。可以使用方括弧訪問字元串的元素。

示例,獲取位置1處的字元(請記住,第一個字元的位置是0):

a = "Hello, World!"
print(a[1])

遍歷字元串

由於字元串是數組,因此我們可以使用for迴圈遍歷字元串中的字元。

示例,遍歷單詞"banana"中的字母:

for x in "banana":
  print(x)

在我們的Python For Loops章節中瞭解更多關於for迴圈的內容。

字元串長度

要獲取字元串的長度,請使用len()函數。

示例,len()函數返回字元串的長度:

a = "Hello, World!"
print(len(a))

檢查字元串

要檢查字元串中是否存在某個短語或字元,我們可以使用關鍵字in。

示例,檢查以下文本中是否存在"free":

txt = "The best things in life are free!"
print("free" in txt)

在if語句中使用它:

示例,僅在存在"free"時才列印:

txt = "The best things in life are free!"
if "free" in txt:
  print("Yes, 'free' is present.")

在我們的Python If...Else章節中瞭解更多關於if語句的內容。

檢查是否不存在

要檢查字元串中是否不存在某個短語或字元,我們可以使用關鍵字not in。

示例,檢查以下文本中是否不存在"expensive":

txt = "The best things in life are free!"
print("expensive" not in txt)

在if語句中使用它:

示例,僅在不存在"expensive"時才列印:

txt = "The best things in life are free!"
if "expensive" not in txt:
  print("No, 'expensive' is NOT present.")

切片

您可以使用切片語法返回一系列字元。,指定起始索引和結束索引,用冒號分隔,以返回字元串的一部分。

示例:,獲取從位置2到位置5的字元(不包括位置5):

b = "Hello, World!"
print(b[2:5])

註意:第一個字元的索引為0。,從開頭切片,如果省略起始索引,則範圍將從第一個字元開始:

示例,獲取從開頭到位置5的字元(不包括位置5):

b = "Hello, World!"
print(b[:5])

切片到結尾

如果省略結束索引,則範圍將一直到結尾:

示例,獲取從位置2到結尾的字元:

b = "Hello, World!"
print(b[2:])

負索引

使用負索引從字元串的末尾開始切片:

示例,獲取字元:從:在"World!"中的"o"(位置-5)到,但不包括:在"World!"中的"d"(位置-2):

b = "Hello, World!"
print(b[-5:-2])

Python具有一組可用於字元串的內置方法。

大寫

示例:upper()方法將字元串轉換為大寫:

a = "Hello, World!"
print(a.upper())

小寫

示例:lower()方法將字元串轉換為小寫:

a = "Hello, World!"
print(a.lower())

刪除空白

空白是實際文本之前和/或之後的空格,通常您希望刪除此空間。

示例,strip()方法從開頭或末尾刪除任何空格:

a = " Hello, World! "
print(a.strip()) # 返回 "Hello, World!"

替換字元串

示例,replace()方法將字元串替換為另一個字元串:

a = "Hello, World!"
print(a.replace("H", "J"))

拆分字元串

split()方法返回一個列表,其中指定分隔符之間的文本成為列表項。

示例,split()方法如果找到分隔符的實例,將字元串拆分為子字元串:

a = "Hello, World!"
print(a.split(",")) # 返回 ['Hello', ' World!']

字元串連接

要連接或組合兩個字元串,您可以使用+運算符。

示例:,將變數a與變數b合併到變數c中:

a = "Hello"
b = "World"
c = a + b
print(c)

示例,要在它們之間添加一個空格,請添加一個" ":

a = "Hello"
b = "World"
c = a + " " + b
print(c)

字元串格式化

正如我們在Python變數章節中學到的,我們不能像這樣組合字元串和數字:

示例:

age = 36
txt = "My name is John, I am " + age
print(txt)

但是,我們可以使用format()方法將字元串和數字組合起來!

format()方法接受傳遞的參數,格式化它們,並將它們放在字元串中占位符{}處:

示例,使用format()方法將數字插入字元串中:

age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))

format()方法接受無限數量的參數,並將它們放入相應的占位符中:

示例

quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))

您可以使用索引號{0}來確保參數放在正確的占位符中:

示例

quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))

轉義字元

要插入字元串中不允許的字元,請使用轉義字元。

轉義字元是反斜杠\後跟要插入的字元。

一個非法字元的示例是在由雙引號括起來的字元串中插入雙引號:

示例:如果在由雙引號括起來的字元串中使用雙引號,將會出現錯誤:

txt = "We are the so-called "Vikings" from the north."

要解決這個問題,使用轉義字元\:

示例轉義字元允許您在通常不允許的情況下使用雙引號:

txt = "We are the so-called \"Vikings\" from the north."

Python中使用的其他轉義字元:

\'  單引號  
\\  反斜杠  
\n  換行符  
\r  回車符  
\t  製表符  
\b  退格符  
\f  換頁符  
\ooo  八進位值  
\xhh  十六進位值

Python字元串方法

Python具有一組可用於字元串的內置方法。

註意:所有字元串方法都返回新值。它們不會更改原始字元串。

capitalize() 將第一個字元轉換為大寫
casefold() 將字元串轉換為小寫
center() 返回一個居中的字元串
count() 返回字元串中指定值出現的次數
encode() 返回字元串的編碼版本
endswith() 如果字元串以指定值結尾,則返回True
expandtabs() 設置字元串的製表符大小
find() 搜索字元串中的指定值並返回其找到的位置
format() 格式化字元串中的指定值
format_map() 格式化字元串中的指定值
index() 搜索字元串中的指定值並返回其找到的位置
isalnum() 如果字元串中的所有字元都是字母數字字元,則返回True
isalpha() 如果字元串中的所有字元都在字母表中,則返回True
isascii() 如果字元串中的所有字元都是ASCII字元,則返回True
isdecimal() 如果字元串中的所有字元都是十進位字元,則返回True
isdigit() 如果字元串中的所有字元都是數字,則返回True
isidentifier() 如果字元串是標識符,則返回True
islower() 如果字元串中的所有字元都是小寫,則返回True
isnumeric() 如果字元串中的所有字元都是數字,則返回True
isprintable() 如果字元串中的所有字元都是可列印字元,則返回True
isspace() 如果字元串中的所有字元都是空白字元,則返回True
istitle() 如果字元串遵循標題規則,則返回True
isupper() 如果字元串中的所有字元都是大寫,則返回True
join() 將可迭代對象的元素連接到字元串的末尾
ljust() 返回字元串的左對齊版本
lower() 將字元串轉換為小寫
lstrip() 返回字元串的左修剪版本
maketrans() 返回用於轉換的轉換表
partition() 返回一個元組,其中字元串分為三個部分
replace() 返回一個字元串,其中指定的值替換為指定的值
rfind() 搜索字元串中的指定值並返回其找到的最後位置
rindex() 搜索字元串中的指定值並返回其找到的最後位置
rjust() 返回字元串的右對齊版本
rpartition() 返回一個元組,其中字元串分為三個部分
rsplit() 在指定的分隔符處拆分字元串,並返回一個列表
rstrip() 返回字元串的右修剪版本
split() 在指定的分隔符處拆分字元串,並返回一個列表
splitlines() 在換行符處拆分字元串,並返回一個列表
startswith() 如果字元串以指定值開頭,則返回True
strip() 返回字元串的修剪版本
swapcase() 交換大小寫,小寫變為大寫,反之亦然
title() 將每個單詞的第一個字元轉換為大寫
translate() 返回一個翻譯後的字元串
upper() 將字元串轉換為大寫
zfill() 在開頭填充指定數量的0值的字元串

最後

為了方便其他設備和平臺的小伙伴觀看往期文章,鏈接奉上:

公眾號搜索Let us Coding知乎開源中國CSDN思否掘金InfoQ簡書博客園慕課51CTOhelloworld騰訊開發者社區阿裡開發者社區

看完如果覺得有幫助,歡迎點贊、收藏關註


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SQL改寫是資料庫產品中使用比較頻繁的一個技術,在大多數產品中的調用頻率也非常高,通常對性能的需求需要接近對應資料庫產品的上限。例如在天翼雲關係型資料庫中的Mysql語法相容組件,其性能測試標準需要達到接近30萬TPS,也意味著SQL改寫環節的性能標準需要支持至少每秒30萬次以上,否則會成為系統的性... ...
  • MySQL InnoDB的索引統計信息在什麼時候更新呢? 或者說什麼事件會觸發InnoDB索引的統計信息更新呢?下麵結合參考資料When Does InnoDB Update the Index Statistics? (Doc ID 1463718.1)[1]簡單總結梳理一下(文中大部分知識點來自 ...
  • 本文分享自華為雲社區 《實戰指南,SpringBoot + Mybatis 如何對接多數據源》,作者:戰斧。 在我們開發一些具有綜合功能的項目時,往往會碰到一種情況,需要同時連接多個資料庫,這個時候就需要用到多數據源的設計。而Spring與Myabtis其實做了多數據源的適配,只需少許改動即可對接多 ...
  • 近日,天翼雲與神州信息完成神州信息銀行分散式核心系統與天翼雲4.0雲平臺及TeleDB資料庫的適配認證工作,標志著雙方聯合推出的“銀行核心業務系統聯合解決方案”生產環境投產成功。 ...
  • 趁著國慶前夕整了一個vite4結合react18搭建後臺管理模板,搭配上位元組團隊react組件庫ArcoDesign,整體操作功能非常絲滑。目前功能支持多種模板佈局、暗黑/亮色模式、國際化、許可權驗證、多級路由菜單、tabview標簽欄快捷菜單、全屏控制等功能。極簡非凡的佈局界面、高定製化模塊,用心打 ...
  • 針對改動範圍大、影響面廣的需求,我通常會問上線了最壞情況是什麼?應急預案是什麼?你帶開關了嗎?。當然開關也是有成本的,接下來本篇跟大家一起交流下高頻發佈支撐下的功能開關技術理論與實踐結合的點點滴滴。 ...
  • RPC,Remote Procedure Call 即遠程過程調用,與之相對的是本地服務調用,即LPC(Local Procedure Call)。本地服務調用比較常用,像我們應用內部程式(註意此處是程式而不是方法,程式包含方法)互相調用即為本地過程調用,而遠程過程調用是指在本地調取遠程過程進行使用... ...
  • 使用雙指針進行原地移除元素 題目描述 給定一個數組 nums 和一個值 val,需要將數組中所有等於 val 的元素原地刪除,並返回刪除後數組的新長度。 要求: 不使用額外的數組空間 只能使用 O(1) 額外空間 數組中超過新長度後面的元素可以忽略 示例 1: 輸入:nums = [3,2,2,3] ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...