一,高階特性:
1,切片:[start:stop:step]
>>>l=range(6)2,迭代>>>l[3,-1,2]
resulte is [3]
2.1按itervalues()
>>> d=2.2 按iteritems()>>> for k in d:
... print k,d[k]
...
1 22 3
3 4
>>> for v in d.iteritems():2.3 帶索引輸出:enumerate... print v
...
(1, 2)
(2, 3)
(3, 4)
以元組形式返回
>>> for i,value in enumerate(['a','b','c']):2.4 生成器:一邊迴圈一邊計算的機制,稱為生成器(generator),有利於節省儲存空間,相當於鍊錶中next... print i,value
...
0 a1 b
2 c
>>> def fib(max):(二),函式式程式設計... n,a,b=0,0,1
... while n>> fib(6)
>>> for i in fib(6):
... print i
... 11
2358
1,高階函式:函式名當作方法的引數變數
>>> def add(x,y,abs):2,map... return abs(x)*abs(y)
>>> def cut(x,add):
... return x-add(x,x,abs)
...
>>> cut(1,add)
0
把使用者輸入的不規範的英文名字,變為首字母大寫,其他小寫的規範名字reduce:map(lambda s :s.capitalize(),['ac','ac']
[ac,ac]
>>> l=map(lambda s:s.capitalize(),['ac','ac'])filter:>>> reduce(lambda x,y:x+y,l)
'acac'
>>> import math3,sorted x>y 1,x>>> def isprim(s):
... for i in range(2,int(math.sqrt(s)+1)):
... if s%i==0:
... return false
... return true
...
>>> filter(isprim,range(2,10))
[2, 3, 5, 7]
>>> import time
>>> print time.mktime(time.localtime())//時間計算
1497605034.0
sorted([1,3,2],lambda x,y:y-x) //如果y-x>0則兩個數交換位置,使用氣泡排序4,閉包(closure),使用返回函式形式:[3, 2, 1]
def count():5,匿名函式:lambdafs=
for i in range(1,4)
def f(j):
def g():
return j*j
return g
return fs
for i in count():
print i,j
6,「裝飾器」(decorator):對方法進行增強說明,但有不去改變方法
import functools5,偏函式def log(args):
""""""
task = "call"
def actual_log(func):
@functools.wraps(func)
print '%s:%s()' % (task,func.__name__)//兩個下劃線
return func(*args, **kw)
if hasattr(args,'__call__'):
return actual_log(args)
else:
task = args
return actual_log
@log
def f():
pass
@log("execute")
def e():
pass
>>> max2=functool.partial(max,10) //10作為*args的一部分自動加到左邊>>> max2(1,3,4,5)
10>>> def func(a,b,c):
>>> print a,b,c
>>>func2=functools.partial(func,b=3) 替換關鍵引數
>>>func(1,c=4)
1 3 4
學習心得 python學習心得
自從來了深圳工作以後,尤其是屢屢面試碰壁以後。發現其實自己的知識面很窄,做筆試題的時候絞盡腦汁還是漏洞百出,並不是不會做,而是出現一大堆不該有的失誤。每次被問道,對資料庫了解嗎?說一大堆看起來很高階的東西 好啊,那我們寫幾個sql語句吧。馬上完蛋了,沒了手冊關鍵字都記不起。了解哪幾種指令碼語言,sh...
Python學習心得
python 學習心得 定義乙個類的方法 class classname 其中 init 可以看成是類的建構函式,定義python的私有函式的方法是 funtionname,定義私有資料的方法是 dataname,看看下面的例子。class myclass a example class i 123...
python學習心得
那麼怎麼辦。我的建議是應該跳出對經典答案的追求選擇用翻譯軟體,直接翻譯。然後自我解答。這樣可以提高我們自己的解題能力。也能發現很多我們未發現的小毛病或者很尬的問題。但是現在的進度也是非常低 第1章 第2章用了一共2周。第3章2周半,第4章4周半。第五章迴圈。我可以說2個月看了3遍了。第5章還沒看明白...