摘要:與字符串不同,列表元素支持改寫。元組比列表更加安全,因為不能修改集合一個功能是進行集合操作,另一個功能是消除重復的元素。
基本數據類型
數字
整型,浮點型,布爾型,復數
組
序列,集合,字典1 組
# 序列-字符串 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需為不可變類型,不能為列表,可以為元組 # {} 定義空字典2 集合
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() 創建一個無序不重復元素集3 字典
dict {"q":"打擊","w":"前進"} key不重復 key需為不可變類型,不能為列表,可以為元組 {} 定義空字典
注: 1.列表可以存放不同類型的數據,是最常用的Python數據類型。與字符串不同,列表元素支持改寫。 2.列表和元組的區別在于:列表中的元素的值可以修改,而元組中的元素的值不可以修改。元組比列表更加安全,因為不能修改 3.集合一個功能是進行集合操作,另一個功能是消除重復的元素。4 包、模塊、類
# 區分包和文件夾 包內含__init__.py文件 此模塊名為:init,內容可為空,加上,可解決 # import引入模塊 # from t import c1 從t模塊引入c1類、方法、變量或者 從t文件引入c1模塊 # from t import * 可引入t所有類 不推薦,當命名沖突時難處理 # python 一行建議不超過80,換行,上行末尾加:,不推薦,可用括號 # 包和模塊不會被重復導入 # 避免循環引入模塊5 類
# 特殊類:枚舉 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):
#枚舉案例
from enum import IntEnum,unique #from enum import Enum class VIP(IntEnum): YELLOW=1 RED=2 BLUE=2 GREEN=4 print(VIP.GREEN) print(VIP.GREEN.name) print(type(VIP.GREEN),type(VIP.GREEN.name)) print(VIP.GREEN.value) for v in VIP: print(v) for v in VIP.__members__: print(v) for v in VIP.__members__.items(): print(v) a=1 print(VIP(a))6 函數
# 函數可以作為結果被返回,函數可以賦值給另外一個變量 # 閉包(和函數的作用域有關) # 閉包=函數+環境變量 # 環境變量:定義在函數外部,非全局變量,避免外部對其影響 # 環境變量保存在 函數.__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 # 連續計算 返回結果
# 閉包案例展示
def curve_pre(): a=25 def curve(x): return a*x*x return curve f=curve_pre() print(f.__closure__) print(f.__closure__[0].cell_contents) print(f(2)) #閉包案例:計算走了多遠 origin=1 def dis(pos): def do(x): nonlocal pos pos=x+pos return pos return do t=dis(origin) print(t(3)) print(t(3))7 裝飾器 decorator(AOP編程思想)
# 不改變原有函數,增加新的特性 # 最有價值的功能 @+裝飾器的名字 不改變原函數調用方式 # 直接調用原函數即可,無需通過新函數(體現出原函數和新函數之間的關聯) # 為滿足原函數可任意傳入參數,可在裝飾器內的函數加入 可變參數(*任意+參數名):例如:wrapper(*args) # **kw 關鍵字參數,可以指定任意數量,打印kw會以字典形式出現 # 為支持**kw關鍵字參數,可在裝飾器內部加入參數 **kw
# 裝飾器案例
import time def decorator1(func): def wrapper(*args,**kw): func(*args,**kw) print(time.time()) return wrapper @decorator1 def f1(): print("打印現在時間:") #f=decorator1(f1) #f() 這里就可以看出裝飾器的好處可以直接引用f1 f1() @decorator1 def f2(myName): print(myName,"打印現在時間:") f2("MA") @decorator1 def f3(myName,**kw): print(myName,"打印現在時間:") print(kw) f3("MA",a=1,b=2)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43688.html
摘要:基礎知識基礎語法基礎知識編程第一步基礎知識基本數據類型基礎知識解釋器基礎知識注釋基礎知識運算符基礎知識數字基礎知識字符串基礎知識列表基礎知識元組基礎知識字典基礎知識條件控制基礎知識循環基礎知識迭代器與生成器基礎知識函數基礎知識數據結構基礎知 Python3基礎知識 | 基礎語法?Python3基礎知識 | 編程第一步?Python3基礎知識 | 基本數據類型Python3基礎知識 | ...
摘要:基礎知識基礎語法基礎知識編程第一步基礎知識基本數據類型基礎知識解釋器基礎知識注釋基礎知識運算符基礎知識數字基礎知識字符串基礎知識列表基礎知識元組基礎知識字典基礎知識條件控制基礎知識循環基礎知識迭代器與生成器基礎知識函數基礎知識數據結構基礎知 Python3基礎知識 | 基礎語法?Python3基礎知識 | 編程第一步?Python3基礎知識 | 基本數據類型Python3基礎知識 | ...
摘要:以下這些項目,你拿來學習學習練練手。當你每個步驟都能做到很優秀的時候,你應該考慮如何組合這四個步驟,使你的爬蟲達到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學習不是一朝一夕的事情,建議多看看一些比較優秀的爬蟲的設計方案,比如說。 (一)如何學習Python 學習Python大致可以分為以下幾個階段: 1.剛上手的時候肯定是先過一遍Python最基本的知識,比如說:變量、數據結構、語法...
摘要:勤學學習效率與效果取決于執行力。這一步學習的正確姿勢是在實踐操作中發掘問題,然后帶著問題找答案。拆分任務將目標分解成具體可執行的學習任務。勤學強大的執行力是學習的根本保障。分享復述檢驗學習成果,提高學習效果的最好方法。 showImg(https://segmentfault.com/img/bVbcPGZ?w=256&h=256); 前段時間和大家一起分享了一篇關于學習方法內容《大牛...
閱讀 3626·2023-04-25 23:32
閱讀 2041·2019-08-30 15:55
閱讀 2656·2019-08-30 15:52
閱讀 3114·2019-08-30 10:54
閱讀 842·2019-08-29 16:16
閱讀 651·2019-08-29 15:09
閱讀 3653·2019-08-26 14:05
閱讀 1636·2019-08-26 13:22