Python字符串基礎與高級操作

在Python中,字符串是不可變的數據類型,用于存儲一系列的字符。它們可以被創建、訪問、操作和格式化,但一旦創建,其內容就不能改變。下面是一篇關于Python字符串技術的詳細講解,包括創建、訪問、更新、轉義、運算符、格式化、三引號字符串以及內建函數的使用。

創建字符串

字符串可以通過單引號、雙引號或三引號創建。單引號和雙引號之間沒有區別,但三引號允許創建多行字符串。

# 使用單引號
single_quote = 'Hello, World!'# 使用雙引號
double_quote = "Hello, World!"# 使用三引號創建多行字符串
multi_line = """Hello,
This is a
multi-line string."""# 打印字符串
print(single_quote)  # Hello, World!
print(double_quote)  # Hello, World!
print(multi_line)  # Hello,\nThis is a\nmulti-line string.
訪問字符串中的值

字符串索引從0開始,可以使用方括號來訪問單個字符。

# 創建字符串
s = "Python"# 訪問第一個字符
print(s[0])  # P# 訪問最后一個字符
print(s[-1])  # n# 訪問中間的字符
print(s[2])  # t
Python字符串切片詳解

字符串切片允許你提取字符串的一部分,語法為 [start:stop:step],其中 start 是切片的起始索引(默認為0),stop 是切片的結束索引(默認為字符串的長度),而 step 是切片的步長(默認為1)。如果省略 startstop,Python會自動使用默認值。

讓我們通過一些示例來詳細了解切片的工作原理:

# 定義一個字符串
s = "Hello, world!"# 從索引0開始,到索引5結束(不包括第5個位置的字符),默認步長為1
# 輸出: 'Hello'
print(s[0:5])  # 'Hello'# 從索引7開始,到字符串的結尾
# 輸出: 'world!'
print(s[7:])  # 'world!'# 從字符串的開頭,到索引7結束(不包括第7個位置的字符)
# 輸出: 'Hello,'
print(s[:7])  # 'Hello,'# 從字符串的倒數第3個字符開始,到字符串的結尾
# 輸出: '!d'
print(s[-3:])  # '!d'# 使用步長為2,從索引0開始,到字符串結尾
# 輸出: 'Hlo ol!'
print(s[::2])  # 'Hlo ol!'# 從索引5開始,到索引-1結束(不包括最后一個字符),步長為-1(逆序)
# 輸出: 'dlrow ,olleH'
print(s[5:0:-1])  # 'dlrow ,olleH'# 完全逆序字符串,從結尾到開頭,步長為-1
# 輸出: '!dlrow ,olleH'
print(s[::-1])  # '!dlrow ,olleH'
字符串更新

由于字符串是不可變的,不能直接修改。但可以創建新的字符串。

# 創建字符串
s = "Hello"# 更新字符串 - 實際上是創建一個新的字符串
new_s = s + ", World!"# 打印新字符串
print(new_s)  # Hello, World!
轉義字符串

轉義字符允許在字符串中使用特殊字符。

# 使用轉義字符
print("Line1\nLine2")  # Line1\nLine2 -> 分兩行顯示:Line1 和 Line2
print("Tab\tSpace")  # Tab\tSpace -> 顯示:Tab    Space(四個空格)
字符串運算符

字符串支持一些基本的運算符,如連接(+)、重復(*)、索引([])、切片([:])和成員資格檢查(innot in)。

# 字符串連接
print("Py" + "thon")  # Python# 字符串重復
print("Py" * 3)  # PyPyPy# 成員資格檢查
print("y" in "Python")  # True
print("z" not in "Python")  # True
字符串格式化

可以使用 %format() 方法或 f-string 來格式化字符串。

# 使用 % 符號
print("%s is %d years old." % ("Tom", 20))  # Tom is 20 years old.# 使用 format() 方法
print("{} is {} years old.".format("Tom", 20))  # Tom is 20 years old.# 使用 f-string (Python 3.6+)
name = "Tom"
age = 20
print(f"{name} is {age} years old.")  # Tom is 20 years old.
Python字符串三引號

三引號字符串可以包含換行符,適合創建多行注釋或長字符串。

# 使用三引號
long_string = """Hello,
This is a long string."""
print(long_string)  # Hello,\nThis is a long string.
Python 的字符串內建函數

