s = "abcdefg"
# 字串資料,切片後取出的資料都是字串型別
# 從左至右取值:從0開始
# 從右向左取值:從-1開始
print("s[0]:%s" % s[0]) # a
print("s[-1]:%s" % s[-1]) # g
s = "abcdefg"
s1 = s[:] # 取全部
s2 = s[::2] # 從左至右取值,步長為2 aceg
s3 = s[2::-1] # 從2下標開始向左取值,步長為1 cba
s4 = s[-1::-2] # 從-1下標開始向左取值,步長為2 geca
s5 = s[2:5] # 從2下表開始取值,到5下表截至,不包含5 cde
# 字串的常用操作方法 字串操作不會對原有字串進行改變
s = "taibai"
word = "hello world"
print(s.count("i")) # 統計字串中xx出現次數 返回資料int 2
print(s.upper()) # 字串整個轉換為大寫 taibai
print(s.lower()) # 字串整個轉換為小寫 taibai
print(s.capitalize()) # 字串首字母轉換為大寫 taibai
print(word.capitalize()) # 整個字串首字母轉換為大寫(整個字串看為乙個整體)hello world
print(s) # 字串操作不會對原有字串進行改變 taibai
# 應用 驗證碼不區分大小寫(統一轉換為大寫或小寫)
user_name = input("請輸入使用者名稱:")
password = input("請輸入密碼:")
code = "qwer"
your_code = input("請輸入驗證碼(不區分大小寫):")
if your_code.lower() == code.lower():
if user_name == "zhangsan" and password == "1234":
print("登入成功")
else:
print("驗證碼或密碼錯誤")
else:
print("驗證碼錯誤")
# strip 去空(去除左右空格) 包含:\n、\t
str1 = " \nabcd31 12 \t"
print(str1.strip())
print(len(str1)) # 27 去空後,不影響原有字串
# lstrip 去除左邊空格
print(str1.lstrip())
# rlstrip 去除右邊空格
print(len(str1.rstrip())) # 去除右邊空格
# join 字串拼接(用什麼把字串拼接起來)
str1 = "abcd" # 如果被拼接元素是字串,則把字串拆分成單獨元素,再進行拼接
print("+".join(str1)) # a+b+c+d
str2 = ["a1", "a2" ,"a3"] # 被拼接元素如果是列表,則列表中元素必須是字串,如果是數字,則會報錯
print(":".join(str2)) # 拼接後:a1:a2:a3
# split 把字串以某元素分割 分割成多個字串,放在列表中,不包含分割元素
str1 = "abcdefg"
print(str1.split("b")) # 分割後:['a', 'cdefg']
str2 = ":abd:def:efg:fgh"
print(str2.split(":", 2)) # 2為分割次數,表示分割兩次 分割後:['', 'abd', 'def:efg:fgh']
# count 統計字串出現次數
str1 = "abcdabcdefabceasd"
print(str1.count("abc")) # 3
# format
msg = "我叫{},今年{},就讀於{}"
msg1 = msg.format("張三", 18, "墨爾本大學")
print(msg1) # 我叫張三,今年18,就讀於墨爾本大學
# 可以直接再字串後拼接
msg3 = "我叫{},今年{},就讀於{}".format("李四", 25, "北京大學")
print(msg3) # 我叫李四,今年25,就讀於北京大學
# 使用索引的方法,可以減少format後引數的個數,重複引數不用寫多次
msg3 = "我叫,今年,就讀於,不管我去到哪,我都叫".format("李四", 25, "北京大學")
print(msg3) # 我叫李四,今年25,就讀於北京大學,不管我去到哪,我都叫李四
# 使用引數名的方法傳遞,format後引數指定引數值
msg4 = "我叫,今年,就讀於,不管我去到哪,我都叫".format(age=25, adu="北京大學", name="李四")
print(msg4)
# is系列 判斷是否是什麼型別
a = "abc"
b = "abc123"
# isalnum 字串由字母或數字組成
print(a.isalnum()) # true
print(b.isalnum()) # true
# isdecimal 字串只由十進位制組成 不包含羅馬數字,中文數字,小數
print(a.isdecimal()) # false
print(b.isdecimal()) # false
# isalpha 字串只由字母組成
print(a.isalpha()) # true
print(b.isalpha()) # false
# isdigit 判斷是否是整數 不包含羅馬數字,中文數字,小數
num1 = "1234"
num2 = "1234abc"
print(num1.isdigit()) # true
print(num2.isdigit()) # false
# 應用 判斷是否是小數
"""1、判斷小數點個數是否是1 count
2、以小數點分割 判斷小數點右邊是否是整數
3、判斷小數點左邊
是整數isdigit
如果是負整數
"""def is_float(s):
str1 = str(s)
if str1.count(".") == 1:
left = str1.split(".")[0]
right = str1.split(".")[1]
if right.isdigit():
if left.count("-") == 1 and left.startswith("-"):
num3 = left.split("-")[-1]
if num3.isdigit():
return true
elif right.isdigit():
return true
else:
return false
# 呼叫is_float函式執行
price = input("請輸入商品**:")
if is_float(price):
print("輸入正確:%s" % price)
else:
print("輸入有誤:%s" % price)
python基礎學習字串操作
常用的字串操作 somestring.capitalize 首字母大寫,不需要引數 somestring.lower 將字母轉換為小寫 somestring.upper 將字母轉換為大寫 somestring.count 統計引數出現的次數 somestring.find 查詢引數的索引 somes...
Python學習 字串
前面學了基本的python語法和內容後也會寫一些程式了,每寫完乙個程式都有莫大的自豪感 成就感,學習python一定要盡可能自己琢磨演算法和程式語言的使用,穩步提公升,語法又上線,演算法無止境,嘻嘻!今天決定好好介紹下字串 序列 字串的格式化輸出 以及字串的轉義字元。1 序列中的所有元素都是有編號的...
Python學習 字串
python的字串和c語言中的字串有著很多的差異,在python中無論是雙引號還是單引號中的字元都是字串。使用起來相對靈活。例如 this is a string 或者 this is a string 對於字串內部存在引號內容,在python中可以有一種簡易的做法 this is a string...