Python資料型別 字串型別

2021-10-08 11:59:10 字數 4474 閱讀 8492

變數名 = str("變數值")
msg = "hello world"

print(msg[0])

print(msg[-1])

msg = "hello\n"

print(len(msg))

msg = "hello world"

print("ello" in msg)

print("lo w" not in msg)

res = print("hello world")

print(res)

msg = "hello world"

res = msg[1:5:1] # [頭:尾:步長]===> 1 2 3 4, 和range(1, 5, 1)用法相似

res1 = msg[:] # 從頭取到尾, 複製整個字串, 但id不變, 等於 res1 = msg

res2 = msg[1:] # 取到末尾, 預設步長為1

res3 = msg[:5] # 從頭取, 預設步長為1

res4 = msg[-1:-3:-1] # 倒著取-1 -2, 步長實為取值方向

res5 = msg[::-1] # 倒著從尾取到頭, 等於[-1::-1]

msg = "test:30:20"  # split按符號切分,和按索引位置msg[1:5:1]切片不同,無須知道切的字元個數

res = msg.split(":", 1) # split("指定符號", 從左到右切分的次數, 不加則全切)

r_res = msg.rsplit(":", 1) # rsplit("指定符號", 從右到左切分的次數, 不加則全切),因為沒步長的概念

msg = ["test", "30", "20"]  # 列表中都是字串,不是整型

res = ":".join(msg) # 列表中只能是同種型別才能join, 否則報錯

print(type(res)) #

msg = "    \n     hello world    \n    "

res = msg.strip()

msg = "!@#$%^() hello ^_^ world ()^%$"

res = msg.strip("()!@#$%^_&*") # strip("")括號中的引號不能省,引號中的指定符號為模糊匹配字串兩邊

msg = "@!#$% hello &^% world &*(^#"

l_res = msg.lstrip("!@#$%^&*()") # strip沒有計數或步長的功能,以此為擴充套件

r_res = msg.rstrip("!@#$%^&*()")

msg = "^@_@^ hello @^_^@ world @^_^@"

res = msg.replace("@^_^@", "", 1) # replace("須替換源", "替換目標,引號中空為去除", 從左到右替換幾次), replace不是改原值,是產生新值

msg = "aabb!@#$%^&ccdd"

l_msg = msg.lower() # lower()中標self, 括號中什麼都不寫

u_msg = msg.upper() # 字串是不可變型別, 所以都是產生新值, 不改原值

msg = "hello"

print(msg.startswith("he")) # 用來條件判斷

print(msg.endswith("lo"))

num1 = b"18"  # bytes

num2 = u"18" # unicode,python3中預設,無需加u就是unicode

print(num1.isdigit()) # 條件判斷,只有整型才為true, 加空格,浮點型都為假

print(num2.isdigit())

age = input("pls input your age: ").strip()  # 適用示例

if age.isdigit():

age = int(age)

if age == 18:

print("bingo")

else:

print("guess wrong")

else:

print("it must be digit.")

num2 = u"18"

num3 = "四" # 中文數字

num4 = "ⅳ" # 羅馬數字

print(num2.isnumeric()) # 和isdigit用法類似

print(num2.isdecimal()) # isdecimal只能判斷str內的阿拉伯整數,其他都不行,識別範圍最小,最精準

print(num3.isnumeric()) # isdigit不能識別中文數字

print(num4.isnumeric()) # isdigit不能識別羅馬數字

print("felix123".isalnum())  # 字串由字母或數字組成

print("felix".isalpha()) # 字串只能由字母組成

print("felix123".islower()) # 字母是否都為小寫, 數字不管

print("felix123".isupper()) # 字母是否都為大寫, 數字不管

print(" ".isspace()) # 是否為空格

print("my name is felix".istitle()) # 只能首字母大寫

msg = "hello world"

res = msg.find("wo", 0, 3) # find("查詢目標", 起始範圍, 結束範圍)顧頭不顧尾,從左往右找子字串在字串**現的第乙個位置

r_res = msg.rfind("wo") # 從右往左找在字串中的第乙個位置,位置計數仍從左往右算

print(res) # 找不到不報錯,結果顯示為-1

i_res = msg.index("woo") # 和find用法一樣,但是找不到會報錯

c_res = msg.count("wo", 1, 9) # count("統計目標", 起始位置, 結束範圍)顧頭不顧尾,從左往右統計子字串在字串**現的次數

name = "felix"

print(name.center(20, "*")) # center(列印寬度, "填充符號"))居中顯示

print(name.ljust(20, "*")) # ljust(列印寬度, "填充符號")靠左顯示

print(name.rjust(20, "*")) # rjust(列印寬度, "填充符號")靠右顯示

print(name.zfill(20)) # zfill(列印寬度), 長度不夠置0, 靠右對齊

print("hello\tworld".expandtabs(1))  # 預設製表符為4個空格,現改為1個
msg = "hello world"

print(msg.capitalize()) # 句首大寫

print(msg.title()) # 每個單詞的首字母大寫

msg_2 = "abcde"

print(msg_2.swapcase()) # 兩極反轉,大寫變小寫,小寫變大寫

x = "felix"

y = "18"

msg = "my name is %s and my age is %s" % (x, y)

print(msg)

x = "felix"

y = "18"

msg_1 = "my name is {} and my age is {}".format(x, y)

msg_2 = "my name is and my age is and ".format(x, y) # 類似列表取值

print(msg_1, msg_2)

msg = "my name is  and my age is ".format(age=18, name="felix")  # name和age都是變數名

print(msg)

x = "felix"

y = "18"

msg = f"my name is and my age is "

print(msg)

Python資料型別 字串

字串 1 python 預設的檔案編碼都是ascii,所以要在編碼的時候加上coding utf 8,中文才不會亂碼。len 函式 是計算字串的長度。正確編碼的長度。b 中文 len b 長度是4 a 中文 decode gbk 或utf 8 print len a 長度是2 2 字串前加r 是不轉...

python資料型別(字串)

計算機人們日常事務的輔助工具,在程式設計中也映 現實世界的分類,因此計算機中也引入類別以便進行抽象分析 數字 字串 元組 列表 字典 int 表示的範圍 2,147,483,648 到 2,147,483,647 例如 0,100,100 num 2147483647 type num 一旦超出,則...

Python資料型別字串

字串就是一系列任意文字。python中的字串用單引號或者雙引號括起來,同時可以使用反斜槓 轉義特殊字元。單引號 和雙引號 本身只是一種表示方式,不是字串的一部分,因此,字串 hello 只有h,e,l,l,o這五個字元。例子 a sdsgf print type a str就是 string 2 如...