1. 程式人生 > >第三天-基本資料型別 int bool str

第三天-基本資料型別 int bool str

# python基礎資料型別
# 1. int 整數
# 2.str 字串.不會用字串儲存大量的資料
# 3.bool 布林值. True, False
# 4.list 列表(重點) 存放大量的資料
# 5.dict 字典 key: value 查詢會比較快
# 6.set  集合 無序 不能重複
# 7.bytes 一堆位元組。 我們程式處理的最小單位
# 8.tuple 元組 不可變的列表

1.整數(int) 

在python3中所有的整數都是int型別. 但在python2中如果資料量比較⼤. 會使⽤long型別. 在python3中不存在long型別

int的操作,xxx.bit_length() 可計算,返回二進位制長度

1  a=8
2  print(a.bit_length())  # .bit_length() 返回二進位制長度

 

2.布林值(bool)

取值只有True, False. bool值沒有操作. 

轉換:

1 # bool-int    False - 0  True - 1
2 # int - bool    0 - False  非零 - True  如:
3 x = False
4 print(int(x)) #輸出為 0
5 
6 while 1:
7     print("迴圈迴圈")
8 # str - bool   空字串是 False  不空是 True

 

3.字串(str)

把字元連成串. 在python中用', ", ''', """引起來的內容被稱為字元串. 

  3.1. 索引. 索引就是下標. 切記, 下標從0開始 

 1 # 索引
 2 # 0 1 2 3 4 5   6 7 8 9 10 11 12   從 0開始計數
 3 # 人生苦短 , 我 用 p y  t   h   o   n
 4 s = "人生苦短,我用python"
 5 print(s[10])
 6 print(s[12])
 7 print(s[-7])  # 倒數
 8 print(s[-1])
 9 print
(s[-14]) # 沒有14 超出範圍會報錯 10 print(s[14]) # 超出範圍會報錯

 

  3.2.切片.從字串中獲取新的字串

  語法: str[start: end] 規則: 顧頭不顧腚, 從start開始擷取. 擷取到end位置. 但不包括end.

 1 # s1 = "人生苦短,我用python"
 2 # print(s1[0:3])  # 語法  print(str[start:end]) 顧頭不顧腚 所以這裡無s1[3]
 3 # print(s1[3:5])
 4 # print(s1[7:13]) # 最後一位是s1[12] 顧頭不顧腚 要取最後得往後一個即s1[13]
 5 # print(s1[8:14]) # 超出範圍仍輸出 ython  相當於取到最大
 6 # print(s1[:]) # 從頭到尾 沒有限定末尾 可以取完
 7 # print(s1[1:]) # 從s1[1]到末尾
 8 # print(s1[:5]) # 從開始到s1[5]
 9 
10 # s2 = s1[3] + s1[4] + s1[5] + s1[6] + s1[7]
11 # print(s2)
12 # print(s1[3:-1]) # 顧頭不顧腚 無法取到最後一個
13 # print(s1[:-8]) # 從開頭到倒數第八個
14 # print(s1[-8:-1]) # 倒數第八獲取到倒數第一個 但獲取不到倒數第一
15 # print(s1[:-1]) # 同理切片到倒數1 但不顯示
16 # print(s1[-5:]) #到末尾

  跳著擷取:

1 # 跳著擷取
2 # s[start: end: step] step步長 如果是正數從左到右。 如果是負數就是從右到左
3 s3 = "RNG牛逼,RNG牛逼"
4 print(s3[::2]) # 從頭到尾 每隔兩個獲取 RG逼RG逼(注意這裡沒限定末尾 可以取到逼)
5 print(s3[3:9:2]) # 從3取到9隔2取一  牛,N
6 print(s3[-5::-2]) # 從倒著5到開頭 倒著隔2取1  R逼GR
7 print(s3[-1:-9:-1]) #從倒1倒倒9 倒著隔1取1  逼牛GNR,逼牛  (顧頭不顧腚 取不到G)

 

4.字串的相關操作

   注意,字串是不可變的物件,所以任何操作隊員字串都不會有任何影響!

  4.1.大小寫轉換

  語法:xxx.capitalize() 首字母大寫,如

1 s = "rng牛b"
2 # s.capitalize()
3 # print(s) #無變化 需要重新獲取
4 # s1 = s.capitalize()
5 # print(s1)   #大寫首字母

  xxx.lower() 把字串轉換成小寫.

  xxx.upper()把字串轉換成大寫.

1 s = "rng牛B"
2 # 大小寫轉換
3 s2 = s.lower()  # xxx.lower() 全轉換成小寫
4 print(s2)
5 
6 s3 = s.upper() # xxx.upper() 全轉換成大寫
7 print(s3)
1 while 1:
2     content = input("請輸入你要噴的內容,輸入exit退出:")
3     if content.upper()=="EXIT":
4         break
5     print(content)

  xxx.swapcase()  大小寫互相轉換

1 s4 = s.swapcase()  # 大小寫相互轉換
2 print(s4)

  另一種轉換小寫

1 a = "人生苦短,我用Python!"
2 a1 = a.casefold()  # 轉換成小寫,於lower區別在:lower()對某些字元支援不夠好.
3 # casefold()對所有字⺟母都有效. 比如東歐的⼀些字⺟
4 print(a1)
5 
6 a3 = "БBß" # 俄美德
7 print(a3)
8 print(a3.lower())  # бbß
9 print(a3.casefold())  # бbss  
被特殊字元隔開的單詞首字母大寫
1 # 每個被特殊字元隔開的單詞首字母大寫
2 s = "chinese中國china"  # 中文也算特殊字元
3 print(s.title()) # Chinese中國China   
4 
5 s1 = "i$can,i&up "
6 print(s1.title()) # I$Can,I&Up