python入門到精通教程04-字符串

python字符串創建

  • 常用單引號('')或者雙引號("")創建字符串
  • 多行文本用三個引號(''' '''或者""" """)
  • Python 不支持單字符類型,單字符在 Python 中也是作為一個字符串使用。

單雙引號與三個引號區別:

  • 單雙引號不支持字符串本身換行
  • 三個引號可以保留字符串原格式,包括換行

什麼時候用單引號什麼時候用雙引號:

一般字符串有單引號時用雙引號,同理字符串有雙引號時使用單引號

字符串創建實例

<code>str1 = 'hello,world'
str2 = "hello python"
str3 = "I'm a student" #字符串裡有單引號,使用雙引號創建字符串
str4 = """人生苦短
我要學python
"""/<code>

字符串連接

  • 使用+連接字符串
  • 注意:不能將字符串與非字符串用+連接,如'hello' + 5,會報錯
  • str(5):將數字5轉為字符串5

代碼示例解析

<code>str = 'hello '+'world'
print(str) #輸出 hello world
str2 = 'hello' + 5 #【出錯:字符串+非字符串(數字)】
str3 = 'hello' +str(5) #正確
print(str3) #輸出hello5/<code>

字符串運算

連接:+

原始字符:r或者R

是否存在某個字符:in 或者 not in

代碼示例解析:

<code>str = 'hello '+'world' #字符串連接+
print(str) #輸出 hello world
str2 = r"hello\\n" #原始字符r,不會將\\n轉為換行符
print(str2) #輸出hello\\n
str3 = "hello\\n"
print(str3) #輸出hello並換行,將\\n轉為換行符
res = 'h' in 'hello' # 字符串hello是否存在字符h
print(res) # True

res2 = 'h' not in 'hello' # 字符串hello是否不存在字符h
print(res2) #False/<code>

常用轉義符

  • \\\\:單個反斜槓
  • \\':單引號
  • \":雙引號
  • \\n:換行
  • \\t:橫線製表符,相當於Tab鍵

代碼示例解析:

<code>str = 'male \\\\ female' #\\\\單個反斜槓轉義符
print(str) #輸出:male \\ female
str2 = 'I\\'m a student' #單引號轉義符
print(str2) #輸出:I'm a student
str3 = "I am a student.\\nI am 18 years old." #換行轉義符
print(str3)
"""
輸出
I am a student.
I am 18 years old.
"""
str4 = 'I am a student.\\tI am 18 years old.' #Tab鍵換行符
print(str4) #輸出I am a student.\tI am 18 years old./<code>

字符串切片

  • str[index]:index為下標索引,從0開始,如果索引值為負數則是倒著開始
  • str[start:end]:讀取從索引start開始到索引end-1結束。【注意:不含end,是end-1】
  • str[start:end:step]:讀取從索引start開始,每隔step直到索引end-1結束
  • str[:]:讀取整個字符串
  • str[:end]:讀取從索引0開始到索引end-1結束
  • str[start:]:讀取從索引start開始到結尾

代碼示例解析

<code>str = 'abcdefg'
print(str[1]) #索引為1,輸出:b
print(str[1:6]) #從索引1到5,輸出:bcdef
print(str[1:6:2]) #從索引1開始間隔2,到索引5結束,輸出:bdf
print(str[:]) #全部,輸出:abcdefg
print(str[1:])#從索引1開始到結尾,輸出:bcdefg
print(str[:5]) #從索引0開始到索引4,即前5個,輸出abcde/<code>

字符串常用函數

  • string.capitalize():將字符串第一個字母轉為大寫
  • string.title():將字符串中的單詞首字母轉為大寫
  • string.replace(old,new[,count]):替換
  • string.strip():去除左右空格
  • string.split(sep):拆分字符串
  • string.count(str, beg= 0,end=len(string)):統計字符串出現的次數
  • string.endswith(suffix, beg=0, end=len(string)):判斷字符串是否以suffix結尾
  • string.startswith(substr, beg=0,end=len(string)):檢查字符串是否是以指定子字符串 substr 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查。
  • string.find(sub[,start[,end]]):查找字符:檢測 sub 否包含在字符串中,如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則返回-1
  • string.isalnum():如果字符串至少有一個字符並且所有字符都是字母或數字則返 回 True,否則返回 False
  • string.isalpha():如果字符串至少有一個字符並且所有字符都是字母則返回 True, 否則返回 False
  • string.isdigit():如果字符串只包含數字則返回 True 否則返回 False..
  • string.isnumeric():如果字符串中只包含數字字符,則返回 True,否則返回 False
  • string.isdecimal():檢查字符串是否只包含十進制字符,如果是返回 true,否則返回 false。
  • string.upper():將字符串全部轉為大寫
  • string.lower():將字符串全部轉為小寫
  • len(string):返回字符串長度

代碼示例解析:

<code>str = 'hello,python. i like python'
print(str.capitalize()) #將字符串第一個字母轉為大寫,輸出Hello,python. i like python
print(str.title()) #將單詞首字母變成大寫,輸出Hello,Python. I Like Python
print(str.replace('python','world')) #將str中的python替換world,輸出hello,world. i like world
print(str.replace('python','world',1)) #將str中的python替換world且只替換一次,輸出hello,world. i like python
print(' i am a student '.strip()) #去掉左右邊空格,輸出:i am a student
str2 = 'banner,apple,orange'print(str2.split(',')) #,分隔符,生成列表,輸出['banner', 'apple', 'orange']
print(str2.count(','))#統計字符串str2中,的個數,輸出2
print(str2.endswith('orange')) #True
print(str2.startswith('ban')) #True
print(str2.find('app')) #輸出7
print(str2.find('app2')) #輸出-1
print(len(str2)) #輸出19/<code>

後續課程將會持續更新,歡迎大家點贊評論交流~~~


分享到:


相關文章: