python函數(shù)講解,Python函數(shù)筆記

68 個 Python 內置函數(shù)詳解

內置函數(shù)就是Python給你提供的,拿來直接用的函數(shù),比如print.,input等。

創(chuàng)新互聯(lián)建站自2013年起,先為邵武等服務建站,邵武等地企業(yè),進行企業(yè)商務咨詢服務。為邵武企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

截止到python版本3.6.2 ,python一共提供了68個內置函數(shù),具體如下

本文將這68個內置函數(shù)綜合整理為12大類,正在學習Python基礎的讀者一定不要錯過,建議收藏學習!

(1)列表和元組

(2)相關內置函數(shù)

(3)字符串

frozenset 創(chuàng)建一個凍結的集合,凍結的集合不能進行添加和刪除操作。

語法:sorted(Iterable, key=函數(shù)(排序規(guī)則), reverse=False)

語法:fiter(function. Iterable)

function: 用來篩選的函數(shù). 在?lter中會自動的把iterable中的元素傳遞給function. 然后根據(jù)function返回的True或者False來判斷是否保留留此項數(shù)據(jù) , Iterable: 可迭代對象

搜索公眾號頂級架構師后臺回復“面試”,送你一份驚喜禮包。

語法 : map(function, iterable)

可以對可迭代對象中的每一個元素進行映射. 分別去執(zhí)行 function

hash : 獲取到對象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空間換的時間 比較耗費內存

一文讀懂Python 高階函數(shù)

將函數(shù)作為參數(shù)傳入,這樣的函數(shù)稱為高階函數(shù)。 函數(shù)式編程就是指這種高度抽象的編程范式。

變量可以指向函數(shù),函數(shù)的參數(shù)能接收變量,那么一個函數(shù)就可以接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為高階函數(shù)。如下所示:

map(fun, lst),將傳入的函數(shù)變量func作用到lst變量的每個元素中,并將結果組成新的列表返回。

定義一個匿名函數(shù)并調用,定義格式如--lambda arg1,arg2…:表達式

reduce把一個函數(shù)作用在一個序列[x1, x2, x3, …]上,這個函數(shù)必須接收兩個參數(shù),reduce把結果繼續(xù)和序列的下一個元素做累積計算。

filter() 函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。

閉包的定義?閉包本質上就是一個函數(shù)

如何創(chuàng)建閉包?

如何使用閉包?典型的使用場景是裝飾器的使用。

global與nonlocal的區(qū)別:

簡單的使用如下:

偏函數(shù)主要輔助原函數(shù),作用其實和原函數(shù)差不多,不同的是,我們要多次調用原函數(shù)的時候,有些參數(shù),我們需要多次手動的去提供值。

而偏函數(shù)便可簡化這些操作,減少函數(shù)調用,主要是將一個或多個參數(shù)預先賦值,以便函數(shù)能用更少的參數(shù)進行調用。

我們再來看一下偏函數(shù)的定義:

類func = functools.partial(func, *args, **keywords)

我們可以看到,partial 一定接受三個參數(shù),從之前的例子,我們也能大概知道這三個參數(shù)的作用。簡單介紹下:

總結

本文是對Python 高階函數(shù)相關知識的分享,主題內容總結如下:

python所有內置函數(shù)的定義詳解

1、定義函數(shù)

函數(shù)是可重用的程序。本書中已經(jīng)使用了許多內建函數(shù),如len()函數(shù)和range()函數(shù),但是還沒自定義過函數(shù)。定義函數(shù)的語法格式如下:

def 函數(shù)名(參數(shù)):

函數(shù)體

定義函數(shù)的規(guī)則如下:

①關鍵字def用來定義一個函數(shù),它是define的縮寫。

②函數(shù)名是函數(shù)的唯一標識,函數(shù)名的命名規(guī)則遵循標識符的命名規(guī)則。

③函數(shù)名后面一定要緊跟著一個括號,括號內的參數(shù)是可選的,括號后面要有冒號。

④函數(shù)體(statement)為一個或一組Python語句,注意要有縮進。

⑤函數(shù)體的第一行可以有文檔字符串,用于描述函數(shù)的功能,用三引號括起來。

按照定義規(guī)則,可以定義第一個函數(shù)了:

def?hello_world():

...?????print('Hello,world!')???#?注意函數(shù)體要有縮進

...

hello_world()

Hello,world!

這個函數(shù)不帶任何參數(shù),它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調用函數(shù),即讓Python執(zhí)行函數(shù)的代碼。

2、全局變量和局部變量

全局變量是定義在所有函數(shù)外的變量。例如,定義一個全局變量a,分別在函數(shù)test1()和test2()使用變量a:

a?=?100???#?全局變量

def?test1():

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

test2()

100

定義了全局變量a之后,在函數(shù)test1()和test2()內都可以使用變量a,由此可知,全局變量的作用范圍是全局。

局部變量是在函數(shù)內定義的變量,除了用關鍵字global修飾的變量以外。例如,在函數(shù)test1()內定義一個局部變量a,分別在函數(shù)外和另一個函數(shù)test2()內使用變量a:

def?test1():

...?????a?=?100???#?局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

NameError:?name?'a'?is?not?defined

test2()

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

File?"stdin",?line?2,?in?test2

NameError:?name?'a'?is?not?defined

Python解釋器提示出錯了。由于局部變量a定義在函數(shù)test1()內,因此,在函數(shù)test1()內可以使用變量a,但是在函數(shù)外或者另一個函數(shù)test2()內使用變量a,都會報錯,由此可見,局部變量的作用范圍是定義它的函數(shù)內部。

一般情況下,在函數(shù)內聲明的變量都是局部變量,但是采用關鍵字global修飾的變量卻是全局變量:

def?test1():

...?????global?a???#?全局變量

...?????a?=?100

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

100

test2()

100

這個程序與上個程序相比,只是在函數(shù)test1()中多了一行代碼“global a”,程序便可以正確運行了。在函數(shù)test1()中,采用關鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數(shù)內使用,還可以在函數(shù)外或者其他函數(shù)內使用。

如果在某個函數(shù)內局部變量與全局變量同名,那么在該函數(shù)中局部變量會覆蓋全局變量:

a?=?100???#?全局變量

def?test1():

...?????a?=?200???#?同名局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

200

test2()

100

由于在函數(shù)test1()中定義了一個與全局變量同名的局部變量a,因此,在函數(shù)test1()中全局變量a的值被局部變量覆蓋了,但是在函數(shù)test2()中全局變量a的值沒有被覆蓋。

綜上所述,在Python中,全局變量保存的數(shù)據(jù)供整個腳本文件使用;而局部變量只用于臨時保存數(shù)據(jù),變量僅供局部代碼塊使用。

本文標題:python函數(shù)講解,Python函數(shù)筆記
分享地址:http://muchs.cn/article34/hcjhse.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、服務器托管App開發(fā)、動態(tài)網(wǎng)站、移動網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化