欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python方法函數(shù) python方法函數(shù)區(qū)別

68 個(gè) Python 內(nèi)置函數(shù)詳解

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

創(chuàng)新互聯(lián)公司是專業(yè)的龍亭網(wǎng)站建設(shè)公司,龍亭接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行龍亭網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

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

本文將這68個(gè)內(nèi)置函數(shù)綜合整理為12大類(lèi),正在學(xué)習(xí)Python基礎(chǔ)的讀者一定不要錯(cuò)過(guò),建議收藏學(xué)習(xí)!

(1)列表和元組

(2)相關(guān)內(nèi)置函數(shù)

(3)字符串

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

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

語(yǔ)法:fiter(function. Iterable)

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

搜索公眾號(hào)頂級(jí)架構(gòu)師后臺(tái)回復(fù)“面試”,送你一份驚喜禮包。

語(yǔ)法 : map(function, iterable)

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

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

Python的函數(shù)和參數(shù)

parameter 是函數(shù)定義的參數(shù)形式

argument 是函數(shù)調(diào)用時(shí)傳入的參數(shù)實(shí)體。

對(duì)于函數(shù)調(diào)用的傳參模式,一般有兩種:

此外,

也是關(guān)鍵字傳參

python的函數(shù)參數(shù)定義一般來(lái)說(shuō)有五種: 位置和關(guān)鍵字參數(shù)混合 , 僅位置參數(shù) , 僅關(guān)鍵字參數(shù) , 可變位置參數(shù) , 可變關(guān)鍵字參數(shù) 。其中僅位置參數(shù)的方式僅僅是一個(gè)概念,python語(yǔ)法中暫時(shí)沒(méi)有這樣的設(shè)計(jì)。

通常我們見(jiàn)到的函數(shù)是位置和關(guān)鍵字混合的方式。

既可以用關(guān)鍵字又可以用位置調(diào)用

這種方式的定義只能使用關(guān)鍵字傳參的模式

f(*some_list) 與 f(arg1, arg2, ...) (其中some_list = [arg1, arg2, ...])是等價(jià)的

網(wǎng)絡(luò)模塊request的request方法的設(shè)計(jì)

多數(shù)的可選參數(shù)被設(shè)計(jì)成可變關(guān)鍵字參數(shù)

有多種方法能夠?yàn)楹瘮?shù)定義輸出:

非?;逎?/p>

如果使用可變對(duì)象作為函數(shù)的默認(rèn)參數(shù),會(huì)導(dǎo)致默認(rèn)參數(shù)在所有的函數(shù)調(diào)用中被共享。

例子1:

addItem方法的data設(shè)計(jì)了一個(gè)默認(rèn)參數(shù),使用不當(dāng)會(huì)造成默認(rèn)參數(shù)被共享。

python里面,函數(shù)的默認(rèn)參數(shù)被存在__default__屬性中,這是一個(gè)元組類(lèi)型

例子2:

在例子1中,默認(rèn)參數(shù)是一個(gè)列表,它是mutable的數(shù)據(jù)類(lèi)型,當(dāng)它寫(xiě)進(jìn) __defauts__屬性中時(shí),函數(shù)addItem的操作并不會(huì)改變它的id,相當(dāng)于 __defauts__只是保存了data的引用,對(duì)于它的內(nèi)存數(shù)據(jù)并不關(guān)心,每次調(diào)用addItem,都可以修改 addItem.__defauts__中的數(shù)據(jù),它是一個(gè)共享數(shù)據(jù)。

如果默認(rèn)參數(shù)是一個(gè)imutable類(lèi)型,情況將會(huì)不一樣,你無(wú)法改變默認(rèn)參數(shù)第一次存入的值。

例子1中,連續(xù)調(diào)用addItem('world') 的結(jié)果會(huì)是

而不是期望的

python中l(wèi)en函數(shù)的使用方法

python中l(wèi)en()的用法:

新建一個(gè)len()函數(shù)的使用py,中文編碼聲明注釋:#coding=gbk,函數(shù):len()作用:返回字符串、列表、字典、元組等長(zhǎng)度。語(yǔ)法:len(str)。參數(shù):str:要計(jì)算的字符串、列表、字典、元組等。返回值:字符串、列表、字典、元組等元素的長(zhǎng)度。

實(shí)例:

1、計(jì)算字符串的長(zhǎng)度。

2、計(jì)算列表的元素個(gè)數(shù)。

3、計(jì)算字典的總長(zhǎng)度,即鍵值對(duì)總數(shù)。

4、計(jì)算元組元素個(gè)數(shù)。

在Python中,要知道一個(gè)字符串有多少個(gè)字符,以獲得字符串的長(zhǎng)度,或者一個(gè)字符串需要多少字節(jié),可以使用len函數(shù)。

python有多少內(nèi)置函數(shù)

Python內(nèi)置函數(shù)有很多,為大家推薦5個(gè)神仙級(jí)的內(nèi)置函數(shù):

(1)Lambda函數(shù)

用于創(chuàng)建匿名函數(shù),即沒(méi)有名稱的函數(shù)。它只是一個(gè)表達(dá)式,函數(shù)體比def簡(jiǎn)單很多。當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)函數(shù)來(lái)執(zhí)行單個(gè)操作并且可以在一行中編寫(xiě)時(shí),就可以用到匿名函數(shù)了。

