python基础技巧总结(四)
前三期請到我博客里找
https://blog.csdn.net/hebtu666
?
我們繼續(xù)總結(jié)
except的用法和作用
try/except: 捕捉由PYTHON自身或?qū)懗绦蜻^程中引發(fā)的異常并恢復(fù)
except: 捕捉所有其他異常
except name: 只捕捉特定的異常
except name, value: 捕捉異常及格外的數(shù)據(jù)(實例)
except (name1,name2) 捕捉列出來的異常
except (name1,name2),value: 捕捉任何列出的異常,并取得額外數(shù)據(jù)
else: 如果沒有引發(fā)異常就運行
finally: 總是會運行此處代碼
Python自省
這個也是python彪悍的特性.自省就是面向?qū)ο蟮恼Z言所寫的程序在運行時,所能知道對象的類型.簡單一句就是運行時能夠獲得對象的類型.比如type(),dir(),getattr(),hasattr(),isinstance().
python容器
列表:元素可變(任何數(shù)據(jù)類型),有序(可索引),append/insert/pop;
元組:元素不可變,但元素中的可變元素是可變的;有序(可索引);而且元組可以被散列,例如作為字典的鍵。
集合:無序(不可被索引)、互異
字典:無序,鍵值對(key:value),key唯一不可重復(fù)
map()
map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是Iterable,map將傳入的函數(shù)依次作用到序列的每個元素,并把結(jié)果作為新的Iterator返回。(重點理解)
舉例說明,比如我們有一個函數(shù)f(x)=x2,要把這個函數(shù)作用在一個list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()實現(xiàn)如下:
>>> def f(x): ... return x * x ... >>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> list(r) [1, 4, 9, 16, 25, 36, 49, 64, 81]map()作為高階函數(shù),事實上它把運算規(guī)則抽象了,因此,我們不但可以計算簡單的f(x)=x2,還可以計算任意復(fù)雜的函數(shù),比如,把這個list所有數(shù)字轉(zhuǎn)為字符串:
>>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])) ['1', '2', '3', '4', '5', '6', '7', '8', '9']reduce
reduce把一個函數(shù)作用在一個序列[x1, x2, x3, ...]上,這個函數(shù)必須接收兩個參數(shù),reduce把結(jié)果繼續(xù)和序列的下一個元素做累積計算
簡單例子:
>>> from functools import reduce >>> def fn(x, y):return x * 10 + y>>> reduce(fn, [1, 3, 5, 7, 9]) 13579結(jié)合一下,我們可以自己寫出int()函數(shù)
from functools import reducea={'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}def charnum(s):return a[s]def strint(s):return reduce(lambda x, y: x * 10 + y, map(charnum, s))下一期主要介紹更多相關(guān)函數(shù)和常見使用。
總結(jié)
以上是生活随笔為你收集整理的python基础技巧总结(四)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 危险!!!也许你的web网站或服务正在悄
- 下一篇: python学习实例(5)