Python自學第5天:字符串相關操作

1.字符串運算符

作符描述
+字符串連接
*重復輸出字符串
[]通過索引獲取字符串中字符
[ : ]截取字符串中的一部分,遵循左閉右開原則,str[0:2] 是不包含第 3 個字符的。
in成員運算符 - 如果字符串中包含給定的字符返回 True
not in成員運算符 - 如果字符串中不包含給定的字符返回 True
# 字符串連接
str1 = "Hello"
str2 = "World"
result = str1 + str2  # 輸出: HelloWorld# 字符串重復
str3 = "Ha"
result = str3 * 3  # 輸出: HaHaHa# 字符串索引
text = "Python"
char = text[0]  # 輸出: P# 字符串切片
text = "Python Programming"
slice_str = text[0:6]  # 輸出: Python# 成員運算符
text = "Hello Python"
print("Hello" in text)  # 輸出: True
print("Java" not in text)  # 輸出: True

?2.字符串格式化

作符描述
????? %c?格式化字符及其ASCII碼
????? %s?格式化字符串
????? %d?格式化整數
????? %o?格式化無符號八進制數
????? %x?格式化無符號十六進制數
????? %f?格式化浮點數字,可指定小數點后的精度
????? %e?用科學計數法格式化浮點數
name = "張三"
age = 25
height = 1.75# %s 字符串格式化
print("姓名: %s" % name)  # 輸出: 姓名: 張三# %d 整數格式化
print("年齡: %d歲" % age)  # 輸出: 年齡: 25歲# %f 浮點數格式化
print("身高: %.2f米" % height)  # 輸出: 身高: 1.75米# 多個變量格式化
print("個人信息 - 姓名: %s, 年齡: %d歲, 身高: %.2f米" % (name, age, height))# 其他格式化示例
num = 42
print("十六進制: %x" % num)  # 輸出: 十六進制: 2a
print("八進制: %o" % num)    # 輸出: 八進制: 52
print("科學計數: %e" % 1234.5678)  # 輸出: 科學計數: 1.234568e+03

3.f-string

  • 格式化字符串以?f?開頭,后面跟著字符串,字符串中的表達式用大括號 {} 包起來,它會將變量或表達式計算后的值替換進去。
  • 比起上述格式化方法個,更簡潔,不用再去判斷類型。
name = "李四"
age = 30
score = 98.5# 基本用法
print(f"姓名: {name}")  # 輸出: 姓名: 李四
print(f"年齡: {age}歲")  # 輸出: 年齡: 30歲
print(f"成績: {score}分")  # 輸出: 成績: 98.5分# 表達式計算
x = 10
y = 20
print(f"{x} + {y} = {x + y}")  # 輸出: 10 + 20 = 30# 調用函數
def get_square(n):return n * n
number = 8
print(f"{number}的平方是{get_square(number)}")  # 輸出: 8的平方是64# 字典訪問
student = {"name": "王五", "grade": "A"}
print(f"學生{student['name']}的等級是{student['grade']}")  # 輸出: 學生王五的等級是A# 對齊和填充
print(f"{'左對齊':<10}|")  # 輸出: 左對齊    |
print(f"{'右對齊':>10}|")  # 輸出:     右對齊|
print(f"{'居中':^10}|")    # 輸出:    居中   |# 進制轉換
num = 42
print(f"十進制: {num}")         # 輸出: 十進制: 42
print(f"二進制: {num:b}")       # 輸出: 二進制: 101010
print(f"十六進制: {num:x}")     # 輸出: 十六進制: 2a

4.字符串常用的內置函數

作符描述
len()?獲取字符串長度
upper()?轉化為大寫
lower()?轉化為小寫
strip()?去除首尾空白字符
split()?字符串分割
join()?字符串連接
replace()?字符串替換
find() 和 index()?字符串查找子串
startswith(str)判斷字符串是否以str開頭
endswith(str)判斷字符串是否以str結尾
count()統計子串出現次數
isdigit()是否是數字

isalpha()

