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