Python-內建函數小結

來源:互聯網
上載者:User

標籤:替換   等於   ring   instance   filter   zip   lambda   方法   資料轉換   

內建函數,Python內建的函數(build in function),不需要引用其他包,一般成為BIF abs()  計算絕對值,abs(-10),接收number,返回一個number max()  求序列的的最大值(可迭代的),同時也可以比較一些數字 min()  求序列的最小值(可迭代的),同時也可以比較一些數字 len()  求序列的長度,(字典也可以,求index的個數) divmod(x,y)  求x,y的商和餘數,存放在元組中 pow(x,y,z)  求x的y次方,如果有第三個參數,那麼把前面的結果和第三個參數求餘 round(number)  用來四折五入,後面可以跟精度(先把number編程浮點數,然後看保留幾位)  例子:    把12.45轉換成float,那麼就不是12.45了,而可能是12.4999999了 callable()  判斷一個對象是否是可調用的,比如函數,類都是可以調用的,但是變數無法調用 type()  查看對象的類型 isinstance(對象,類型)  判斷一個對象是否是給定類型。類型可以是多個,只要是其中1個即可(類型1,類型2)
a=‘213‘isinstance(a,str)返回True
 cmp(x,y)  比較兩個對象的大小,x大於y返回1,x等於y返回-1,x小於y返回-1,字串也可以比較,是按單個字元的大小開始比對。 str()  可以把任何資料轉換成字串(字典,元組,也會直接輸出) hex(10)  把10進位轉換為8進位 eval()  把字串當做一個有效運算式來求值
eval(‘1+2‘) 返回3eval("[1,2,3]") 返回[1,2,3]
 oct()  把10進位轉換為8進位 chr(i)  i的範圍是0~255,求i對應的acsii碼值 ord(i)  i的範圍是ascii的值,求對應的值 字串處理的相關函數(方法)a.capitalize()  對字串a進行首字母大寫,首字母是數字則不變 a.replace(old,new,[count])  把舊的字串,替換為新的字串,count 可以去指定替換幾次 a.split(分隔字元,[切幾次])  把字串進行分隔,返回的是一個列表,預設是空格或tab鍵分隔(有幾個空格無所謂,全都當成1個) 分隔字元.join(可迭代的對象)  返回一個字串,把可迭代的對象轉串連成字串,用分隔字元來分隔 string模組,需要匯入string模組(import string)string.lowercasestring.uppercase  列印所有的大小寫字母 string.capitalize(‘hello‘)  把第一個字串替換為大寫string.replce(‘hello‘,‘l‘,‘a‘)  把hello中的,l替換為a  filter(函數或空,序列)  用來過濾,把序列的每一個元素,交給函數來處理。如果為None,則什麼也不做,直接輸出(序列),如果有函數,那麼只有函數的傳回值為True才列印序列中的元素  例子:
def even(n):  if n % 2 == 0:    return Truefilter(even,xrange(10))[0, 2, 4, 6, 8]
進階寫法:
filter(lambda x: x%2 ==0,xrange(10)

 

zip(seq1,seq2,seqN...)  把seq1和seq2組合成1個大的列表,每個序列取1個組成元組,存放在整合後的列表中,如果序列的長度不同,那麼就以最小的序列的長度為基準。 map(func,seq1,seq2)  返回也是一個列表,func可以是一個函數也可以是個None,如果為None,那麼返回的列表長度以當前最長列表為基準,依舊是依次去每個列表中去取,只不過沒有的,用none補充  例子:
l1 = [1, 2, 3]l2 = [‘a‘, ‘b‘, ‘c‘, ‘d‘]l3 = [‘I‘, ‘II‘, ‘III‘, ‘IV‘, ‘V‘, ‘VI‘]map(None,l1,l2,l3)[(1, ‘a‘, ‘I‘),(2, ‘b‘, ‘II‘),(3, ‘c‘, ‘III‘),(None, ‘d‘, ‘IV‘),(None, None, ‘V‘),(None, None, ‘VI‘)]
  如果函數位上是一個函數,那麼如果只有1列表,那麼就需要這個函數定義1個參數,然後每次把列表中的1個元素交給函數進行處理,並列印如果需要處理兩個序列,那麼函數就必須定義2個參數,去接受這兩個序列的元素。進階應用程式:
map(lambda x,y:x+y,l1,l4)

 

reduce(func,seq)  只能定義1個序列,然後傳遞給func進行處理。(lambda函數求累加) 

Python-內建函數小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.