是否是字母
isalnum是否為字母或數字
# len() - 獲取字符串長度
text = "Python編程"
print(f"字符串長度: {len(text)}")  # 輸出: 字符串長度: 7# upper() 和 lower() - 大小寫轉換
str1 = "Hello World"
print(f"轉大寫: {str1.upper()}")  # 輸出: HELLO WORLD
print(f"轉小寫: {str1.lower()}")  # 輸出: hello world# strip() - 去除首尾空白字符
str2 = "   Python   "
print(f"去除空白: '{str2.strip()}'")  # 輸出: 'Python'# split() - 字符串分割
str3 = "Python,Java,C++"
print(f"分割結果: {str3.split(',')}")  # 輸出: ['Python', 'Java', 'C++']# join() - 字符串連接
list1 = ['Python', 'Java', 'C++']
print(f"連接結果: {'-'.join(list1)}")  # 輸出: Python-Java-C++# replace() - 字符串替換
str4 = "Hello Python Python"
print(f"替換結果: {str4.replace('Python', 'Java', 1)}")  # 輸出: Hello Java Python# find() 和 index() - 查找子串
str5 = "Hello Python"
print(f"find查找: {str5.find('Python')}")  # 輸出: 6
print(f"index查找: {str5.index('Python')}")  # 輸出: 6# startswith() 和 endswith() - 判斷開頭和結尾
str6 = "test.py"
print(f"是否以test開頭: {str6.startswith('test')}")  # 輸出: True
print(f"是否以.py結尾: {str6.endswith('.py')}")  # 輸出: True# count() - 統計子串出現次數
str7 = "Python Python Python"
print(f"Python出現次數: {str7.count('Python')}")  # 輸出: 3# isdigit()、isalpha()、isalnum() - 字符串類型判斷
str8 = "123"
str9 = "abc"
str10 = "abc123"
print(f"是否為數字: {str8.isdigit()}")  # 輸出: True
print(f"是否為字母: {str9.isalpha()}")  # 輸出: True
print(f"是否為字母或數字: {str10.isalnum()}")  # 輸出: True

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

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

相關文章

RabbitMq(尚硅谷)

RabbitMq 1.RabbitMq異步調用 2.work模型 3.Fanout交換機&#xff08;廣播模式&#xff09; 4.Diret交換機&#xff08;直連&#xff09; 5.Topic交換機&#xff08;主題交換機&#xff0c;通過路由匹配&#xff09; 6.Headers交換機&#xff08;頭交換機&#xff09; 6…

分庫分表后復雜查詢的應對之道:基于DTS實時性ES寬表構建技術實踐

1 問題域 業務發展的初期&#xff0c;我們的數據庫架構往往是單庫單表&#xff0c;外加讀寫分離來快速的支撐業務&#xff0c;隨著用戶量和訂單量的增加&#xff0c;數據庫的計算和存儲往往會成為我們系統的瓶頸&#xff0c;業界的實踐多數采用分而治之的思想&#xff1a;分庫…

CVE-2024-4577:Windows 編碼錯誤

CVE-2024-4577是一個 PHP-CGI 漏洞,就是其中一種情況:雖然有這個版本,但由于 PHP 經常被反向移植,因此無法可靠地使用。 這篇博文詳細介紹了如何研究 CVE-2024-4577 以及當前用于檢測它的方法。 CVE-2024-4577 CVE-2024-4577 是 Windows 版 PHP 安裝中的一個高危漏洞,會…

NetBox Docker 全功能部署方案(Ubuntu 22.04 + Docker)

環境準備 檢查操作系統版本&#xff1a; 本方案使用 Ubuntu 22.04&#xff0c;并在 VMware 虛擬機中運行。通過以下命令檢查系統版本&#xff1a; lsb_release -a 如果未安裝 Ubuntu 22.04&#xff0c;請下載并安裝一個全新的系統。 更新系統軟件源&#xff1a; 更新軟件包列表…

DeepSeek Copilot idea插件推薦

&#x1f30c; DeepSeek Copilot for IntelliJ IDEA 讓 AI 成為你的編程副駕駛&#xff0c;極速生成單元測試 & 代碼注釋驅動開發&#xff01; &#x1f680; 簡介 DeepSeek Copilot 是一款為 IntelliJ IDEA 打造的 AI 編程助手插件&#xff0c;它能夠智能分析你的代碼邏輯…

QT中的JSON

1.JSON的兩種數據格式 JSON有兩種數據格式:JSON對象和JSON數組 JSON數組&#xff1a; JSON數組格式&#xff1a;[元素1&#xff0c;元素2&#xff0c;元素3&#xff0c;......元素n] JSON數組中的元素可以是同一類型&#xff0c;也可以使不同類型&#xff0c;可以嵌套JSON數組…

詳細剖析傳輸層協議(TCP和UDP)

詳細講解傳輸層的網絡協議&#xff0c;為什么TCP是可靠連接協議&#xff0c;憑什么能做到不丟包&#xff0c;有哪些機制保證可靠呢&#xff1f; TCP/UDP UDPTCP**三次握手和四次揮手****滑動窗口****擁塞控制**&#xff08;socket套接字&#xff09;**listen的第二個參數** UD…

數據可視化:藝術與科學的交匯點,如何讓數據“開口說話”?

數據可視化&#xff1a;藝術與科學的交匯點&#xff0c;如何讓數據“開口說話”&#xff1f; 數據可視化&#xff0c;是科技與藝術的結合&#xff0c;是讓冰冷的數字變得生動有趣的橋梁。它既是科學——講究準確性、邏輯性、數據處理的嚴謹性&#xff1b;又是藝術——強調美感…

解決使用lettuce連接Redis超時的問題(tcpUserTimeout 參數失效問題)

