python基礎--數據類型的經常使用方法1

一、數字類型python

    整型git

        用途:存qq號,手機號,不帶字母的身份證號...api

        進制轉換:app

            二進制轉十進制:10 -->  1*(2**1) + 0*(2**0) 2spa

            八進制轉十進制:  235  -->  2*(8**2) + 3*(8**1) + 5*(8**0)code

            十六進制轉十進制:217  -->  2*(16**2) + 1*(16**1) + 7*(16**0)orm

            int能夠能夠傳一個參數,表示的是第一個參數究竟是什麼類型的,而後轉成十進制的。blog

            十進制轉二進制: print(bin(12)) --> 0b1100 0b表示後面的數字是二進制數索引

            十進制轉八進制: print(oct(12)) --> 0o14 0o表示後面的數字是八進制數 14 >>> 1*(8**1) + 4*(8**0))ip

            十進制轉十六進制: print(hex(12)) --> 0xc 0x表示後面的數字是十六進制數

        總結:

            存一個值、不可變(可變:只改變的狀況下,id不變,說明你改的是原值      不可變:只改變的狀況下id必定變)、有序:但凡是有索引的數據都是有序的            

        

    浮點型

        用途:薪資、身高、體重

        

二、字符類型及內置方法

    用途:描述性

    定義方式:單引號、雙引號、三引號  -->  s = 'hello baby'  # str('hello baby')

    經常使用操做及內置方法:

        一、按索引取值(正向取+反向取) :只能取

            # s = 'hello big baby~'

            # print(s[0])

        二、切片(顧頭不顧尾,步長):從一個大的字符串中截取一段新的小字符串
          左邊的固定就是頭,右邊固定就是位 沒有說按數字來分頭尾

s = 'hello world i am a baby'
print
(s[0:5]) # hello print(s[0:10:1]) # hello 步長不寫默認是1 print(s[0:10:2]) # 步長表示隔幾個取一個 #瞭解負數取值 print(s[-1]) print(s[0:5:-2]) # 切片取值默認是從左往右的 print(s[5:0:-1]) # 切片取值默認是從左往右的 print(s[-1:-10:-1])

 

        

        三、長度len:統計的是字符串中字符的個數

s1 = ' '
print(len(s1))
#四、成員運算in和not in: 判斷一個子字符串是否存在於一個大的字符串中
print('wiliam' in 'william is dsb and william is sb')
print('g' in 'john is dsb and john is sb')
print('john' not in 'john is dsb and john is sb')

 

 

        五、去掉字符串左右兩邊的字符strip,無論中間的

username = input('>>>:').strip()
if username == 'william':
     print('good job')
# strip()默認去除字符串首尾的空格
# 使用內置的方法統一採用 句點符(.)
name1 = 'william'
name2 = '   william   '.strip()
print(name1 == name2)
name3 = '$$$$$will$iam$$$$'
print(name3.strip('$'))
# 瞭解便可
name4 = '% ¥#william&*)'
print(name4.strip('% ¥#)'))
# rstrip() lstrip()
name5 = '$$$$william$$$$'
print(name5.lstrip('$'))  # left左邊
print(name5.rstrip('$'))  # right右邊

 

 

        六、切分split:針對按照某種分隔符組織的字符串,能夠用split將其切分紅列表,進而進行取值

data = 'william n|123| handsome'
print(data.split('|'))
username,password,info = data.split('|')
print(username,password,info)
# 強調:split切分出來的數據類型是一個列表
print(data.split('o'))  # 切割的順序其實從左往右的
print(data.split('o',1))  # 切割的順序其實從左往右的
print(data.rsplit('o',1))  # 切割的順序其實從左往右的
# 若是不指定那麼split和rsplit效果是同樣

  

        七、循環

for i in data:
    print(i)

    須要掌握的:

        二、lower,upper

s = 'WiLL1Iam'
res = s.lower()
print(res)
print(s)
print(s.upper())
print(s)
# 調用字符串的方法並無改變字符串自己

        

        三、startswith,endswith

s1 = 'john is dsb'
print(s1.startswith('e'))  # 判斷字符串是否以什麼什麼開頭
print(s1.endswith('n'))  # 判斷字符串是否以什麼什麼結尾

  

        四、format的三種玩法(python推薦使用format作格式化輸出)

