變數名 = 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 如...