問題背景 lettuce 連接Redis的主從實例&#xff0c;當主節的主機異常下電重啟后&#xff0c;由于沒有發送RST 包&#xff0c;導致 lettuce 一直在復用之前的TCP鏈接&#xff0c;然后會出現連接超時的情況。一直出現io.lettuce.core.RedisCommandTimeoutException: Command tim…

如何使用python保存字典

在Python中&#xff0c;可以通過多種方式將字典&#xff08;dict&#xff09;保存到文件中&#xff0c;并能夠隨時讀取恢復。以下是幾種常見的方法&#xff1a; 1. 使用 json 模塊&#xff08;推薦&#xff09; 適用場景&#xff1a;需要人類可讀的文件格式&#xff0c;且數據不…

SQL 與 Python:日期維度表創建的不同選擇

文章目錄 一、日期維度表概述日期維度表結構 二、使用 SQL 創建日期維度表2.1 表結構設計2.2 數據插入2.3 SQL 創建方式的優勢與局限 三、使用 Python 創建日期維度表3.1 依賴庫引入3.2 代碼實現3.3 Python 創建方式的優勢與局限 四、應用場景與選擇建議4.1 應用場景4.2 選擇建…

如何用postman進行批量操作

業務場景&#xff1a; 有些時候&#xff0c;我們會需要批量的將SAP B1系統中的幾千條的數據刪除或者取消單據&#xff0c;這個時候&#xff0c;一條條去操作&#xff0c;指定是到猴年馬月了。SAP Business One本身提供了DTW這個工具&#xff0c;但是這個更新&#xff0c;可以操…

Mysql如何完成數據的增刪改查(詳解從0到1)

前言&#xff1a; Mysql可能是每個程序員的必修課&#xff0c;可以說是使用起來是沒有什么問題的&#xff0c;但是作為一名合格的程序猿&#xff0c;深入學習Mysql的內部工作原理是非常有必要的&#xff0c;主要是理解和學習Mysql的底層思想&#xff0c;希望在日后如遇到一些&…

單片機嵌入式按鍵庫

kw_btn庫說明 本庫主要滿足嵌入式按鍵需求&#xff0c;集成了常用的按鍵響應事件&#xff1a;高電平、低電平、上升沿、下降沿、單擊、雙擊、長按鍵事件。可以裸機運行&#xff0c;也可以配合實時操作系統運行。 本庫開源連接地址&#xff1a;連接 實現思路 本庫采用C語言進行…

Qt—鼠標移動事件的趣味小程序:會移動的按鈕

1.項目目標 本次根據Qt的鼠標移動事件實現一個趣味小程序&#xff1a;當鼠標移動到按鈕時&#xff0c;按鈕就會隨機出現在置&#xff0c;以至于根本點擊不到按鈕。????? 2.項目步驟 首先現在ui界面設計控件(也可以用代碼的方式創建&#xff0c;就不多說了) 第一個按鈕不需…

MySQL的information_schema在SQL注入中的關鍵作用與防御策略

目錄 一、information_schema的核心價值 二、攻擊利用場景與示例 1. 聯合查詢注入&#xff08;Union-Based&#xff09; 2. 報錯注入&#xff08;Error-Based&#xff09; 3. 布爾盲注&#xff08;Boolean Blind&#xff09; 4. 時間盲注&#xff08;Time-Based&#xff0…

c語言 關鍵字--目錄

下面是詳細介紹的鏈接 1.c語言 關鍵字 2.typedef 關鍵字 3.volatile 關鍵字 4.register 關鍵字 5.const關鍵字用法 6.extern關鍵字 7.sizeof關鍵字

python爬蟲爬取網站圖片出現403解決方法【僅供學習使用】

基于CSDN第一篇文章&#xff0c;Python爬蟲之入門保姆級教程&#xff0c;學不會我去你家刷廁所。 這篇文章是2021年作者發表的&#xff0c;由于此教程&#xff0c;網站添加了反爬機制&#xff0c;有作者通過添加cookie信息來達到原來的效果&#xff0c;Python爬蟲添加Cookies以…

docker創建一個centOS容器安裝軟件(以寶塔為例)的詳細步驟

備忘&#xff1a;后續偶爾忘記了docker虛擬機與宿主機的端口映射關系&#xff0c;來這里查看即可&#xff1a; docker run -d \ --name baota \ --privilegedtrue \ -p 8888:8888 \ -p 8880:80 \ -p 8443:443 \ -p 8820:20 \ -p 8821:21 \ -v /home/www:/www/wwwroot \ centos…

linux 使用nginx部署ssl證書,將http升級為https

前言 本文基于&#xff1a;操作系統 CentOS Stream 8 使用工具&#xff1a;Xshell 8、Xftp 8 服務器基礎環境&#xff1a; nginx - 請查看 linux 使用nginx部署vue、react項目 所需服務器基礎環境&#xff0c;請根據提示進行下載、安裝。 1.下載證書 以騰訊云為例&#x…