字符串有許多內建函數,如 len(), upper(), lower(), strip(), split(), join() 等。

s = " Python "
# 字符串內建函數示例
print(len(s))  # 8
print(s.strip())  # Python
print(s.upper())  #  PYTHON 
print(s.lower())  # python 
print(s.split())  # [' Python ']
print("-".join(["Hello", "World"]))  # Hello-World

以上就是Python字符串及其操作的全面指南,包括創建、訪問、更新、格式化、切片語法和內建函數的使用。掌握這些概念將極大地提高你使用Python處理文本數據的能力。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45388.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45388.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45388.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Phpstudy 2018 之xhcms搭建

1、由于直接訪問根目錄無法進入網站 2、所以采用搭建網站,第一使用系統服務模式、選擇php-5.4.45Apache模式 3、網站域名為本地ip地址或者127.0.0.1、端口8085 4、在navicat創建名字為xjcms的數據庫,并導入sql數據庫文件 5、瀏覽器輸入127.0.0.1:8085直接…

中風傷寒、感冒、六經辨證筆記

目錄 基礎傳經的原因傳經的過程及速度傳經的危害感冒時體痛頭痛的原因根據頭痛的位置辨經 太陽病太陽中風外風內熱 表虛感冒顆粒(桂枝葛根湯) 少陽病辨病總結傷寒論原文半表半里太陽為開,陽明為闔,少陽為樞膽的作用幫助腸胃消化、…

deepstream讀取mp4文件及不同類型視頻輸入bug解決

在deepstream中使用mp4文件,與rtsp類似,使用uridecodebin即可,(可見官方test.py文件) def create_source_bin(index, uri):print("Creating source bin")# Create a source GstBin to abstract this bins c…

定投投什么?

定投可以選擇的品種有銀行理財和基金 銀行理財目前有的品種有期限限制,不是那么公開的特點。如果說你想通過定投積累一筆低風險的,用于應急或者短期內要用的錢,可以選擇定投現金類銀行理財。 基金是最適合定投的產品, 基金分為…

【自然語言處理】面向新冠肺炎的社會計算應用

面向新冠肺炎的社會計算應用 1 任務目標 1.1 案例簡介 新冠肺炎疫情牽動著我們每一個人的心,在這個案例中,我們將嘗試用社會計算的方法對疫情相關的新聞和謠言進行分析,助力疫情信息研究。本次作業為開放性作業,我們提供了疫情…

C++ STL stable_sort用法

一&#xff1a;功能 對區間內元素進行排序&#xff0c;保證相等元素的順序&#xff08;穩定排序&#xff09; 二&#xff1a;用法 #include <iostream>struct Record {std::string label;int rank; };int main() {std::vector<Record> data {{"q", 1},…

代碼隨想錄第五十一天 | 300.最長遞增子序列 , 674. 最長連續遞增序列 , 718. 最長重復子數組

300.最長遞增子序列 看完想法&#xff1a;在dp遞推公式那里沒有太看得懂。首先dp【i】的狀態肯定是由前面的dp【0】到dp【i-1】推出的&#xff0c;但是dp【0】到dp【i-1】可以推出dp【i】有個前提就是(nums【i】 > nums【0到i-1任意一個】),例如nums【1】 2, nums【3】 5…

Tomcat下載安裝配置教程(零基礎超詳細)

「作者簡介」&#xff1a;冬奧會網絡安全中國代表隊&#xff0c;CSDN Top100&#xff0c;就職奇安信多年&#xff0c;以實戰工作為基礎著作 《網絡安全自學教程》&#xff0c;適合基礎薄弱的同學系統化的學習網絡安全&#xff0c;用最短的時間掌握最核心的技術。 Tomcat 1、下載…

外包干了1個月,技術明顯退步。。。

有一種打工人的羨慕&#xff0c;叫做“大廠”。 真是年少不知大廠香&#xff0c;錯把青春插稻秧。 但是&#xff0c;在深圳有一群比大廠員工更龐大的群體&#xff0c;他們頂著大廠的“名”&#xff0c;做著大廠的工作&#xff0c;還可以享受大廠的伙食&#xff0c;卻沒有大廠…

【輕松拿捏 】Java-static關鍵字(面試)

Java-static關鍵字 1. 定義和基本概念 回答要點&#xff1a; 示例回答&#xff1a; 2. static 變量 回答要點&#xff1a; 示例回答&#xff1a; 代碼示例&#xff1a; 3. static方法 回答要點&#xff1a; 示例回答&#xff1a; 代碼示例&#xff1a; 4. static 代…

