程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

1.5 字符串基本操作(Python)

編輯:Python

本文來自異想之旅公開發布的Python教程,原文地址:https://www.yuque.com/yxzl/python

除了數字之外,字符便是計算機變成中最重要的概念了。你現在正在閱讀這篇文章正是某種編程語言(大概是 JavaScript)處理字符信息的傑作。

本節將講述字符串的四個知識點:轉義字符、切片、操作和自身方法,隨後補充多行字符串的書寫規則。

轉義字符

如何在電腦上打出換行符?你可能會說,簡單,按一下 Enter 就是了。但是這樣的操作輸入的字符並沒有顯示出來,計算機顯示時直接進行了換行這一動作……想要將回車等特殊字符像英文字母一樣打印出來,就需要轉義字符

名詞解釋:轉義字符,字母前加 \ 來表示常見的那些不能顯示的字符,如 \t\n 等,就稱為轉義字符,因為後面的字符都不是它本來的字符意思了。

轉義字符描述樣例\\反斜槓符號print('\\\\')
輸出 \\\’單引號(僅在使用單引號包裹字符串時必須)print('\\'')
輸出 '\"雙引號(僅在使用雙引號包裹字符串時必須)print("\\"")
輸出 "\b退格(Backspace)print('Hel\\blo')
輸出 Helo\n換行print('a\\nb')
輸出 a(換行到下一行)b\t橫向制表符(具體用途未來會有)print('Hello\\tWorld!')
輸出 Hello World!\uxxxx十六進制 Unicode 編碼print('\\u6211\\u559c\\u6b22\\u4f60')
輸出 我喜歡你\other其它的非轉義字符以普通格式輸出print('\\a')
輸出 a

轉義字符僅在輸出時有效。目前我們學到的輸出方式只有 print 。如果你在選擇開發工具時選擇了 Python 內置的 IDEA,那麼部分字符(例如 \b )將無法生效,請自行查詢如何使用終端(cmd)運行 Python 解決此問題。

切片

唔……忽然想放到講完列表再講。原因嘛,列表和字符串的切片原理是一樣的,而我有幾張現成的講列表切片的圖,不想再找一次了哈哈哈哈。具體請見 1.7 章節中的介紹。

運算操作

此處的運算操作並非嚴格意義上的運算,更合適的名稱或許是“使用運算符的字符串操作”。

加法

對兩個字符串做加法,本質上是將他們連接起來。

a = 'Hello'
b = 'World'
print(a + b)
# 輸出:HelloWorld

乘法

字符串的乘法是一個字符串 str 乘以一個整數 int,表示將字符串重復多少次。

a = 'QDZX'
print(a * 3)
# 輸出:QDZXQDZXQDZX

字符串方法

這部分直接看樣例代碼。

a = "qdZX HCCE"
print('---第一組---')
print(a.upper()) # 將所有字母轉換為大寫,輸出:QDZX HCCE
print(a.lower()) # 將所有字母轉換為小寫,輸出:qdzx hcce
print(a.capitalize()) # 將第一個字母轉換為大寫,其他字母轉換為小寫,輸出:Qdzx hcce
print(a.title()) # 將每個單詞的第一個字母轉換為大寫,其他字母轉換為小寫,輸出:Qdzx Hcce
print('---第二組---')
# 往下兩行請高手掌握
print(a.swapcase()) # 將大寫字母轉換為小寫,小寫字母轉換為大寫,輸出:QDzx hcce
print(a.isalpha()) # 判斷是否全部為字母或Unicode字符(可以簡單理解為不包含數字和英文模式的字符),輸出:False
print('---第三組---')
b = 'QDZX'
print(b.isupper()) # 判斷是否全部為大寫字母,輸出:True
print(b.islower()) # 判斷是否全部為小寫字母,輸出:False
print(b.istitle()) # 判斷是否全部為標題,輸出:False
print('---第四組---')
c = '12345.6789'
print(c.isdigit()) # 判斷是否全部為數字,輸出:False
print(' '.isspace()) # 判斷是否全部為空白字符,輸出:True
print('---第五組---')
print(''.isupper()) # 對於所有 .is 開頭的方法函數,空串全部輸出False
print('---第六組---')
d = 'ABCDDDCBA'
print(len(d)) # 求字符串的長度,輸出:9
print(d.count('D')) # 求字符串中D出現的次數,輸出:3
print(d.find('D')) # 求字符串中D首次出現的位置,輸出:3(出現在字符串第4個字符,但是編程語言從0開始計數)
print(d.startswith('ABC')) # 判斷字符串是否以指定的字符串開頭,輸出:True
print(d.endswith('DCBA')) # 判斷字符串是否以指定的字符串結尾,輸出:True

以上形如a.xxx()的語句中,xxxa對象的方法。

名詞解釋:對象,包括屬性(Properties)和方法(Methods),屬性就是需要記憶的信息,方法就是對象能夠提供的服務。此處我們可以先理解為特殊的變量。
方法,特殊的函數,與普通函數不同的地方是它屬於一個對象,調用它完成的操作通常情況下是圍繞這個對象本身的值展開的。例如a.upper()就是操作字符串a中的字符。
這裡先介紹一個大概,若有不理解不必著急,關於類和對象的更多知識將在教程 第二部分 提及。

多行字符串

我們已知在 Python 中可以使用 '\n' 換行,但是這樣的換行並不明了,且對於長字符串來說過於麻煩,有沒有更簡單的方式?

三引號字符串。

a = '''Hello World'''
print(a)
print('=====')
b = """大 家好 """
print(b)

輸出:

Hello
World
=====
大
家好

又是一個新手常問的問題:更多呢?四個,五個引號可不可以?答案是不可以,會報錯。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved