1. 程式人生 > >python中的字串以及內建方法

python中的字串以及內建方法

字串的操作方法

+  字串連線操作

str1 = "大金鍊子"
str2 = "小手錶"
str3 = str1 + str2
print(str3)
*  字串複製操作

str1 = "大金鍊子"
str2 = "小手錶"
str3 = str1*3
print(str3)

[] 字串索引操作,通過索引訪問指定位置的字元,索引從0開始
[::] 字串取片操作
    完整格式:[開始索引:結束索引:間隔值]
    [:結束索引]  從開頭擷取到結束索引之前
    [開始索引:]  從開始索引擷取到字串的最後
    [開始索引:結束索引]  從開始索引擷取到結束索引之前
    [:]  擷取所有字串
    [開始索引:結束索引:間隔值]  從開始索引擷取到結束索引之前按照指定的間隔擷取字元
r'字串'   元字串,所有字串中的轉義字元不會轉義,當作普通字元
str1 = "大金鍊子小手錶,一天三頓小燒烤,青春獻給小酒桌,怎麼澎湃怎麼喝!"

print(str1[:7])
print(str1[12:15])
print(str1[-8:])
print(str1[36:])
print(str1[::3])
print(str1[::-2])
#擷取"烤燒小"
print(str1[11:14:-1])
#擷取 桌小獻
print(str1[-10:-15:-2])
print(str1[22:17:-2])

字串函式

capitalize()

功能:首字母大寫
格式:字串.capitalize()
返回值:新字串
str2 = str1.capitalize()
str3 = str1.title()
print(str2)
print(str3)

upper()將所有小寫字母變成大寫 lower()將所有大寫字母小寫

 str2 = str1.upper()
 print(str2)
 str3 = str2.lower()
 print(str3)

swapcase()大小寫互換

 str2 = str1.swapcase()
 print(str2)

len() 計算字串的長度

val = len(str1)
print(val)

count() 統計字串中某個元素的數量

 val = str1.count("a")
 print(val)

find() 查詢某個字串第一次出現的索引位置

str2 = str1.find("t",2,10)
print(str2)

startswith() 判斷是否以某個字元為開頭

 str2 = str1.startswith("t",4)
 print(str2)

endswith() 判斷是否以某個字元結尾

str2 = str1.endswith("T")
print(str2)

isupper() 判斷字串是否都是大寫字母

str3 = "THIS Is A"
str2 = str3.isupper()
print(str2)

islower() 判斷字串是否都是小寫字母

# str3 = "this is "
# str2 = str3.islower()
# print(str2)

isalnum() 判斷字串是否是由數字、字母、漢字組成

# str3 = "thisisa12"
# str2 = str3.isalnum()
# print(str2)

isalpha() 判斷字串是否由字母和文字組成

# str3 = "thisisπ"
# str2 = str3.isalpha()
# print(str2)

isdigit() 判斷是否是由十進位制數字組成的

# str2 = "15"
# str3 = str2.isdigit()
# print(str3)

isnumeric() 判斷是否是數字組成的字串

# str2 = "123"
# str3 = str2.isnumeric()
# print(str3)

isdecimal() 判斷是否是數值組成的字串

# str2 = "123"
# str3 = str2.isdecimal()
# print(str3)
​
# L = ["A","1","bc","26","89",22]
# sum1 = 0
# for val in L:
#     if val.isdigit():
#         val1 = int(val)
#         sum1 += val1
# print(sum1)

isspace() 判斷字串是否由空白符組成

# str3 = "\r\n"
# str2 = str3.isspace()
# print(str2)

istitle() 判斷字串是否每個單詞都首字母大寫

# str3 = "This Is a Test"
# str2 = str3.istitle()
# print(str2)

split() 按照指定的字元進行切分,預設按照空格

# str2 = str1.split()
# print(str2)
# str3 = str1.split("T")
# print(str3)

splitlines() 按照換行來進行切分

# str3 = "this is \n a \n test"
# str2 = str3.splitlines()
# print(str2)
​
# str3 = """this is
# a
# test"""
# str2 = str3.splitlines()
# print(str2)

join() 字串拼接

# str1 = "@"
# str2 = "this"
# str3 = str1.join(str2)
# print(str3)
# str4 = " ".join(str2)
# print(str4)
# str5 = ["this "," is","a","test"]
# str6 = str1.join(str5)
# print(str6)

zfill() 填充字串

# str1 = "this"
# str2 = str1.zfill(10)
# print(str2)

center() 填充字串 然後字串居中

# str1 = "this"
# str2 = str1.center(10,"#")
# print(str2)

ljust() 字串居左填充

# str1 = "this"
# str2 = str1.ljust(10,"$")
# print(str2)

rjust() 字串居右填充

# str1 = "this"
# str2 = str1.rjust(10,"%")
# print(str2)

strip() 去掉指定的字串 預設去掉換行

# str1 = "this"
# print(str1)
# str2 = str1.strip("t").strip("h")
# print(str2)

rstrip() 從右邊去掉某個字元

# str1 = "this"
# print(str1)
# str2 = str1.rstrip("s")
# print(str2)

lstrip() 從左邊去掉某個字元

# str1 = "this"
# print(str1)
# str2 = str1.lstrip("t")
# print(str2)

maketrans() 和 translate()

"""
maketrans()
    功能:製作用於字串替換的對映表
    格式: 字串.maketrans('查詢字元','替換字元')    兩個字元必須長度相等
    返回值:字典
​
translate()
    功能:進行字串替換操作
    格式:字串.translate(對映表)
    返回值:替換之後的字串
"""
​
# str1 = "this is a test"
# str2 = str1.maketrans("t","Y")
# print(str2)
# str3 = str1.translate(str2)
# print(str3)

format 格式化字串

語法: 它通過{}和:來代替%。

注意: 字串的format函式可以接受無限個引數,位置可以不按順序,可以不用或者用多次,不過2.6不能為空{},2.7才可以。

順序傳參

# str1 = "{} say hello to {}"
# str2 = str1.format("jack","jerry")
# print(str2)

按照索引值進行傳參 注意:大括號中傳遞得是Index值,不要超出索引範圍

# str1 = "{1} say hello to {0}"
# str2 = str1.format("jack","jerry")
# print(str2)

按照索引來進行傳參

# str1 = "{0[1]} say hello to {0[0]}"
# str2 = str1.format(["jack","jerry"])
# print(str2)

關鍵字來進行傳參

# str1 = "{name} is {age} years old!"
# str2 = str1.format(name = "tom",age = 100)
# print(str2)

填充

"""
居中 ^
左對齊 <
右對齊 >
"""
# 填充格式寫在前邊  要填充的字元在format引數中
# str1 = "this"
# str2 = "{:$^10}".format(str1)
# print(str2)
​
# str1 = "this"
# str2 = "{:$<10}".format(str1)
# print(str2)
​
# str1 = "this"
# str2 = "{:$>10}".format(str1)
# print(str2)

調整精度(四捨五入)

# str1 = "{:.2f}".format(1.2434)
# print(str1)

進位制轉換

# str1 = "{:b}".format(17)
# print(str1)
#
# str1 = "{:o}".format(17)
# print(str1)
#
# str1 = "{:d}".format(17)
# print(str1)
#
# str1 = "{:x}".format(17)
# print(str1)

逗號,還能用來做金額的千位分隔符:

# str1 = "{:,}".format(123456789)
# print(str1)