python:基礎知識

基本數據類型

# 數字
    # 整型,浮點型,布爾型,複數
# 組
    # 序列,集合,字典

# 序列-字符串 str 不可變類型
# 序列-列表 list [1,2,3,4,5,6,'as'] 可變類型
# 序列-元組 tuple (1,2,3,4,5,6,'as') 不可變類型
    #和列表選擇、切片很相似
    #type((1)) int;type(('as')) str 此處()不是元祖,而是運算符
    # ord() 查詢字符串返回對應的 ASCII 數值 
# 集合 set {1,2,3,4,5}
    # 1 無序
    # 2 不重複 {1,1,2,2,3,3} {1,2,3}
    # 3 差集- {1,2,3,4,5}-{3,4} {1,2,5}
    # 4 交集&
    # 5 並集|
    # 6 type({}) 爲dict字典;set() 創建一個無序不重複元素集
# 字典 dict {'q':'打擊','w':'前進'}
    # key不重複
    # key需爲不可變類型,不能爲列表,可以爲元組
    # {} 定義空字典
    

包、模塊、類

# 區分包和文件夾 包內含__init__.py文件 此模塊名爲:init,內容可爲空,加上,可解決
# import引入模塊
# from t import c1 從t模塊引入c1類、方法、變量或者 從t文件引入c1模塊
# from t import * 可引入t所有類 不推薦,當命名衝突時難處理
# python 一行建議不超過80,換行,上行末尾加:\,不推薦,可用括號
# 包和模塊不會被重複導入
# 避免循環引入模塊

# 特殊類:枚舉 enum (from enum import Enum)
    # 枚舉標籤名稱最好用大寫,表示常亮
    # 枚舉的意義重在標籤,不在數值
    # 字典和類變量的缺點是:可變,值可被輕易更改;沒有防止相同標籤的功能
    # 枚舉類型:VIP.GREEN 枚舉名稱:VIP.GREEN.name 枚舉值:VIP.GREEN.value
    # 枚舉可以被for in遍歷,遍歷VIP.__members__.items()或VIP.__members,可將別名加入遍歷
    # 枚舉可以做==比較,不能做大小比較
    # 枚舉值相同時,第二個標籤將成爲第一個的別名
    # 用法:在數據庫中存儲數值,在代碼中用標籤代表類型,通過數字轉換成數據類型 a=1 VIP(a)
    # 值需強制爲整型數字,不許值相同時(from enum import IntEnum,unique) ,class VIP(IntEnum,unique):
    

函數

# 函數可以作爲結果被返回,函數可以賦值給另外一個變量
# 閉包(和函數的作用域有關)
    # 閉包=函數+環境變量
    # 環境變量:定義在函數外部,非全局變量,避免外部對其影響
    # 環境變量保存在  函數.__closure__[0].cell_contents中
    # nonlocal將變量轉爲環境變量
    # 閉包容易造成內存泄漏,用面向對象更加主流
#三目運算 x if x>y else y
# map 函數,序列 每個元素依次執行函數
    # 結合lambda匿名函數使用 list_x=[1,2,3] list_y=[1,2,3] r=map(lambda x,y:x*x+y,list_x,list_y)
# reduce python3中已不是全局函數 from functools import reduce
    # 連續計算 返回結果
    

裝飾器 decorator(AOP編程思想)

# 不改變原有函數,增加新的特性
# 最有價值的功能 @+裝飾器的名字 不改變原函數調用方式
    # 直接調用原函數即可,無需通過新函數(體現出原函數和新函數之間的關聯)
    
    # 爲滿足原函數可任意傳入參數,可在裝飾器內的函數加入 可變參數(*任意+參數名):例如:wrapper(*args)
    
    # **kw 關鍵字參數,可以指定任意數量,打印kw會以字典形式出現
    # 爲支持**kw關鍵字參數,可在裝飾器內部加入參數 **kw
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章