基本數據類型 (int , bool, str)
阿新 • • 發佈:2018-07-25
sdi alex orm money 字符串 用戶登錄 years 判斷字符串 mon 1.基本數據類型
1 int 整數
2 str 字符串 ‘, ‘‘, ‘‘‘, """, 字符串一般不存儲大量數據 ,不容易操作
3 bool 布爾值, Ture,False
4 list [] 列表([]裏放列表的值)
list["sylar",‘太白‘,1,Ture,(),{}]
5 tuple () 元組 只能讀取 不能修改
6 dict {} 字典 查找比較快 key:value,一次存兩個數據 一對一對存
7 set {} 集合 一次存一個 不能重復 ,只存Key 比較少見
2 int
a=5 #0000 0101 print(‘a.bit_length() ‘) #輸出:3
3 Bool str =>int int(str) int =>str str(int) 數字準換成bool值 如果數字是0轉換成False,如果數字不是0轉換成True
a=0 print(bool(a)) #輸出 False
在while循環中 True 和 1 的效率問題 :1的效率高 (計算機無需轉換成ASCII碼直接執行)
while1: #1 ==True print("hello")
bool 轉換成int
a=0 print(int(True)) #輸出 1 print(int(False)) #輸出 0
str轉換成bool ( 非零轉換成True 零準換成False )
a="abc" print(bool(a)) #輸出 True a="123" print(bool(a)) #輸出 True a="" #"" 這個是空字符 print(bool(a)) #輸出 False a=" " #" " 這個是空格 print(bool(a)) #輸出 True a=None # 這個是真的空 print(bool(a))#輸出 False a="None" #這個是字符串 "None" print(bool(a)) #輸出 True
向系統中錄入員工信息,不停地錄入,輸出回車退出
while 1: # while 1 和while True 一個意思 name=input("請輸入用戶信息:") if name != "": print("新員工信息:{}".format(name)) else: break 改寫: while 1: name=input("請輸入用戶信息") if not name: # 判斷 如果不正確 break else: print("新員工信息:"+name)
4 str 1.索引 索引就是下標 下標 從 0 開始 print([""])
# 0 1 2 3 456 7 8 9101112 # 正向 # 0 ...-2-1 s="小老板很帥,他比別人都帥." # 字符串中的第幾個字符 正向從0開始 反向從-1開始 print([3]) #輸出:很 print([5]) #輸出:, print([-1]) #輸出:. print([-9]) #輸出:帥
2.切片 print(s[""]) 切片 顧頭不顧尾 默認從左往右切 不能改變原來字符串 只能產生新的字符串
s="1234567890" print(s[2:5]) #輸出:345 print(s[3:10]) #輸出:4567890 # 如果右邊的值超過字符的長度,切到最後 print(s[2:]) # 切到最後 #輸出:34567890 print(s[-5:]) #切到最後 #輸出:67890 print(s[:]) #全部切出來 #輸出:1234567890 # 可以跳著切 步長 step print(s[1:9:2]) #輸出:2468 print(s[3:8:-1]) #反著切 #輸出不了 反著 從8無法切到3 print(s[-1:-6:-2]) #輸出:086
首字母大寫; 每個單詞首字母大寫
s="xu yang zhen de chou!" s1=s.capitalize() # 首字母大寫 print(s1) s2=s.title() # 標題 ,單詞首字母大寫 除英文字母之外的其它字符全都算分割符 #將字符串分割成兩個甚至多個,分開之後的所有首字母都大寫 print(s2) n="xu y>a@ng zhe=n de cho,u!" n1=s.title() print(n1) #輸出: Xu Y>A@Ng Zhe=N De Cho,U!
全部轉換成大寫 (.upper() ) 字母;全部轉換成小寫 (.lower() ) 字母;大小寫轉換(.swapcase())
name = "taiBai" s1 = name.upper() # 轉換成大寫字母 print(s1) s2 = name.lower() #轉換成小寫字母 print(s2)
# 用戶登錄
while 1: verify_code ="Alex" verify_code_uesr=input("請輸入驗證碼:") if verify_code_uesr==verify_code: print("驗證成功") break else: print(‘驗證失敗‘) 如果出現用戶大小寫輸入有誤 驗證不成功,那麽改成大小寫輸入都能夠驗證成功 while 1: verify_code ="alex" verify_code_uesr=input("請輸入驗證碼:") if verify_code_uesr.upper()==verify_code.upper(): print("驗證成功") break else: print(‘驗證失敗‘) s = "alexAndEggonAndRiTian" s1 = s.swapcase() # 大小寫轉換 print(s1) s2 = "БB?" # 俄美德 print(s2) print(s2.lower()) print(s2.casefold())
居中 (.center) ; \t 一個TAB ;
s = "alex" s1 = s.center(15, "*") # 拉長成10個字符. 由*進行填充 print(s1) # 輸出 ******alex***** s = "al\twusir" #/t TAB s1 = s.expandtabs() print(s) print(s1) # 輸出 al wusir al wusir
去除兩邊空格(.strip) (.lstrip)去除左邊空格 (.rstrip)去除右邊空格
s=" alxe, xueyang, sylar, boss,熊大 " s1=s.strip() print(s1) s2=s.lstrip() print(s2) s3=s.rstrip() print(s3)
字符串切割(.split) 切割的結果是列表 如果原字符跟用來切割的字符一樣得到兩個空字符 在開頭結尾如果出現用於切割的字符一定會得到空字符
s = "李嘉誠_王健林_馬雲_劉東強_alex" lst = s.split("_") # 字符串切割. 切割的結果是列表 print(lst[0]) print(lst[1]) print(lst[2]) print(lst[3]) print(lst[4]) 輸入: 李嘉誠 王健林 馬雲 劉東強 alex s = "李嘉誠王健林麻花藤周傑倫" lst = s.split("李嘉誠王健林麻花藤周傑倫") # 如果原字符串和刀一樣.得到的是兩個空字符串 lst = s.split("馬雲") # 如果不存在.得到的是原字符串 lst = s.split("") # empty separator 報錯 print(lst) s.split() s = "a_b_c_d_e_f_g" lst = s.split("_", 2) # 第二個參數. 切的次數 print(lst) s = "周傑倫_周潤發_周星馳_周星星" lst = s.split("周傑倫") print(lst) lst = s.split("周星星") print(lst) # 在開頭和結尾如果出現了你的刀. 一定會出現空字符串
字符串替換
# 字符串替換 s8 = "sylar_alex_taibai_wusir_eggon" ret = s8.replace(‘alex‘, ‘金角大王‘) # 把alex替換成金角大王 print(s8) # sylar_alex_taibai_wusir_eggon 切記, 字符串是不可變對象. 所有操作都是產生新字符串返回 print(ret) # sylar_金角大王_taibai_wusir_eggon
格式化輸出 (.format())
# %s 字符串 # %d 數字站位 print("%s很帥, 你信嗎?" % "我") print("{}很帥, {}信嗎?, 不信給你{}錢".format("旭哥", "我們", 100)) print("{1}很帥, {0}信嗎?, 不信給你{2}錢".format("旭哥", "我們", 100)) print("{person1}很帥, {person2}信嗎?, 不信給你{money}錢".format(person1="旭哥", person2="我們", money=100))
數數 (count) :計算字符在字符串中出現的次數,如果沒有出現返回0 查找(find) :如果你要查找的內容不存在,返回 -1,如果存在返回索引 求索引(index):如果找不到報錯
#count 數數 s = "alex wusir taibai 女神" print(s.count("ai")) # 計算ai在原字符串中出現的次數 如果沒出現返回0 # find 查找 s = "明天周末了.你們打算幹什麽去?" print(s.find("了")) # 如果你要查找的內容不存在. 返回-1, 如果存在返回索引 #index 求索引 s = "下周我們要考試了. 你們慌不慌" print(s.index("你大爺")) # 如果找不到報錯
條件判斷 判斷字符是不是以XXX開頭(,startswith("") 或者以XXX結尾(.endswith(""))
s = "寫個啥呢? 哈哈哈" # 判斷字符串是否以xxx開頭 print(s.startswith("寫個啥呢")) # 判斷字符串是否以xxx結尾 print(s.endswith("哈哈哈"))
判斷是否是字母和數字組成
s = "abcdefg" print(s.isalnum()) # 數字和字母 print(s.isdigit()) # 數字 print(s.isalpha()) # 字母 # 輸出 True False True
求字符串長度 len("")
s = "abcde" ret = len(s) # 內置函數 print(ret) print("你好") #練習, 計算在字符串"I am sylar, I‘m 14 years old, I have 2 dogs!" 出現過多少個數字. 個位為單位 s="I am sylar, I‘m 14 years old, I have 2 dogs!" count=0 for w in s : if w.isdigit(): count=count+1 print(count)
基本數據類型 (int , bool, str)