# 第一種  按位置佔位   跟%s原理一致
str1 = 'my name is {} my age is {}'.format('william',18)
str1 = 'my name is {} my age is {}'.format(18,'william',)
print(str1)
# 第二種  按索引佔位
str1 = 'my {1} name is {0} my {0} age is {0}'.format('william',18)
print(str1)
# 第三種  指名道姓佔位(關鍵字傳參)
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='wililam',age=18)
print(str1)

 

 

        六、join

data = 'william|123|william'
res_list = data.split('|')
print(res_list)
#
res_str = '$'.join(res_list)  # 將容器類型中的多個元素經過指定字符拼接成一個字符串
print(res_str)
l = ['1','a','b']
res = '|'.join(l)
print(res)

 

    

        七、replace

str = 'john is dsb and john is sb he has a BENZ'
res = str.replace('william','john',1)
print(res)
print(str)

 

    

        


        八、isdigit # 判斷字符串中包含的是否爲純數字

while True:
    age = input('>>>:')
    if age.isdigit():
        age = int(age)
        if age > 28:
            print('阿姨好')
    else:
        print('你他媽的能不能好好輸')

 

  

    須要瞭解的內置方法:

        一、find,rfind,index,rindex,count

s = 'william is dsb o and william is sb'
print(s.find('dsb'))  # 返回的是d字符所在的索引值
print(s.find('xxx'))  # 找不到的時候不報錯返回的是-1
print(s.find('i',0,3))  # 還能夠經過索引來限制查找範圍
print(s.index('o'))  # 返回所傳字符所在的索引值
print(s.index('i',0,3))  # 返回所傳字符所在的索引值
print(s.count('n'))  # 統計字符出現的次數

 

        

        二、center,ljust,rjust,zfill

s9 = 'william'
print(s9.center(12,'*'))
print(s9.ljust(40,'$'))
print(s9.rjust(40,'$'))
print(s9.rjust(40,' '))
print(s9.zfill(40))

 

    

         三、expandtabs     

s10 = 'a\tbc'
print(s10.expandtabs(100))

 

 

         四、captalize,swapcase,title    

s12 = 'hElLo WoRLD wililam'
print(s12.capitalize())  # Hello world 首字母大寫
print(s12.swapcase())  # 大小寫互換
print(s12.title())  # 每一個單詞的首字母大小

 

 

          #五、is數字系列

num1=b'4' #bytes
num2=u'4' #unicode,python3中無需加u就是unicode
num3='' #中文數字
num4='' #羅馬數字
# ''.isnumeric(): unicode,中文數字,羅馬數字    只要是表示數字都識別
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

# ''.isdecimal(): unicode   只識別普通的阿拉伯數字
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())

# ''.isdigit() :bytes,unicode    一般狀況下使用isdigit就已經知足需求了
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

 

 

 

    總結:

        只能存一個值、有序(但凡是有索引的數據都是有序的)、不可變類型

 

三、列表類型及內置方法

    定義:[]內能夠有多個任意類型的值,逗號分隔

        l1=list({'name':'jason','password':'123'})
        print(l1)
        list內部原理就是for循環取值 而後一個個塞到列表中去

    經常使用操做:

        一、按索引存取值(正向存取+反向存取):便可存也能夠取

l = [1,2,3,4]
print(l[0:4:1])
print(l[0::])
print(l[5::-1])
print(id(l))
l[0] = 69
print(id(l))
print(l)

        二、切片(顧頭不顧尾,步長)

l = [11,22,33,44,55]
print(l[0:3])

 

        三、添加

1.尾部添加一個66
l.append(66)  # 注意append值能將被添加的數據看成列表的一個元素
print(l)

# 2.任意位置添加元素
l.insert(2,96)  # 經過索引在任意位置添加元素
print(l)  # 注意insert值能將被添加的數據看成列表的一個元素

# 3.添加容器類型數據
l.append(l1)
l.insert(-1,l1)
l.extend(l1)  # 內部原理for循環l1一個個追加到列表的尾部
l.extend([1,])
print(l)


        四、刪除

print(l)
del l[2]  # del適用於全部的刪除操做
print(l)


res1 = l.pop()  # 尾部彈出
res2 = l.pop()
res3 = l.pop()
print(res1,res2,res3)

res1 = l.pop(0)  # 能夠指定索引 按照索引彈出元素
print(res1)

res = l.remove(33)  # 指定要刪除的元素的值
print(l)
print(res)

s = 'haha'
print(s)
del s
print(s)

        七、循環

for i in l:
    print(i)
相關文章
相關標籤/搜索