Python 內建函數

來源:互聯網
上載者:User

標籤:blog   hex   一點   pow   rabl   html   現在   工作   根據   

內建函數

接下來,我們就一起來看看python裡的內建函數。截止到python版本3.6.2,現在python一共為我們提供了68個內建函數。它們就是python提供給你直接可以拿來使用的所有函數。這些函數有些我們已經用過了,有些我們還沒用到過,還有一些是被封印了,必須等我們學了新知識才能解開封印的。那今天我們就一起來認識一下python的內建函數。這麼多函數,我們該從何學起呢?

    Built-in Functions    
abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  
delattr() hash() memoryview() set()  

上面就是內建函數的表,68個函數都在這兒了。這個表的順序是按照首字母的排列順序來的,你會發現都混亂的堆在一起。比如,oct和bin和hex都是做進位換算的,但是卻被寫在了三個地方。。。這樣非常不利於大家歸納和學習。那我把這些函數分成了6大類。你看下面這張圖,你猜咱們今天會學哪幾大類呀? 

 

filter

filter()函數接收一個函數 f 和一個list,這個函數 f 的作用是對每個元素進行判斷,返回 True或 False,filter()根據判斷結果自動過濾掉不合格元素,返回由符合條件元素組成的新list。

例如,要從一個list [1, 4, 6, 7, 9, 12, 17]中刪除偶數,保留奇數,首先,要編寫一個判斷奇數的函數:

def is_odd(x):    return x % 2 == 1
for i in filter(is_odd, [1, 4, 6, 7, 9, 12, 17]):
print(i) ----->結果為:1,7,9,17


map

Python中的map函數應用於每一個可迭代的項,返回的是一個結果list。如果有其他的可迭代參數傳進來,map函數則會把每一個參數都以相應的處理函數進行迭代處理。map()函數接收兩個參數,一個是函數,一個是序列,map將傳入的函數依次作用到序列的每個元素,並把結果作為新的list返回。

有一個list, L = [1,2,3,4,5,6,7,8],我們要將f(x)=x^2作用於這個list上,那麼我們可以使用map函數處理。def test(s):    return s**2

for i in map(test,L):
print(i) ---->輸入結果為1,4,9,16,25,36,49,64




sort,對資料進行排序

L = [1,2,-3,4,-5,6,7,5]
L.sort(key=abs)
print(L)---》[1, 2, -3, 4, -5, 5, 6, 7]

divmod,取商和餘數 例如 divmod(100,3)--->(33.1) 

enumerate:

  • 對於一個可迭代的(iterable)/可遍曆的對象(如列表、字串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值
  • enumerate多用於在for迴圈中得到計數

l = [‘a‘,‘b‘,‘c‘] 

for i in enumerate(l):

  print(i) ------>(0,‘a‘) (1,‘b‘)(2,‘c‘)

for x,y in enumerate(l):

  print(i) ------>0 a 

                             1 b

                             2 c

說學習內建函數,不如說整理自己的知識體系。其實整理這些內建函數的過程也是在整理自己的知識體系。

我們講課的時候會歸類:常用或者不常用,主要還是根據情境而言。

一個優秀的程式員就應該是在該用這個方法的時候信手拈來,把每一個內建的函數都用的恰到好處。

要想做到這一點,至少要先瞭解,才能在需要的時候想起,進而將它用在該用的地方。

但是在這裡,我還是以自己的一點經驗之談,把幾個平時工作中相對更常用的方法推薦一下,請務必重點掌握:

其他:input,print,type,hash,open,import,dir

str類型代碼執行:eval,exec

數字:bool,int,float,abs,divmod,min,max,sum,round,pow

序列——列表和元組相關的:list和tuple

序列——字串相關的:str,bytes,repr

序列:reversed,slice

資料集合——字典和集合:dict,set,frozenset

資料集合:len,sorted,enumerate,zip,filter,map

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.