Python隨心記---資料型別
阿新 • • 發佈:2018-12-02
資料型別
數字(int)、字串(str)、列表(list)、元祖(tuple)、字典(dict)、布林值(bool)
能被for迴圈的均是可迭代物件
in 和 not in 判斷某個東西是否在某個東西里面 或者不再某個東西里面
name = '夢想' if '夢想' in name: print('ok') else: print('error')
va = user== 'alex' and pwd == '123456' va = user== 'alex' and (pwd == '123456 or 1 == 1)' if True:print('ok')
計算出有多少位元組
num = 123 v = num.bit_length() #可以 print(v)
python3 中不存在長整形int
expandtabs(n) ---函式用法測試
test = 'username\temail\tpassword\nlinyifan\[email protected]\taa123456\nlinyifan\[email protected]\taa123456\n' va = test.expandtabs(20) print(va)
把字母變大寫
name = 'wuyonchun' va = name.upper()#把字母變大寫 print(va)
maketrans 和translate 函式實列
v = 'ashdjaadhjhwjha' m = str.maketrans('aeiou','1234') new_v = translate(m) print(new_v)
for 迴圈
strings='wodepanpanchun' for str in strings: print(str)
建立連續資料
va = range(100) #建立連續資料 va = range(0,100,5) #建立隨機資料 for item in va: print(item)
將文字對應的索引打印出來
va= input('>>>:') l = len(va) rum = range(0,l) for item in range(0,len(va)): print(item,va[item])
隨機驗證碼
def check_code(): import random checkcode = '' for i in range(6): current = random.randrange(0,6) if current != i: temp = chr(random.randrange(65,90)) else: temp = random.randrange(0,9) checkcode += str(temp) return checkcode code = check_code() print(code)
split函式用法
value = input('>>>:') v1,v2 = value.split('+') print(v1) print(v2)
format用法
s = '' while True: name = input('>>>:') pawd = input('>>>:') emai = input('>>>:') template = '{0}\t{1}\t{2}\n' v = template.format(name,pawd,emai) s = s + v
list(列表)
有序
列表中的元素可以是數字、字串、列表、布林值...所有東西都可以放入列表中
列表中的元素是可以修改、刪除
li = [1,2,3,'age',['阿貓',['小老虎','陀陀語'],'阿狗'],59,6,True] li[3:5] #切片取值法;取出來的值也是一個列表 li[3:5] = [11,33] #切片修改元素值 del li[1] #刪除列表中的元素 del li[1:3] #切片刪除列表中的元素 v = 12 in li #判斷12是否在列表中 for item in li: #迴圈列表 print(item) str = 'wupangpangwoaini' list(str) #字串轉列表 列表轉字串,如果列表中存在數字、字串的時候,只能用for迴圈 ''.join(li) #列表轉字串如果列表只有字串,可使用該方法
tuple(元祖)
有序
元祖的一級元素不能被修改、不能被增加或者刪除
建議元祖最後加入','逗號
tuple = (11,22,33,'pangpang',(11,22,33),[(55,66)],True,56,) tuple[0:2] #切片得到的還是元祖 for item in tuple: print(item) tuple(str) #字串轉元祖 tuple(list) #列表轉元祖
dict(字典)
無序
value可以是任何值
布林值、列表、字典不能作為字典的鍵
不能while迴圈
dict = {'k1':18,'k2':True,'k3':[11,22,33,{'kk1':'vv1','kk2':(33,44,55)}]} del dict['k1'] #刪除字典鍵值 for item in dcit.keys(): print(item) for item in dcit.values(): print(item) for k,v in dcit.item(): print(k,v)
常用方法
#數字 int() #字串 replace()、find()、join()、strip()、startswit()、split()、upper()、lowe()、format() #列表 append()、extend()、insert() #字典 get()、update()、keys()、values()、items()
bool(布林)
None、""、()、[]、{}、0 #用bool()判斷前面這些值都為False
變數常用系統方法
int
int() #將字串轉數字 type() #檢視資料型別 num ='0011' v = int(num,base=16) print(v) bit_lenght() #當前數字的二進位制至少用幾位表示
str
str.capitalize() #首字母大寫 str.casefold() #全部小寫 str.lower() #全部轉小寫 str.islower() #判斷是否是小寫 str.upper() #全部轉大寫 str.isupper() #判斷是否是大寫 str.center(width,'*') #設定寬度,並將內容居中,*填充空白,*是可帶可不帶引數 str.count('str',5,10) #統計str在字串中出現的次數,5表示從那兒開始,10表示在哪兒結束 str.endswith('x') #以x結尾 str.starwith('a') #以a開頭 str.find('a',3,5) #尋找a位置,預設從頭開始,3和5表示從3開始,5結束 str.format(name='alex') #把字串中的{name}替換為alex str.format_map({'name':'alex','age':20}) ---把字串中的{name}替換為alex str.index('a') #在字串中查詢a str.isalnum() #判斷字串中是否只包含字母和數字 str.expandtabs() #檢測tabs空格,用於斷句 str.isalpha(str) #判斷是否只包含字母 str.isdecimal() #判斷當前輸入的是否是數字 str.isdigit() #判斷當前輸入的是否是數字 str.numeric() #判斷當前輸入的是否是數字 str.swapcase() #大小寫轉換 str.isidentifier() #字母、數字、下劃線識別符號 str.isprintable() #判斷是否存在不可見的字元 比如\n \t str.isspace() #判斷是否全部是空格 str.title() #把全部首字母大寫 str.istitle() #判斷是否全部首字母大寫 '_'.join(str) #將字串中每一個元素按照指定分隔符進行拼接 str.ljust(20,'*') #左邊填充 str.rjust(20,'*') #右邊填充 str.zfill(20) #預設填充 str.strip() #去掉左右空格、換行,若傳入的字元在字串中存在,則會去掉字串的的該字元 str.rsrip() #去掉右邊的空格、換行、移除指定字元 str.lstrip() #去掉左邊的空格、換行 str.maketrans('aeiou','1234') #過濾敏感字元 str.translate(m) #過濾敏感字元 str.partition('s') #按照s分割 str.rpartition('s') #按照s分割 str.split('s',1) #分割 str.rsplit() #分割 str.splitlines(True) #分割 True保留換行 False 不保留換行 str.startswith('a') #判斷是否以a開頭 str.endswith('a') #判斷是否以a結尾 str.swapcase() #大小寫換行 str[0:1] #獲取字串索引從0到1的值 -1表示取到最後一個 len(str) #統計長度 str.replace('x','w',2) #替換,w替換x,從第二個開始
list
list.append(5) #向列表中最後追加元素,若追加的是列表,則列表中會存為列表形式 list.clear(list) #清空列表 list.copy() #淺拷貝列表 list.count(2) #統計列表元素2出現的個數 list.extend([9898,'pangpang']) #向列表中追加9898、pangpang兩個元素 list.index(1) #根據值找索引(左邊優先) list.insert(0,99) #向指定位置插入(列表的0位置插入99) list.pop() #出棧(不傳參預設最後一個,若傳參則是刪除列表該索引為參的元素) list.remove(1) #刪除列表中指定元素(刪除列表中值為1的元素) list.reverse() #將當前列表翻轉 list.sort(reverse=True) #對列表排序,不傳參為預設升序,傳reverse=True為降序
tuple
tuple.count(1) #統計某個元素出現的次數 tuple.index(1) #獲取某個值的位置
dict
dict.clear() #清空 dict.copy() #淺拷貝 dict.fromkeys(key,values) #把第一個作為鍵,第二個作為值,可以傳字典、列表、元祖 dict.get(key,1111) #根據key取值,如果ke不存在則把1111賦給key dict.item() dict.values() dict.keys() dict.pop(key) #刪除key的值 dict.popitem() #隨機刪除任意一個 dict.setdefault('key','111') #設定鍵值(如果字典中存在該鍵,則不設定獲取當前值,如果不存在就新增鍵值) dict.update({'key':222,'ke':333}) #存在就更新,不存在就新增 dict.update(key=222,ke=333) #存在就更新,不存在就新增