零基礎小白學習:python之最詳細字串篇
阿新 • • 發佈:2020-10-14
python中引號引起來的就是字串
索引
索引(下標)通過索引下標可以精確的地位到某個元素
# 變數名未 titl的字串
title = 'python最NB'
print(title[0])
# 控制檯輸出 p
print(title[1])
# 控制檯輸出 y
print(title[5])
# 控制檯輸出 n
print(title[-1])
# 控制檯輸出 B
複製程式碼
切片
# 切片 language = 'python, java, javascript, c, c++, c#' # 第一個引數是開始的索引下標, 第二個是結束的索引下標,(但是不會取到最後一個索引的元素, xxx[x:y] (y-1)) # 從索引為0的位置開始,取後面所有元素 print(language[0:]) # 控制檯輸出 python, java, javascript, c, c++, c# # 從倒數索引的第一個元素開始,向前面取,取所有元素。 print(language[:-1]) # 此時不包含 #元素, # 控制檯輸出 python, java, javascript, c, c++, c # 從索引為0個元素開始,取到第6個元素。 print(language[0:6]) # 控制檯輸出 pytho # 從索引為8的元素開始,取到第12個元素。 print(language[8:12]) # 控制檯輸出 java # 從索引為14的元素開始,取到第24個元素。 print(language[14:24]) # 控制檯輸出 javascript # 步長 # **[起始位置:終止位置:步長] 步長預設為1** # 從索引為0的元素開始,取得末尾, 步長為1 print(language[0::1]) # 控制檯輸出 python, java, javascript, c, c++, c# # 從索引為0的元素開始,取得末尾, 步長為2 print(language[0::2]) # 控制檯輸出 pto,jv,jvsrp,c +,c # 從索引為8的元素開始,到索引為24的元素結束, 步長為 4 print(language[8:24:4]) # 控制檯輸出 j,vr # 從索引為24的元素開始,到索引為24的元素結束, 步長為 6 print(language[24:-1:6]) # 控制檯輸出 ,+ print(language[100:800:50]) # 切片的時候起始位置和終止位置都超出的時候不會進行報錯 # print(language[100]) # 索引的時候索引值超出範圍的時候會報錯 複製程式碼
字串方法
如果大家在學習中遇到困難,想找一個python學習交流環境,可以加入我們的python圈,裙號930900780,可領取python學習資料,會節約很多時間,減少很多遇到的難題。
字串大小寫方法
# 定義變數名為 message 的字串 message = "I'm a string method" # 字串全小寫 print(message.lower()) # 控制檯輸出 i'm a string method # 字串全大寫 print(message.upper()) # 控制檯輸出 I'M A STRING METHOD # 引用場景 code = input('請輸入驗證碼(ABCD):') if code.upper() == 'ABCD': print('驗證碼正確') else: print('驗證碼錯誤!請重試。。。') 複製程式碼
首字母大寫
message = 'python'
print(message.capitalize())
# 控制檯輸出 Python
複製程式碼
每個單詞首字母大寫
message = 'Python is the best language in the world'
print(message.title())
# # 控制檯輸出 Python Is The Best Language In The World
複製程式碼
大小寫反轉
message = 'Python is the best language in the world' print(message.swapcase()) # 控制檯輸出 pYTHON IS THE BEST LANGUAGE IN THE WORLD 複製程式碼
以什麼開頭 startswith()
# startswith()方法用於檢查字串是否是以指定子字串開頭,如果是則返回True,否則返回False。如果引數 beg 和 end 指定值,則在指定範圍內檢查
# startswith()方法語法:
# str.startswith(str, beg=0,end=len(string));
# 引數
# str -- 檢測的字串。
# strbeg -- 可選引數用於設定字串檢測的起始位置。
# strend -- 可選引數用於設定字串檢測的結束位置。
message = 'startswith'
print(message.startswith('s'))
# 控制檯輸出 True
message = 'startswith'
print(message.startswith('s', 1, 5))
# 控制檯輸出 False
message = 'startswith'
print(message.startswith('s', 5, -1))
# 控制檯輸出 True
複製程式碼
以什麼結尾 endswith()
# 以什麼結尾
# endswith()方法用於檢查字串是否是以指定子字串開頭,如果是則返回True,否則返回False。如果引數 beg 和 end 指定值,則在指定範圍內檢查
# endswith()方法語法:
# str.endswith(str, beg=0,end=len(string));
# 引數
# str -- 檢測的字串。
# strbeg -- 可選引數用於設定字串檢測的起始位置。
# strend -- 可選引數用於設定字串檢測的結束位置。
message = 'endswith'
print(message.endswith('h'))
# 控制檯輸出 True
print(message.endswith('s'))
# 控制檯輸出 False
複製程式碼
統計
# Python count() 方法用於統計字串裡某個字元出現的次數。可選引數為在字串搜尋的開始與結束位置
# str.count(sub, start= 0,end=len(string))
# 引數
# sub -- 搜尋的子字串
# start -- 字串開始搜尋的位置。預設為第一個字元,第一個字元索引值為0。
# end -- 字串中結束搜尋的位置。字元中第一個字元的索引為 0。預設為字串的最後一個位置。
message = 'abcabcsdeflsdksdasd'
# 查詢message字串中 s字元出現了幾次
print(message.count('s'))
# 控制檯輸出 4
# 查詢message字串中 a字元出現了幾次
print(message.count('a'))
# 控制檯輸出 3
複製程式碼
# Python strip() 方法用於移除字串頭尾指定的字元(預設為空格)或字元序列。
#
# 注意:該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。
#
# 語法
# strip()方法語法:
#
# str.strip([chars]);
# 引數
# chars -- 移除字串頭尾指定的字元序列。
message = '**nmb**'
# 去掉頭和尾的 **字元
print(message.strip('**'))
# # 控制檯輸出 nmb
# 注意刪除多個字元時:只要頭尾有對應其中的某個字元即刪除,不考慮順序,直到遇到第一個不包含在其中的字元為止。
message = '123132231213321312==321312213231123132'
print(message.strip('123'))
# # 控制檯輸出 ==
複製程式碼
分割 split()
# 分割:以空格和換行符以及製表符進行分割 或者任意符合
# split() 方法語法:
#
# str.split(str="", num=string.count(str)).
# 引數
# str -- 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等。
# num -- 分割次數。預設為 -1, 即分隔所有。
# 返回值
# 返回分割後的字串列表。
message = '*1 *2* 3*4 *5* 6*7'
# 以 空格' 號分割
print(message.split())
# 控制檯輸出['*1', '*2*', '3*4', '*5*', '6*7']
# 以 * 號分割
print(message.split('*'))
# 控制檯輸出 ['', '1 ', '2', ' 3', '4 ', '5', ' 6', '7']
複製程式碼
替換 replace()
# 替換
# 語法
# replace()方法語法:
#
# str.replace(old, new[, max])
# 引數
# old -- 將被替換的子字串。
# new -- 新字串,用於替換old子字串。
# max -- 可選字串, 替換不超過 max 次
# 返回值
# 返回字串中的 old(舊字串) 替換成 new(新字串)後生成的新字串,如果指定第三個引數max,則替換不超過 max 次。
message = 'java是世界上最好的語言'
# 將 java 替換為 python
print(message.replace('java', 'python'))
# 控制檯輸出 python是世界上最好的語言
複製程式碼
居中---填充
# Python center() 返回一個原字串居中,並使用空格填充至長度 width 的新字串。預設填充字元為空格。
#
# 語法
# center()方法語法:
#
# str.center(width[, fillchar])
# 引數
# width -- 字串的總寬度。
# fillchar -- 填充字元。
# 返回值
# 該方法返回一個原字串居中,並使用空格填充至長度 width 的新字串。
message = 'python'
print(message.center(30, '*'))
# 控制檯輸出 ************python************
複製程式碼
查詢
# Python find() 方法檢測字串中是否包含子字串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,如果包含子字串返回開始的索引值,否則返回-1。
#
# 語法
# find()方法語法:
#
# str.find(str, beg=0, end=len(string))
# 引數
# str -- 指定檢索的字串
# beg -- 開始索引,預設為0。
# end -- 結束索引,預設為字串的長度。
# 返回值
# 如果包含子字串返回開始的索引值,否則返回-1。
message = 'python'
print(message.find('n'))
# 控制檯輸出 5
print(message.find('h', 0, 4))
# 控制檯輸出 3
print(message.find('n', 2, 4))
# 控制檯輸出 -1
複製程式碼
查詢
# 查詢
# Python index() 方法檢測字串中是否包含子字串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,(該方法與 python find()方法一樣,只不過如果str不在 string中會報一個異常。 現在好像不會了)
#
# 語法
# index()方法語法:
#
# str.index(str, beg=0, end=len(string))
# 引數
# str -- 指定檢索的字串
# beg -- 開始索引,預設為0。
# end -- 結束索引,預設為字串的長度。
# 返回值
# 如果包含子字串返回開始的索引值,否則丟擲異常。
message = 'python'
print(message.index('o'))
# # 控制檯輸出 4
print(message.index('n'))
# # 控制檯輸出 5
#
print(message.index('h', 0, 4))
# # 控制檯輸出 3
# print(message.index('x', 0, 4))
# # 控制檯輸出
# Traceback (most recent call last):
# File "C:\Users\Administrator\Desktop\py\py_01_字串.py", line 280, in <module>
# print(message.index('x', 0, 4))
# ValueError: substring not found
複製程式碼
拼接
# Python join() 方法用於將序列中的元素以指定的字元連線生成一個新的字串。
#
# 語法
# join()方法語法:
#
# str.join(sequence)
# 引數
# sequence -- 要連線的元素序列。
# 返回值
# 返回通過指定字元連線序列中元素後生成的新字串
message = 'python'
print('*'.join(message))
# 控制檯輸出 p*y*t*h*o*n
複製程式碼
格式化 format()
# 按照位置順序進行填充
name = "python{},{},{}"
print(name.format(1, 2, 3))
# 控制檯輸出 python1,2,3
# # 按照索引值進行填充
name = "python{2},{0},{1}"
print(name.format("a", "b", "c"))
# 控制檯輸出 pythonc,a,b
# # 按照關鍵字進行填充
name = "python{a},{b},{c}"
print(name.format(a=1, c=2, b=3))
# 控制檯輸出 python1,3,2
複製程式碼
is 系列
# num = 'python'
# 判斷是不是字母,數字,中文
# print(num.isalnum())
# 控制檯輸出 true
# message = 'pppppppp'
# # 判斷是不是字母,中文
# print(message.isalpha())
# # 控制檯輸出 true
# message = '11111111111d'
# # 判斷字串是不是全都是阿拉伯數字
# print(message.isdigit())
# # # 控制檯輸出 false
# message = '11111111111'
# # 判斷字串是不是全都是阿拉伯數字
# print(message.isdigit())
# # # 控制檯輸出 true
message = '1233'
# 判斷是否是十進位制
print(message.isdecimal())
# # # 控制檯輸出 true
message = '1233d'
# 判斷是否是十進位制
print(message.isdecimal())
# # # 控制檯輸出 false
複製程式碼
這裡還有很多未列出的方法,那就只有小夥伴們自己學習和發現了!
最後多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python指令碼到web開發、爬蟲、資料分析、資料視覺化、機器學習等。想要這些資料的可以進裙930900780領取。
本文章素材來源於網路,如有侵權請聯絡刪除。