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

Python 幾個(gè)重要的內(nèi)置函數(shù)

在學(xué)習(xí)Python的過程中,有幾個(gè)比較重要的內(nèi)置函數(shù):help()函數(shù)、dir()函數(shù)、input()與raw_input()函數(shù)、print()函數(shù)、type()函數(shù)。

創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用十年,服務(wù)更有保障!服務(wù)器租用,服務(wù)器主機(jī)托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。

第一、help()函數(shù)

Help()函數(shù)的參數(shù)分為兩種:如果傳一個(gè)字符串做參數(shù)的話,它會(huì)自動(dòng)搜索以這個(gè)字符串命名的模塊、方法等;如果傳入的是一個(gè)對(duì)象,就會(huì)顯示這個(gè)對(duì)象的類型的幫助。比如輸入help(‘print’),它就會(huì)尋找以‘print’為名的模塊、類等,找不到就會(huì)看到提示信息;而print在Python里是一個(gè)保留字,和pass、return同等,而非對(duì)象,所以help(print)也會(huì)報(bào)錯(cuò)。

第二、dir()函數(shù)

dir()函數(shù)返回任意對(duì)象的屬性和方法列表,包含模塊對(duì)象、函數(shù)對(duì)象、字符串對(duì)象、列表對(duì)象、字典對(duì)象等。盡管查找和導(dǎo)入模塊相對(duì)容易,但是記住每個(gè)模塊包含什么卻不是這么簡(jiǎn)單,您并不希望總是必須查看源代碼來(lái)找出答案。Python提供了一種方法,可以使用內(nèi)置的dir()函數(shù)來(lái)檢查模塊的內(nèi)容,當(dāng)你為dir()提供一個(gè)模塊名的時(shí)候,它返回模塊定義的屬性列表。dir()函數(shù)適用于所有對(duì)象的類型,包含字符串、整數(shù)、列表、元組、字典、函數(shù)、定制類、類實(shí)例和類方法。

第三、input與raw_input函數(shù)

都是用于讀取用戶輸入的,不同的是input()函數(shù)期望用戶輸入的是一個(gè)有效的表達(dá)式,而raw_input()函數(shù)是將用戶的輸入包裝成一個(gè)字符串。

第四、Print()函數(shù)

Print在Python3版本之間是作為Python語(yǔ)句使用的,在Python3里print是作為函數(shù)使用的。

第五、type()函數(shù)

Type()函數(shù)返回任意對(duì)象的數(shù)據(jù)類型。在types模塊中列出了可能的數(shù)據(jù)類型,這對(duì)于處理多種數(shù)據(jù)類型的函數(shù)非常有用,它通過返回類型對(duì)象來(lái)做到這一點(diǎn),可以將這個(gè)類型對(duì)象與types模塊中定義類型相比較。

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)的,也就是說它的實(shí)現(xiàn)與某個(gè)對(duì)象有關(guān)聯(lián)關(guān)系。這就是方法。雖然它的定義方式和函數(shù)是一樣的。也就是說,在Class定義的函數(shù)就是方法。

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

def fun():

pass

type(fun)

class 'function' #沒有問題

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

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

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

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

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

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

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

類,class,用來(lái)描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象是類的實(shí)例。

函數(shù),是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。你已經(jīng)知道python提供了許多內(nèi)建函數(shù),比如print()。但你也可以自己創(chuàng)建函數(shù),這被叫作用戶自定義函數(shù)。

python語(yǔ)言中類和函數(shù)的區(qū)別

1、規(guī)則不同

類是一種引用數(shù)據(jù)類型,類似于byte、short、int(char)、long、float、double等基本數(shù)據(jù)類型;

函數(shù)必須聲明后才可以被調(diào)用,調(diào)用格式為:函數(shù)名(實(shí)參)調(diào)用時(shí)函數(shù)名后的小括號(hào)中的實(shí)參必須和聲明函數(shù)時(shí)的函數(shù)括號(hào)中的形參個(gè)數(shù)相同。

2、主體不同

類是面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)現(xiàn)信息封裝的基礎(chǔ);

函數(shù)是指一段在一起的、可以做某一件事的子程序。

3、特點(diǎn)不同

類是一種用戶定義的引用數(shù)據(jù)類型,也稱類類型,每個(gè)類包含數(shù)據(jù)說明和一組操作數(shù)據(jù)或者傳遞消息的函數(shù),類的實(shí)例稱為對(duì)象;

函數(shù)分為全局函數(shù)、全局靜態(tài)函數(shù),在類中還可以定義構(gòu)造函數(shù)、析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、成員函數(shù)、友元函數(shù)、運(yùn)算符重載函數(shù)、內(nèi)聯(lián)函數(shù)等。

分享題目:python的方法和函數(shù) python的方法和函數(shù)區(qū)別
文章路徑:http://m.kartarina.com/article22/hjgdcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站服務(wù)器托管電子商務(wù)標(biāo)簽優(yōu)化網(wǎng)站導(dǎo)航品牌網(wǎng)站建設(shè)

廣告

聲明:本網(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)

網(wǎng)站優(yōu)化排名
主站蜘蛛池模板: 亚洲日韩精品一区二区三区无码| 亚洲中文字幕无码一去台湾| 日韩综合无码一区二区| 无码国产精成人午夜视频不卡| 精品无码一区二区三区水蜜桃| 国产精品无码一区二区三级| 精品三级AV无码一区| 无码av大香线蕉伊人久久| 亚洲成av人片在线观看无码不卡| 亚洲成a人片在线观看天堂无码| 国产精品无码永久免费888 | 亚洲精品无码国产| 亚洲成无码人在线观看| 日韩av无码中文无码电影| 久久亚洲AV无码精品色午夜麻豆| r级无码视频在线观看| 亚洲日韩一区二区一无码| 国产成人无码精品一区二区三区| 国产成人无码区免费A∨视频网站| 无码欧精品亚洲日韩一区| 三上悠亚ssⅰn939无码播放| 精品一区二区三区无码免费直播| 无码国产精品一区二区免费式影视 | 无码成人AAAAA毛片| 无码人妻视频一区二区三区| 国产精品成人无码久久久久久| 亚洲av无码有乱码在线观看| 久久久久久国产精品免费无码| 亚洲AV永久无码精品水牛影视| 宅男在线国产精品无码| yy111111少妇影院里无码| 无码毛片一区二区三区中文字幕 | 精品人妻系列无码人妻免费视频 | 人妻无码久久中文字幕专区 | 中文字幕人成无码人妻| 精品久久久无码21p发布| 无码h黄动漫在线播放网站| 无码一区二区三区在线观看 | 亚洲av无码兔费综合| 无码专区人妻系列日韩精品少妇 | 狠狠爱无码一区二区三区|