python中方法與函數(shù) Python中函數(shù)的用法

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

這只是在 python3 中才有的區(qū)分,python2 中全部稱為方法。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供桐鄉(xiāng)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)H5技術(shù)、小程序制作等業(yè)務。10年已為桐鄉(xiāng)眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

最大的區(qū)別是參數(shù)的傳遞參數(shù),方法是自動傳參self,函數(shù)是主動傳參

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

在Python中,對這兩個東西有明確的規(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)就相當于一個數(shù)學公式,它理論上不與其它東西關(guān)系,它只需要相關(guān)的參數(shù)就可以。所以普通的在module中定義的稱謂函數(shù)是很有道理的。

那么方法的意思就很明確了,它是與某個對象相互關(guān)聯(lián)的,也就是說它的實現(xiàn)與某個對象有關(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__ #這個還像話

class 'method'

type(Cla.fun1)

class 'method' #這里又是方法

type(i.fun1)

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

type(Cla.fun2)

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

type(i.fun2)

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

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

1,普通方法(老版中直接就是"instancemethod")在module中與在Class中定義的普通函數(shù),從其本身而言是沒有什么區(qū)別的,他們都是對象函數(shù)屬性。 之所以會被說在Class中的定義的函數(shù)被稱為方法,是因為它本來就是面向?qū)淼膶嵗龑ο蟮模鋵嵥麄兙褪菍嵗椒?,這些方法是與實例相聯(lián)系的(從實例出發(fā)訪問該函數(shù)會自動賦值)。所以你從Class訪問仍然是一個函數(shù)

2,類方法("classmethod"),因為類同樣是對象,所以如果函數(shù)與類進行聯(lián)系了話(與實例方法一樣的模式)那么就能夠這么說了!

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

這樣看來上面的定義可以改改了:

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

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

python基礎(chǔ):內(nèi)置函數(shù)、方法、轉(zhuǎn)義字符大全

在寫python程序時,常能用到一些函數(shù)和方法,總結(jié)一下,保存起來,方便查詢。

一、內(nèi)置函數(shù)

# abs()獲取數(shù)字絕對值

# chr(i)數(shù)字轉(zhuǎn)換為字符類型

# divmod() 獲取兩個數(shù)值的商和余數(shù)

# enumerate() 將可遍歷序列組合為索引序列

# float()轉(zhuǎn)換為浮點數(shù)

# format() 格式化字符串

# int()轉(zhuǎn)換為整數(shù)?

# input() 接受用戶輸入內(nèi)容

# len() 計算元素個數(shù)

# max() 返回最大值

# min() 返回最小值

# math.ceil() 返回指定數(shù)值的上舍整數(shù)

# open()打開文件并返回文件對象

# pow() 冪運算

# print()打印輸出?

# range() 生成器

# reversed()反轉(zhuǎn)所有元素

# round()四舍五入求值

# sorted()對可迭代對象進行排序?

# str() 轉(zhuǎn)換為字符串

# sum() 求和

# set() 創(chuàng)建集合

# tuple() 將序列轉(zhuǎn)換為元組

# zip()將可迭代對象打包成元組

二、方法

# append() 添加列表元素

# capitalize()首字母轉(zhuǎn)換為大寫?

# count()字符出現(xiàn)次數(shù)

# close() 關(guān)閉文件

# decode() 解碼字符串

# dict.keys() 獲取字典所有的鍵

# find()字符串首次出現(xiàn)的索引

# f.read() 讀取文件內(nèi)容

# dict.update()更新字典

# dict.items() 獲取字典鍵/值對

# dict.get() 返回指定鍵的值

# encode() 編碼字符串

# list.sort() 排序列表元素

# index() 元素首次出現(xiàn)的索引

# isdigit() 判斷字符串是否只由數(shù)字組成

# isupper() 是否所有字母都為大寫

# isnum() 判斷字符串是否由字母和數(shù)字組成

# islower() 是否所有字母都為小寫

# isdecimal() 檢查字符串是否只包含十進制字符

# isalpha() 檢測字符串是否為純字母

# random.shuffle()隨機排序

# random.sample()返回無重復隨機數(shù)列表

# random.choice() 返回一個隨機元素

# random.randint() 生成指定范圍的隨機整數(shù)

# random.randrange() 生成指定范圍的指定遞增基數(shù)隨機整數(shù)

# pop() 刪除列表中的元素

# remove()刪除列表中的指定元素

# strip()去除空格

# lstrip()去除左側(cè)空格

# rstrip() 去除右側(cè)空格

# readline() 讀取單行內(nèi)容

# root.after() Tkinter中等待一段時間后再執(zhí)行命令

# str.isnumeric() 驗證字符串是否為數(shù)字(適用于Unicode)

# split()分割字符串

# ord() 將字符轉(zhuǎn)換為整數(shù)

# replace() 字符串替換

# ljust() 左對齊填充

# rjust() 左對齊填充

# readlines() 讀取所有行內(nèi)容

# datetime.datetime.now() 返回指定時區(qū)的本地日期時間

# datetime.datetime.today() 獲取當前本地日期的date對象

# datetime.utcnow() 返回當前UTC時間的datetime對象

# time.strptime()把時間字符串解析為元組

# time.time()返回當前時間的時間戳

# time.sleep()暫停指定秒數(shù)

# time.strftime() 返回指定格式的日期字符串

# time.mktime() 接收時間元組并返回時間戳

# os.getcwd() 獲取當前工作目錄

# os.listdir() 獲取指定路徑下的目錄和文件列表

# os.makedirs() 遞歸創(chuàng)建目錄

# os.rename() 重命名目錄或文件

# os.path.exists() 判斷路徑是否存在

# upper() 全部轉(zhuǎn)換為大寫字母

# lower()? 全部轉(zhuǎn)換為小寫字母

# sys.stdout.write() 標準輸出打印

# sys.stdout.flush()刷新輸出?

# shutil.copy() 復制單個文件到另一文件或目錄

# write() 寫入文件內(nèi)容

# winsound.Beep() 打開電腦揚聲器

# zfill() 在字符串前面填充0

三、循環(huán)語句

# break終止當前循環(huán)

# continue 終止本循環(huán)進入下一次循環(huán)

# with open() as file 以with語句打開文件(數(shù)據(jù)保存)

四、轉(zhuǎn)義字符

\ 行尾續(xù)行符

\' 單引號?

\'' 雙引號

\a 響鈴

\e 轉(zhuǎn)義

\n 換行

\t 橫向制表符

\f 換頁

\xyy 十六進制yy代表的字符

\\反斜杠符號

\b 退格

\000 空

\v 縱向制表符

\r 回車

\0yy 八進制yy代表的字符

\other 其他的字符以普通格式輸出

文章標題:python中方法與函數(shù) Python中函數(shù)的用法
轉(zhuǎn)載來于:http://www.muchs.cn/article48/doocehp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化定制網(wǎng)站、服務器托管、網(wǎng)站建設(shè)、網(wǎng)站策劃

廣告

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

成都網(wǎng)站建設(shè)