字典合併:
d1 =
d2 =
d3 =
d1.updatr(d2)
d1.updatr(d3)
python3.5以上:生成新的字典
d1 =
d2 =
d3 =
也可以快速的生成字典
字典訪問:
d =d[『name』]
d.get(『name』)訪問name對應的value
c= d.get(『nam』,『unknow』) 當訪問不存在的key,會自定義key
d_new = defaultdict(lambda:『missing』,d)
d_new[『nam』]
for迴圈:
a = [1,2,3]
for item in a:
print(item)
dir(a)有哪些方法
for真正呼叫的是_iter__方法,有__iter__方法就可以for迴圈
yield:
a =range(100)
存放在記憶體裡,生成的是list
python3.6以上
b = range(10000)
type(b) // class 'range』就是乙個生成器一次性讀取就會占用很大的記憶體,通過for迴圈來讀取
yeild生成器裡面的元素只能會被遍歷一次,效率高,一次性生成會使記憶體吃力
while s<=0:
yield s
s+=i
如何在遞迴呼叫中使用yeild
python3引入新的方法 yeild from get_file(full_path)
lambda使用:
lambda表示式需要函式但是又不想定義函式就用lambda,匿名函式
g = lambda x: x+1
g(1)
g1 = lambda x,y:x+2*y
find(filter_func=lambda x:true if x%2==0 else false)
內建方法傳入的引數可以是lambda
data.sort(key=lambda x:x.lower())
處理異常:
try…except捕獲
raise手動觸發異常
import sys
from os import path
from statistics as stats
from statistics import median,mean,mode
不建議使用import *
source env 啟用虛擬環境
pip list
pip install 三方包
進入專案目錄執行 virtualenv --python=python3.6 evn
clear
deactivate
pip freeze
pip install -r require.txt 相當於安裝多個依賴的配置檔案
類屬性不需要例項化就可以方法,類的例項屬性必須例項化後才能呼叫
乙個下劃線的類的例項屬性a._protect_var = 2受保護屬性,提醒使用者不要修改,要修改還是能修改
雙下劃線的類的例項屬性a.__age,會提示沒有這個age,是私有屬性,外界不能訪問,屬性就會重新命名:a._a__age,在內部可以訪問
@property裝飾器,b =b('demo',23),
b.name 加了property可以直接訪問,只能訪問不能修改
@property
def name(self):
return self.name
@age.setter
def age(self,value):
self.age = value
@setter裝飾器可以對屬性進行修改
b = 1,2,3 # 列印出來就是元組
c = 1, #元組
x,y,_ = b
enumerate(a)是個元組
將list轉換為元組可以用:enumerate
a = [1,2,3,4]
for item in enumerate(a):
print(item) #組成元組
x=1 y=1
x,y=y,x 交換x=2,y=1
nametuple使用nametuple可以格式化元組方便維護,提高程式的可讀性
import collections
student = collections.nametuple('student', 'id,name,score')
students = [student(1, 'abc', 90), student(2, 'c', 50), student(3, 'df', 80)]
for s in students:
print(s.id,s.name)
字典:dict
b= dict(ab=1,cd=2)
x = [('a',1),('b',2)] 可迭代的物件
c2=dict(x)
x=[1,2,3,4]
y=['a','b','c','d']
for i in zip(y,x):
print(i)
zip組合成元組
dict(zip(y,x)) 組合成字典
字典:dict
b= dict(ab=1,cd=2)
x = [('a',1),('b',2)] 可迭代的物件
c2=dict(x)
x=[1,2,3,4]
y=['a','b','c','d']
for i in zip(y,x):
print(i)
zip組合成元組
dict(zip(y,x)) 組合成字典
d =d.items()#dict_items([('a',1)])
d.items().sort(key =lambda x:x[1])
按照字典的value進行排序
dict(sorted(d.items(),key=lambda x:x[1],reverse =true))
按照字典的key進行排序
dict(sorted(d.items(), key = lambda x: x[0], reverse = true) ) python3使用 python3使用模組
python內建了很多非常有用的模組,只要安裝完畢,這些模組就可以立刻使用。我們以內建的sys模組為例,編寫乙個hello的模組 usr bin env python3 coding utf 8 a test module author michael liao import sys def tes...
Python3 語法小技巧
python現在應用領域越來越廣泛,在寫的同時,養成良好習慣記錄是非常有意義的,大家都知道python入門容易精通很難,今天分享一下有意思的 0x01 想必我們經常有用到過陣列,但這樣的資料結構一定涉及到排序,取最大值,取最小值,下面就是乙個小栗子 import heapq nums 10,22,4...
python 元組使用 Python3
python3 元組 python 的元組與列表類似,不同之處在於元組的元素不能修改。元組使用小括號 列表使用方括號 元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。例項 python 3.0 tup1 google runoob 1997,2000 tup2 1,2,3,4,5 tup...