摘要:與字符串不同,列表元素支持改寫。元組比列表更加安全,因為不能修改集合一個功能是進(jìn)行集合操作,另一個功能是消除重復(fù)的元素。
基本數(shù)據(jù)類型
數(shù)字
整型,浮點型,布爾型,復(fù)數(shù)
組
序列,集合,字典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() 查詢字符串返回對應(yīng)的 ASCII 數(shù)值 # 集合 set {1,2,3,4,5} # 1 無序 # 2 不重復(fù) {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() 創(chuàng)建一個無序不重復(fù)元素集 # 字典 dict {"q":"打擊","w":"前進(jìn)"} # key不重復(fù) # key需為不可變類型,不能為列表,可以為元組 # {} 定義空字典2 集合
set {1,2,3,4,5}
1 無序 2 不重復(fù) {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() 創(chuàng)建一個無序不重復(fù)元素集3 字典
dict {"q":"打擊","w":"前進(jìn)"} key不重復(fù) key需為不可變類型,不能為列表,可以為元組 {} 定義空字典
注: 1.列表可以存放不同類型的數(shù)據(jù),是最常用的Python數(shù)據(jù)類型。與字符串不同,列表元素支持改寫。 2.列表和元組的區(qū)別在于:列表中的元素的值可以修改,而元組中的元素的值不可以修改。元組比列表更加安全,因為不能修改 3.集合一個功能是進(jìn)行集合操作,另一個功能是消除重復(fù)的元素。4 包、模塊、類
# 區(qū)分包和文件夾 包內(nèi)含__init__.py文件 此模塊名為:init,內(nèi)容可為空,加上,可解決 # import引入模塊 # from t import c1 從t模塊引入c1類、方法、變量或者 從t文件引入c1模塊 # from t import * 可引入t所有類 不推薦,當(dāng)命名沖突時難處理 # python 一行建議不超過80,換行,上行末尾加:,不推薦,可用括號 # 包和模塊不會被重復(fù)導(dǎo)入 # 避免循環(huán)引入模塊5 類
# 特殊類:枚舉 enum (from enum import Enum) # 枚舉標(biāo)簽名稱最好用大寫,表示常量 # 枚舉的意義重在標(biāo)簽,不在數(shù)值 # 字典和類變量的缺點是:可變,值可被輕易更改;沒有防止相同標(biāo)簽的功能 # 枚舉類型:VIP.GREEN 枚舉名稱:VIP.GREEN.name 枚舉值:VIP.GREEN.value # 枚舉可以被for in遍歷,遍歷VIP.__members__.items()或VIP.__members,可將別名加入遍歷 # 枚舉可以做==比較,不能做大小比較 # 枚舉值相同時,第二個標(biāo)簽將成為第一個的別名 # 用法:在數(shù)據(jù)庫中存儲數(shù)值,在代碼中用標(biāo)簽代表類型,通過數(shù)字轉(zhuǎn)換成數(shù)據(jù)類型 a=1 VIP(a) # 值需強(qiáng)制為整型數(shù)字,不許值相同時(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 函數(shù)
# 函數(shù)可以作為結(jié)果被返回,函數(shù)可以賦值給另外一個變量 # 閉包(和函數(shù)的作用域有關(guān)) # 閉包=函數(shù)+環(huán)境變量 # 環(huán)境變量:定義在函數(shù)外部,非全局變量,避免外部對其影響 # 環(huán)境變量保存在 函數(shù).__closure__[0].cell_contents中 # nonlocal將變量轉(zhuǎn)為環(huán)境變量 # 閉包容易造成內(nèi)存泄漏,用面向?qū)ο蟾又髁?#三目運算 x if x>y else y # map 函數(shù),序列 每個元素依次執(zhí)行函數(shù) # 結(jié)合lambda匿名函數(shù)使用 list_x=[1,2,3] list_y=[1,2,3] r=map(lambda x,y:x*x+y,list_x,list_y) # reduce在python3中已不是全局函數(shù) from functools import reduce # 連續(xù)計算 返回結(jié)果
# 閉包案例展示
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)) #閉包案例:計算走了多遠(yuǎn) 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編程思想)
# 不改變原有函數(shù),增加新的特性 # 最有價值的功能 @+裝飾器的名字 不改變原函數(shù)調(diào)用方式 # 直接調(diào)用原函數(shù)即可,無需通過新函數(shù)(體現(xiàn)出原函數(shù)和新函數(shù)之間的關(guān)聯(lián)) # 為滿足原函數(shù)可任意傳入?yún)?shù),可在裝飾器內(nèi)的函數(shù)加入 可變參數(shù)(*任意+參數(shù)名):例如:wrapper(*args) # **kw 關(guān)鍵字參數(shù),可以指定任意數(shù)量,打印kw會以字典形式出現(xiàn) # 為支持**kw關(guān)鍵字參數(shù),可在裝飾器內(nèi)部加入?yún)?shù) **kw
# 裝飾器案例
import time def decorator1(func): def wrapper(*args,**kw): func(*args,**kw) print(time.time()) return wrapper @decorator1 def f1(): print("打印現(xiàn)在時間:") #f=decorator1(f1) #f() 這里就可以看出裝飾器的好處可以直接引用f1 f1() @decorator1 def f2(myName): print(myName,"打印現(xiàn)在時間:") f2("MA") @decorator1 def f3(myName,**kw): print(myName,"打印現(xiàn)在時間:") print(kw) f3("MA",a=1,b=2)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/43688.html
摘要:基礎(chǔ)知識基礎(chǔ)語法基礎(chǔ)知識編程第一步基礎(chǔ)知識基本數(shù)據(jù)類型基礎(chǔ)知識解釋器基礎(chǔ)知識注釋基礎(chǔ)知識運算符基礎(chǔ)知識數(shù)字基礎(chǔ)知識字符串基礎(chǔ)知識列表基礎(chǔ)知識元組基礎(chǔ)知識字典基礎(chǔ)知識條件控制基礎(chǔ)知識循環(huán)基礎(chǔ)知識迭代器與生成器基礎(chǔ)知識函數(shù)基礎(chǔ)知識數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知 Python3基礎(chǔ)知識 | 基礎(chǔ)語法?Python3基礎(chǔ)知識 | 編程第一步?Python3基礎(chǔ)知識 | 基本數(shù)據(jù)類型Python3基礎(chǔ)知識 | ...
摘要:基礎(chǔ)知識基礎(chǔ)語法基礎(chǔ)知識編程第一步基礎(chǔ)知識基本數(shù)據(jù)類型基礎(chǔ)知識解釋器基礎(chǔ)知識注釋基礎(chǔ)知識運算符基礎(chǔ)知識數(shù)字基礎(chǔ)知識字符串基礎(chǔ)知識列表基礎(chǔ)知識元組基礎(chǔ)知識字典基礎(chǔ)知識條件控制基礎(chǔ)知識循環(huán)基礎(chǔ)知識迭代器與生成器基礎(chǔ)知識函數(shù)基礎(chǔ)知識數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知 Python3基礎(chǔ)知識 | 基礎(chǔ)語法?Python3基礎(chǔ)知識 | 編程第一步?Python3基礎(chǔ)知識 | 基本數(shù)據(jù)類型Python3基礎(chǔ)知識 | ...
摘要:以下這些項目,你拿來學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個步驟都能做到很優(yōu)秀的時候,你應(yīng)該考慮如何組合這四個步驟,使你的爬蟲達(dá)到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲的設(shè)計方案,比如說。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個階段: 1.剛上手的時候肯定是先過一遍Python最基本的知識,比如說:變量、數(shù)據(jù)結(jié)構(gòu)、語法...
摘要:勤學(xué)學(xué)習(xí)效率與效果取決于執(zhí)行力。這一步學(xué)習(xí)的正確姿勢是在實踐操作中發(fā)掘問題,然后帶著問題找答案。拆分任務(wù)將目標(biāo)分解成具體可執(zhí)行的學(xué)習(xí)任務(wù)。勤學(xué)強(qiáng)大的執(zhí)行力是學(xué)習(xí)的根本保障。分享復(fù)述檢驗學(xué)習(xí)成果,提高學(xué)習(xí)效果的最好方法。 showImg(https://segmentfault.com/img/bVbcPGZ?w=256&h=256); 前段時間和大家一起分享了一篇關(guān)于學(xué)習(xí)方法內(nèi)容《大牛...
閱讀 3729·2023-04-25 23:32
閱讀 2104·2019-08-30 15:55
閱讀 2711·2019-08-30 15:52
閱讀 3173·2019-08-30 10:54
閱讀 900·2019-08-29 16:16
閱讀 711·2019-08-29 15:09
閱讀 3715·2019-08-26 14:05
閱讀 1692·2019-08-26 13:22