lambda 表達式+python內置函數

#函數python

def f1(a,b):數組

      retrun  a+bdom

 

 

#lambda方式,形參(a,b):返回值(a+b)python2.7

f2=lambda a,b : a+b函數

在一些比較簡單的過程計算就能夠用lambda網站

 

python內置函數

 

abc 獲取絕對值編碼

all 循環對象,都爲真就返回真不然爲假spa

>>> li
[1, 2, 3]
>>> all(li)
True翻譯

#0爲假對象

>>> li=[0,1,2,3]
>>> all(li)
False

 

bool 真假判斷,把一個對象轉成bool值

any 和all差很少只要有個爲真就爲真

ascii(對象),對象類中找__repr__,獲取返回值。對象若是是列表那麼就去list方法中找,對象是字典就去dict中找(python2.7沒有這個方法)

class abc:

      def __repr__:

               return "nihao"

f1=abc()

ret=ascii(f1)

print ret

nihao

 

 

#bin  二進制   0b開頭

#oct  八進制    0o開頭

#int 十進制 

#hex 十六進制 0xe開頭

 

二進制轉換,下面方法也可用到其它進制轉換上

>>> int(0b1111)#0b開頭python默認就是二進制,這裏就不須要指定base參數,
15

>>> int('1111',base=2)#不是0b開頭的話這裏須要指定一下類型,這裏爲2進制
15

 

#bytes  字節

#bytesarray   字節列表

 

 

 

chr()#將數字轉成字符(ascill),ascill佔用一個字節8位,0-256

ord()#將字符轉成數字(ascill)

 

 

隨機驗證碼:

import  random

yz=''
for i in range(6):
if i ==1 or i ==5:
num=random.randrange(0,10)
yz=str(num)+yz
else:
num=random.randrange(65,91)
yz=chr(num)+yz
print(yz)



結果:
0RBH0Q

 

 

callable 查看方法是否能夠執行,返回布爾值

>>> def run():print "11"
>>> a='111'
>>> callable(a)
False
>>> callable(run)
True

 

compile 編譯,這個函數能夠把字符串翻譯成python可執行的代碼。如 :"def aa():print1 "這個就是一個字符串,經過這個函數就能夠轉成函數用了

 

 

divmod  這個也頗有用舉個例子網站分頁,1000條數據,每頁展現50條,須要多少頁?

>>> divmod(1000,50)
(20, 0)     #20頁就夠用了

 

eval #將表達式解釋成python代碼  例如:eval("1+2"),這樣就能夠直接計算。eval帶返回值

exec 將字符串翻譯成python代碼,和eval的區別在於這個沒有返回值,"for i in range(10):print i"   eval是沒有辦法執行這個的

 

#循環能夠迭代的對象,返回爲true就是篩選經過

filter(函數,可迭代的對象)

def f1(x):
if x>22:
return True
else:return False
ret=filter(f1,[11,100,5,60])
print(ret)


返回
[100, 60]

map(函數,可迭代的對象),將2個數組的值加起來

ret=map(lambda x,y:x+y,[11,100,5,60],[22,66,15,15])
print(ret)

 

globals #獲取全部全局變量

locals#獲取全部局部變量

 

 

hash#將對象進行hash運行算,這樣就能夠用一個帶索引的值能夠在之後的查找中快速定位,ye能夠將一個很長的串減少空間

>>> f1="aaaaaaasdaxzczxvcxvzxvc00..asd"
>>> hash(f1)
-936964852

 

isinstance #判斷某個對象是不是某個類建立的

>>> li=[1,2,3]
>>> r=isinstance(li,list)
>>> print r
True

 

issubclass#盤對某個類是否是子類

 

 

next#取迭代器下一個值

iter#迭代器,生成一個能夠迭代的對象,當值取完後再next將報異常,通常和yield生成器配合使用。只有用的時候纔會運行

>>> obj=iter(range(5))
>>> next(obj)
0
>>> next(obj)
1
>>> next(obj)
2

 

 

max#取出最大值

>>> max([11,22,33])
33

min#回去最小值

>>> min([11,22,33])
11

 

 

pow#求指數,2的10次方

>>> pow(2,10)
1024

 

 

repr#這個和ascii同樣返回類的__repr__方法,區別在於ascii遇到中文會進行處理

 

reversed#將值反轉

 

round#四捨五入

 

slice#切片,通常不會用到。能夠切片的對象直接就能夠處理

 

sum#求和

 

zip#將2個可迭代的對象進行組合,若是2個可迭代的對象個數不一致,那將被刪除

>>> a=[1,2,3,4,5]
>>> b=['a','b','c','d','e']
>>> zip(a,b)
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

 

__import__ #跟import 做用同樣

a=__import__(getpass)

a.xxxxx  #有點相似於別名了

 

sorted#排序

列表中也有個sort排序,實際上你用sorted(li)排序的時候也是調用list下的sort方法

>>> li=[12,1,5,9,2]
>>> li.sort()
>>> li
[1, 2, 5, 9, 12]

若是排序中包含漢子或者字符,字母轉成ascii碼,而後根據數字對比,漢子也會轉成'xas/sd/'這樣編碼,這樣也能夠用ascii來轉換了

相關文章
相關標籤/搜索