Modbus協議簡介與Python實現

Modbus協議是工業自動化和控制系統中廣泛使用的通信協議。自1979年由Modicon(現為施耐德電氣的一部分)引入以來,它已經成為一種標準的通信協議,用于連接電子設備和傳感器。Modbus協議基于主從架構,支持多種物理層和傳輸模式,如串行通信(RS-232/RS-485)和以太網。 1. Mo…

10個使用Numba CUDA進行編程的例子

以下是10個使用Numba CUDA進行編程的例子&#xff0c;這些例子涵蓋了基本的向量加法、矩陣乘法以及其他一些常見操作&#xff1a; 向量加法 from numba import cuda import numpy as np cuda.jit def vector_add(a, b, c):i cuda.grid(1)if i < len(a):c[i] a[i] b[i] …

STM32智能交通監測系統教程

目錄 引言環境準備智能交通監測系統基礎代碼實現&#xff1a;實現智能交通監測系統 4.1 數據采集模塊 4.2 數據處理與控制模塊 4.3 通信與網絡系統實現 4.4 用戶界面與數據可視化應用場景&#xff1a;交通監測與管理問題解決方案與優化收尾與總結 1. 引言 智能交通監測系統通…

Linux--線程池(包含日志的解釋)

線程系列&#xff1a; Linux–線程的認識(一) Linux–線程的分離、線程庫的地址關系的理解、線程的簡單封裝&#xff08;二&#xff09; 線程的互斥&#xff1a;臨界資源只能在同一時間被一個線程使用 生產消費模型 信號量 線程池 線程池&#xff08;Thread Pool&#xff09;是…

Qt 統計圖編程

學習目標&#xff1a;Qt 折線圖&#xff0c;柱形圖和扇形統計圖編程 學習基礎 Qt QChart 曲線圖表操作-CSDN博客 學習內容 Qt中繪制三種常見的圖表非常方便, 主要步驟如下: 1. 折線圖: - 使用QLineSeries定義折線數據,添加多個坐標點 - 使用QValueAxis創建X軸和Y軸 - 將…

dockerfile配置和yml配置

dockerfile docker build 使用dockerfile自動構建鏡像文件 FROM python:3.9WORKDIR /appCOPY requirements.txt. RUN pip install -r requirements.txtCOPY..CMD ["python", "main.py"]docker build dockerifle自動構建拉取python3.9鏡像&#xff0c;并執…

拷貝文件的一些操作

利用fputc 、fgetc實現文件的拷貝 int main(int argc, const char *argv[]) {FILE* rfpfopen(argv[1],"r");FILE* wfpfopen(argv[2],"w");if(rfpNULL || wfpNULL){perror("fopen");return 1;}while(1){char resfgetc(rfp);if(feof(rfp)1){break;…

PointCloudLib LocalMaximum_DeleteMaxPoint C++版本

測試效果 簡介 在點云庫&#xff08;Point Cloud Library&#xff0c;PCL&#xff09;中&#xff0c;處理點云數據時&#xff0c;經常需要去除局部最大點&#xff08;Local Maximum&#xff09;&#xff0c;這通常用于去除噪聲、提取特定形狀的特征或者簡化點云數據。局部最大…

[米聯客-安路飛龍DR1-FPSOC] FPGA基礎篇連載-14 SPI MASET發送程序設計

軟件版本&#xff1a;Anlogic -TD5.9.1-DR1_ES1.1 操作系統&#xff1a;WIN10 64bit 硬件平臺&#xff1a;適用安路(Anlogic)FPGA 實驗平臺&#xff1a;米聯客-MLK-L1-CZ06-DR1M90G開發板 板卡獲取平臺&#xff1a;https://milianke.tmall.com/ 登錄“米聯客”FPGA社區 ht…

數據庫管理-第220期 Oracle的高可用-03(20240715)

數據庫管理220期 2024-07-15 數據庫管理-第220期 Oracle的高可用-03&#xff08;20240715&#xff09;1 AC/TAC2 配置Service3 用戶權限4 端口開放總結 數據庫管理-第220期 Oracle的高可用-03&#xff08;20240715&#xff09; 作者&#xff1a;胖頭魚的魚缸&#xff08;尹海文…