python基礎知識整理

來源:互聯網
上載者:User

標籤:使用   小數   alpha   name   strong   通過   預設   一個   解構   

1 邏輯運算 and,or, not 

  (1)在沒有()的情況下not 優先順序高於 and,and優先順序高於or,即優先順序關係為( )>not>and>or,同一優
先級從左往右計算。

  (2)計算下面例題的運算結果

1 3>4 or 4<3 and 1==1  #False2 1 < 2 and 3 < 4 or 1>2  #True3 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1# True4 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8  #False5 1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 #False6 not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6  #False

    總結: x or y , x為真,值就是x,x為假,值是y;x and y, x為真,值是y,x為假,值是x。

      or找真,and找假

2 python基礎資料類型

  (1)str

    ~~切片文法:str[start:end:step]   start: 起始位置,end: 結束位置,step:步長

    ~~切片規則:顧頭不顧尾

    ~~str 字串操作:

            

1 ret6 = s13.find("tory") # 尋找‘tory‘的位置, 如果沒有返回-12 print(ret6)
3 ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程式會報錯

 

  

# 條件判斷s14 = "123.16"s15 = "abc"s16 = "[email protected]"# 是否由字母和數字組成print(s14.isalnum())print(s15.isalnum())print(s16.isalnum())# 是否由字母組成print(s14.isalpha())print(s15.isalpha())print(s16.isalpha())# 是否由數字組成, 不包括小數點print(s14.isdigit())print(s14.isdecimal())print(s14.isnumeric()) # 這個比較牛B. 中文都識別.print(s15.isdigit())print(s16.isdigit())
  (2)列表 list

     

# 迭代添加lst = ["王志文", "張一山", "苦海無涯"]lst.extend(["麻花藤", "麻花不疼"])print(lst) #[‘王志文‘, ‘張一山‘, ‘苦海無涯‘, ‘麻花藤‘, ‘麻花不疼‘]
# 切片修改
lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步長不是1, 要注意. 元素的個數print(lst)
#排序lst = [1, 11, 22, 2]lst.sort() # 排序. 預設升序print(lst)lst.sort(reverse=True) # 降序print(lst)#反轉lst = ["太白", "太黑", "五色", "銀王", "日天", "太白"]print(lst)lst.reverse()print(lst)l = len(lst) # 列表的長度print(l)

  注意,嵌套的多層列表採用降維操作.一層一層的看就好.

  (3)元組 tuple

    元組: 俗稱不可變的列表.又被成為唯讀列表, 元組也是python的基礎資料型別 (Elementary Data Type)之一, 用小括弧括起來, 裡面可以放任何資料類型
  的資料, 查詢可以. 迴圈也可以. 切片也可以. 但就是不能改.關於不可變, 注意: 這裡元組的不可變的意思是子項目不可變. 而子項目

  內部的子項目是可以變, 這取決於子項目是否是可變對象

tu = (1, "哈哈", [], "呵呵")# tu[2] = ["fdsaf"] # 這麼改不行tu[2].append("麻花藤") # 可以改了. 沒報錯tu[2].append("王劍林")print(tu)

    注意,元組中如果只有一個元素. 一定要添加一個逗號, 否則就不是元組.

  (4)字典 dict

    字典中的key必須是可雜湊的不可變的資料,dict儲存的資料不是按照我們添加進去的順序儲存的. 是按照hash表的順序儲存的. 而hash表不是連續的. 所以不能進行切片工作.

它只能通過key來擷取dict中的資料,

    

#字典的修改dic = {"id": 123, "name": ‘sylar‘, "age": 18}dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"}dic.update(dic1) # 把dic1中的內容更新到dic中. 如果key重名. 則修改替換. 如果不存在key, 則新增.print(dic)print(dic1

    

#利用items()解構print(dic.items()) # dict_items([(‘id‘, 123), (‘name‘, ‘sylar‘), (‘age‘, 18), (‘ok‘, ‘科比‘)]) 這個東西也是list. 只不過list中裝的是tuplefor key, value in dic.items(): # ?? 這個是解構print(key, value)# 解構a, b = 1, 2print(a, b)

    嵌套的字典也採用降維操作.

3 小資料池

    小資料池(常量池): 把我們使用過的值儲存在小資料池中.供其他的變數使用.
  小資料池給數字和字串使用, 其他資料類型不存在.
    對於數字: -5~256是會被加到?小資料池中的. 每次使?用都是同?一個對象.
    對於字串串:
      1. 如果是純文字資訊和底線. 那麼這個對象會被添加到小資料池
      2. 如果是帶有特殊字元的. 那麼不會被添加到小資料池. 每次都是新的
      3. 如果是單?一字母*n的情況. ‘a‘*20, 在20個單位內是可以的. 超過20個單位就不會添加
    到小資料池中
    注意(一般情況下): 在py檔案中. 如果你只是單純的定義?個字串串. 那麼一般情況下都是會
  被添加到小資料池中的. 我們可以這樣認為: 在使用字串的時候, python會幫我們把字串進行緩衝
    , 在下次使?的時候直接指向這個字串即可. 可以節省很多記憶體.

 

 

 

  

 

python基礎知識整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.