1. 程式人生 > >Python隨心記---資料型別

Python隨心記---資料型別

資料型別
數字(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)   #存在就更新,不存在就新增