Lamdba的主體是一個(gè)表達(dá)式,而不是一個(gè)代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。

利用Lamdba函數(shù),往往可以將代碼簡(jiǎn)化許多。

(2)Map函數(shù)

會(huì)將一個(gè)函數(shù)映射到一個(gè)輸入列表的所有元素上,比如我們先創(chuàng)建了一個(gè)函數(shù)來(lái)返回一個(gè)大寫(xiě)的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。

我們還可以使用匿名函數(shù)lamdba來(lái)配合map函數(shù),這樣可以更加精簡(jiǎn)。

(3)Reduce函數(shù)

當(dāng)需要對(duì)一個(gè)列表進(jìn)行一些計(jì)算并返回結(jié)果時(shí),reduce()是個(gè)非常有用的函數(shù)。舉個(gè)例子,當(dāng)需要計(jì)算一個(gè)整數(shù)列表所有元素的乘積時(shí),即可使用reduce函數(shù)實(shí)現(xiàn)。

它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個(gè)參數(shù),而map接收一個(gè)參數(shù)。

(4)enumerate函數(shù)

用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中。

它的兩個(gè)參數(shù),一個(gè)是序列、迭代器或其他支持迭代對(duì)象;另一個(gè)是下標(biāo)起始位置,默認(rèn)情況從0開(kāi)始,也可以自定義計(jì)數(shù)器的起始編號(hào)。

(5)Zip函數(shù)

用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表

當(dāng)我們使用zip()函數(shù)時(shí),如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同。

python 方法和函數(shù)的區(qū)別

在Python中,對(duì)這兩個(gè)東西有明確的規(guī)定:

函數(shù)function —— A series of statements which returns some value to a caller. It can also be passed zero or more arguments which may be used in the execution of the body.

方法method —— A function which is defined inside a class body. If called as an attribute of an instance of that class, the method will get the instance object as its first argument (which is usually called self).

從定義的角度上看,我們知道函數(shù)(function)就相當(dāng)于一個(gè)數(shù)學(xué)公式,它理論上不與其它東西關(guān)系,它只需要相關(guān)的參數(shù)就可以。所以普通的在module中定義的稱謂函數(shù)是很有道理的。

那么方法的意思就很明確了,它是與某個(gè)對(duì)象相互關(guān)聯(lián)的,也就是說(shuō)它的實(shí)現(xiàn)與某個(gè)對(duì)象有關(guān)聯(lián)關(guān)系。這就是方法。雖然它的定義方式和函數(shù)是一樣的。也就是說(shuō),在Class定義的函數(shù)就是方法。

從上面的角度看似乎很有道理。

def fun():

pass

type(fun)

class 'function' #沒(méi)有問(wèn)題

class Cla():

def fun():

pass

@classmethod

def fun1(cls):

pass

@staticmethod

def fun2():

pass

i=Cla()

Cla.fun.__class__

class 'function' #為什么還是函數(shù)

i.fun.__class__ #這個(gè)還像話

class 'method'

type(Cla.fun1)

class 'method' #這里又是方法

type(i.fun1)

class 'method'#這里仍然是方法

type(Cla.fun2)

class 'function'?。_@里卻是函數(shù)

type(i.fun2)

class 'function'#這里卻是函數(shù)

事實(shí)上,上面的結(jié)果是可以解釋的:

1,普通方法(老版中直接就是"instancemethod")在module中與在Class中定義的普通函數(shù),從其本身而言是沒(méi)有什么區(qū)別的,他們都是對(duì)象函數(shù)屬性。 之所以會(huì)被說(shuō)在Class中的定義的函數(shù)被稱為方法,是因?yàn)樗緛?lái)就是面向?qū)?lái)的實(shí)例對(duì)象的,其實(shí)他們就是實(shí)例方法,這些方法是與實(shí)例相聯(lián)系的(從實(shí)例出發(fā)訪問(wèn)該函數(shù)會(huì)自動(dòng)賦值)。所以你從Class訪問(wèn)仍然是一個(gè)函數(shù)

2,類(lèi)方法("classmethod"),因?yàn)轭?lèi)同樣是對(duì)象,所以如果函數(shù)與類(lèi)進(jìn)行聯(lián)系了話(與實(shí)例方法一樣的模式)那么就能夠這么說(shuō)了!

3,靜態(tài)方法,雖然定義在內(nèi)部,并且也較方法,但是卻不與任何對(duì)象聯(lián)系,與從類(lèi)訪問(wèn)方法是一樣的,他們?nèi)匀皇呛瘮?shù)。

這樣看來(lái)上面的定義可以改改了:

函數(shù)的定義自然不變。

方法的定義可以是這樣的,與某個(gè)對(duì)象進(jìn)行綁定使用的函數(shù)。注意哦。綁定不是指" . "這個(gè)符號(hào),這個(gè)符號(hào)說(shuō)實(shí)在的只有域名的作用。綁定在這里是指,會(huì)默認(rèn)賦值該綁定的對(duì)象。

網(wǎng)站標(biāo)題:python方法函數(shù) python方法函數(shù)區(qū)別
文章來(lái)源:http://chinadenli.net/article48/hpishp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站排名、外貿(mào)建站、關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

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

搜索引擎優(yōu)化