1. 程式人生 > >Day-03 基礎資料型別int, bool, str

Day-03 基礎資料型別int, bool, str

一、Python基本資料型別

  1.int ==> 整數 , 主要用來進行數學運算

  2.str ==> 字串, 可以儲存少量資料並進行相應的操作

  3.bool ==>布林值, 判斷真假Ture,False

  4.list ==> 儲存大量資料,用[ ]表示

  5.tuple ==> 元組, 不可以發生改變 用()表示

  6.dic ==> 字典, 儲存鍵值對,一樣可以儲存大量資料

  7.set ==> 集合, 儲存大量資料,不可以重複,其實就是不儲存value的dict

 

二、整數(int)

  對於一個數字除了運算幾乎沒有其他操作。

  只有一個:

  bit_lenght()  計算當前這個數的二進位制長度,  bit二進位制  lenght長度(實際上沒什麼用)

 

三、布林值(bool)

  取值只有Ture,False。bool值沒有操作

  轉換問題:x轉換成y型別    y(x)

  str => int        int(str)

  int => str        str(int)

  int => bool    bool(int)      0是False ,非0是True

  bool => int     int(bool)  Ture是 1  , False是 0

  str => bool    bool(str)     空字串是False,不空是Ture

  bool => str     str(bool)    把bool值轉換成相應的“值”

  結論:所有的空都是False,非空都是Ture

 

四、字串(str)

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

  字元:你能看到的單一文字元號

  字串是一個不可變得資料型別

  4.1 索引和切片

    1.索引,索引就是下標,下標從0開始,程式設計師數數從0開始

    s[索引] 獲取到字串s中的索引位置的資料

 1 s1 = "python最牛B"
 2 print(s1[0]) # 獲取第0個
 3 print(s1[1])
 4 print(s1[2])
 5 print(s1[3])
 6 print(s1[4])
 7 print(s1[5])
 8 print(s1[6])
 9 print(s1[7])
10 print(s1[8])
11 # print(s1[9]) # 沒有9, 越界了. 會報錯
12 print(s1[-1]) # -1 表示倒數.
13 print(s1[-2]) # 倒數第⼆個

    2.切片

    語法:s[start: end: step]

    從start開始到end結束。但是取不到end。 每step個取一個

s2 = "python最牛B"
print(s2[0:3]) # 從0獲取到3. 不包含3. 結果: pyt
print(s2[6:8]) # 結果 最⽜
print(s2[6:9]) # 最⼤是8. 但根據顧頭不顧腚, 想要取到8必須給9
print(s2[6:10]) # 如果右邊已經過了最⼤值. 相當於獲取到最後
print(s2[4:]) # 如果想獲取到最後. 那麼最後⼀個值可以不給.
print(s2[-1:-5]) # 從-1 獲取到 -5 這樣是獲取不到任何結果的. 從-1向右數. 你怎麼數
也數不到-5
print(s2[-5:-1]) # ⽜b, 取到資料了. 但是. 顧頭不顧腚. 怎麼取最後⼀個呢?
print(s2[-5:]) # 什麼都不寫就是最後了
print(s2[:-1]) # 這個是取到倒數第⼀個
print(s2[:]) # 原樣輸出

    跳著擷取

# 跳著取, 步長
print(s2[1:5:2]) # 從第⼀個開始取, 取到第5個,每2個取1個, 結果: yh, 分析: 1:5=>
ytho => yh
print(s2[:5:2]) # 從頭開始到第五個. 每兩個取一個
print(s2[4::2]) # 從4開始取到最後. 每兩個取一個
print(s2[-5::2]) # 從-5取到最後.每兩個取一個
print(s2[-1:-5]) # -1:-5什麼都沒有. 因為是從左往右獲取的.
print(s2[-1:-5:-1]) # 步長是-1. 這時就從右往左取值了
print(s2[-5::-3]) # 從倒數第5個開始. 到最開始. 每3個取一個, 結果oy

  4.2 字串的相關操作

    切記, 字串是不可變的物件, 所以任何操作對原字串是不會有任何影響的

 

 

    1.upper()  全部轉換為大寫字母

    2.strip()    去掉左右兩段的空白(空格,\n, \t)

    3.replace(old, new)  字串的替換

    4.split()  切割.得到的結果是一個列表

    5.startswith()  判斷是否以xxx開頭

    6.find()  查詢。如果找到了,返回索引。如果找不到,返回-1

    7.index()  查詢。如果找到了,返回索引。如果找不到,報錯

    8.len() 內建函式, 求字串長度

    9.count() 查詢xxx出現的次數

    .........

 

五、 迭代

  語法:

    for 變數 in 可迭代物件:

      迴圈體(break,continue)

    else:

      語句塊

  可迭代物件: 可以一個一個往外取值的物件

s19 = "大家好, 我是VUE, 前端的⼩朋友們. 你們好麼?"
# 用while迴圈
index = 0
while index < len(s19):
 print(s19[index]) # 利用索引切片來完成字元的查詢
 index = index + 1
# for迴圈, 把s19中的每一個字元拿出來賦值給前⾯的c
for c in s19:
 print(c)
'''
 in有兩種⽤法:
 1. 在for中. 是把每⼀個元素獲取到賦值給前面的變數.
 2. 不在for中. 判斷xxx是否出現在str中.
'''
print('VUE' in s19)
# 練習, 計算在字串"I am sylar, I'm 14 years old, I have 2 dogs!"
s20 = "I am sylar, I'm 14 years old, I have 2 dogs!"
count = 0
for c in s20:
 if c.isdigit():
 count = count + 1
print(count)