三、資料型別初識

weixin_33766168發表於2018-04-27

 

---恢復內容結束---

 

1.int   主要用作運算  

2.str  字串  用作儲存少量的資訊 便於傳輸  

3.list  列表  儲存大量資料   便於操作  ['alex','a',{'name':hehe'},'yyy']

4.tuple  元祖  只讀列表 不能作修改   ('ALEX',{'name':'dd'},'yy')

5.bool  判斷真假 True  or  False  作為條件

6.dic  字典 通過鍵值對來儲存資料 查詢起來通過二分法 查詢速度很快   {'name':'dd','job':'it'}

二、各種資料型別詳解

1.int 

 enth 轉換二進位制最小位數

i = 4
print(i.bit_lenth)
0000 0100

 2.bool值與各種之間的轉換

 int 轉換bool   非0即True

str  轉換 bool  非空即為True   print(bool('')) = False

 

s = ''
if s :
   print(666)
else:
    print(333)
# 這段程式碼會輸出333  此時的變數s為空 所以bool值False  如果變數s = ' '  引號中間是空格輸出的會是666  即使是空格bool值也是True

3.str 的一些基本用法  

切片 索引   s [起始索引:截止索引:步長]

#索引
s = 'laonanhaishi'
print(s[2])
#o
print (s[-2])
#h  
#切片  顧頭不顧腚  
print(s[0:2])
#  la
print(s[0:6:2])
#loa
print(s[-2:-4:-1])
#hsi
print(s[:])
#laonanhaishi  全部列印
#     第一個索引為0時可以省略不寫

 

常用的一些操作方法

capitalize   swapace   

#capitalize   swapace
i = 'abcdEfg'
print(i.capitalize())
# Abcdefg   首字母大寫 後面全部小寫
print(i.swapace())
#ABCDeFG   大小寫翻轉

tittle  

tittle 
s = 'ab,cd,ef'
print(s.tittle())
#Aa,Cd,Ef     每個單詞的首字母大寫後面的全部小寫  以除了字母意外的字元隔開 (斷句)

 cent 

s = 'ab,cc,de,Fg'
print(s.center(30,'我'))
#我我我我我我我我我ab,cc,de,Fg我我我我我我我我我我  一邊10個字元  佔位30個位元組

  

start with   end  wih 判斷以什麼開頭  和結尾

s = 'absdefg'
s2 = s.startwith('sd',2)
print(s2)
#True

 

rstrip 去除右邊的空格 換行符   tab(縮排)

lstrip  去除左邊的空格 換行符   tab(縮排)

s = '         alexlaonanhai     '
print (s.strip())
print (s.rstrip())
print (s.lstrip())
#alexlaonanhai
         alexlaonanhai
alexlaonanhai 
#s = 'fdaffsfsdfsdfsf'
print (s.strip('fd'))
#affsfsdfsdfs

find  index  通過元素找索引

s = 'alexlaonanhai'
print(s.find('a',0,6))
print(s.rfind('a',0,6))
print(s.find('a',2,3))
print (s.rindex('a'))
#   0
#   5
#    -1
#   11
區別 
 兩種方式都只有rfind和rindex  因為本身預設的就是從左邊查詢 所以不存在lfind 和         lindex  
在找不到不到目標時  find會輸出-1   而index會報錯    
相同點:兩種方式都可以通過切片來找元素的索引

  count尋找元素的個數 可以切片

s = 'alexlaonanhai'
print(s.count('la',3,4))
print (s.count('al'))
#0
#1

replace  替換元素

s = "阿斯蒂芬打完大打完打完多"
s2 = s.replace('打完','hehe',0)
s3 = s.replace('打完','hehe')
s4 = s.replace('打完','hehe',2)
print(s2)
print(s3)
print (s4)
#阿斯蒂芬打完大打完打完多
 #阿斯蒂芬hehe大hehehehe多
# 阿斯蒂芬hehe大hehe打完多

  

split 把字串分離成列表  (這個很重要)

 

s = "阿斯 蒂芬 打完 大打 完打 完多"
s2 = s.split(' ',3)  # 分離3次 會有4個元素
s3 = s.split(' ')      #分離特徵為' '  
print (s2)
print (s3)
#['阿斯', '蒂芬', '打完', '大打 完打 完多']
 #['阿斯', '蒂芬', '打完', '大打', '完打', '完多']

 

format  格式化輸出

s = '{}喜歡學習,在山上{},每天起床{}'.format('yy','唱歌','刷牙')
print (s)
s2= '{0}喜歡學習,在山上{1},每天起床{2}'.format('yy','唱歌','刷牙')
print(s2)
s3 = '{name}喜歡學習,在山上{sth},每天起床{what}'.format(name='yy',sth='唱歌',what='刷牙')
print(s3)
#yy喜歡學習,在山上唱歌,每天起床刷牙
   yy喜歡學習,在山上唱歌,每天起床刷牙
   yy喜歡學習,在山上唱歌,每天起床刷牙

格式化輸出 %r 可以原文輸出

isdigit   字串由數字組成

isalpha 字串由字母組成

isalnum 字串由數字字母組成

s = '234'
print (s.isdigit())
s2 = 'a234'
print(s2.isalnum())
s3 = 'sdf'
print (s3.isalpha())
#True
#True
#True

 

相關文章