Python的同名函數(shù) 自己定義的函數(shù)名不能與Python內(nèi)置函數(shù)同名

python里面有哪些自帶函數(shù)?

python系統(tǒng)提供了下面常用的函數(shù):

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開(kāi)發(fā).小程序定制開(kāi)發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都木托盤等企業(yè)提供專業(yè)服務(wù)。

1. 數(shù)學(xué)庫(kù)模塊(math)提供了很多數(shù)學(xué)運(yùn)算函數(shù);

2.復(fù)數(shù)模塊(cmath)提供了用于復(fù)數(shù)運(yùn)算的函數(shù);

3.隨機(jī)數(shù)模塊(random)提供了用來(lái)生成隨機(jī)數(shù)的函數(shù);

4.時(shí)間(time)和日歷(calendar)模塊提供了能處理日期和時(shí)間的函數(shù)。

注意:在調(diào)用系統(tǒng)函數(shù)之前,先要使用import 語(yǔ)句導(dǎo)入 相應(yīng)的模塊

該語(yǔ)句將模塊中定義的函數(shù)代碼復(fù)制到自己的程 序中,然后就可以訪問(wèn)模塊中的任何函數(shù),其方 法是在函數(shù)名前面加上“模塊名.”。

希望能幫到你。

如何在Python中調(diào)用父類的同名方法

你好,請(qǐng)看下面的例子和說(shuō)明:python中類的初始化方法是__init__(),因此父類子類的初始化方法都是這個(gè),如果子類不實(shí)現(xiàn)這個(gè)函數(shù),初始化時(shí)調(diào)用父類的初始化函數(shù),如果子類實(shí)現(xiàn)這個(gè)函數(shù),就覆蓋了父類的這個(gè)函數(shù),既然繼承父類,就要在這個(gè)函數(shù)里顯式調(diào)用一下父類的__init__(),這跟C++,jAVA不一樣,他們是自動(dòng)調(diào)用父類初始化函數(shù)的。調(diào)用父類函數(shù)有以下方法:class A:def method(self, arg):pass class B(A):def method(self, arg):# A.method(self,arg) # 1# super(B, self).method(arg) #2super().method(arg) #31.直接寫類名調(diào)用2.用super(type,obj).method(arg)方法調(diào)用。3.在類定義中調(diào)用本類的父類方法,可以直接super().method(arg).在代碼中調(diào)用對(duì)象的父類的方法的示例:ob = B()super(B,ob).method(arg) #調(diào)用class B的父類class A的method。初始化中調(diào)用父類初始化方法示例:class B(A):

excel函數(shù)

主要是文本、格式以及臟數(shù)據(jù)的清洗和轉(zhuǎn)換。很多數(shù)據(jù)并不是直接拿來(lái)就能用的,需要經(jīng)過(guò)數(shù)據(jù)分析人員的清理。數(shù)據(jù)越多,這個(gè)步驟花費(fèi)的時(shí)間越長(zhǎng)。

1、Trim

作用:清除掉字符串兩邊的空格

mysql有同名函數(shù),py有近似函數(shù)strip

2、concatenate

合并單元格的內(nèi)容,當(dāng)然還有另外一種合并方式是。

‘天’‘氣’‘好’=天氣好。

當(dāng)合并內(nèi)容過(guò)多是,concatenate的效率高。

mysql有近似函數(shù)concat。

3、replace

作用:替換掉單元格的字符串。

mysql和Python中都有同名函數(shù)。

4、Substitute

和replace功能接近,區(qū)別在于,該替換是全局替換,沒(méi)有起始位置的概念。

5、left/right/mid

作用:截取字符串中的字符。

mysql中有同名函數(shù)

6、Len/Lenb

返回字符串的長(zhǎng)度,在len中,中文計(jì)算為一個(gè),在lenb中,中文計(jì)算為兩個(gè)。

Mysql和python中有同名函數(shù)。

7、Find

查找某字符出現(xiàn)的位置,可以指定為第幾次出現(xiàn),與left/right/mid結(jié)合能完成簡(jiǎn)單的文本提取。

mysql中有近似函數(shù)find_in_set,python中有同名函數(shù)。

8、search

和find類似,區(qū)別是search大小寫不敏感,但支持*通配符。

9、Text

將數(shù)值轉(zhuǎn)化為指定的文本格式,可以和時(shí)間序列函數(shù)一起看。

在進(jìn)行多表關(guān)聯(lián)或者行列對(duì)比時(shí)用到的函數(shù),越復(fù)雜的表用的越多,但良好的表習(xí)慣可以減少這類函數(shù)的使用。

1、lookup

最被忽略的函數(shù),功能性和vlookup一樣,但是引申有數(shù)組匹配和二分法。

2、vlookup

3、index

和match組合,媲美vlookup,但是功能更強(qiáng)大。

4、match

5、row

返回單元格所在的行

6、column

返回單元格所在的列

7、offset

建立坐標(biāo)系,以坐標(biāo)系為原點(diǎn),返回距離原點(diǎn)的值或者區(qū)域。正數(shù)代表向下或向左,負(fù)數(shù)則相反。

像Excel一樣使用Python(一)

在進(jìn)行數(shù)據(jù)處理時(shí),如果數(shù)據(jù)簡(jiǎn)單,數(shù)量不多,excel是大家的首選。但是當(dāng)數(shù)據(jù)眾多,類型復(fù)雜,需要靈活地顯示切片、進(jìn)行索引、以及排序時(shí),python會(huì)更加方便。借助python中的numpy和pandas庫(kù),它能快速完成各種任務(wù),包括數(shù)據(jù)的創(chuàng)建、檢查、清洗、預(yù)處理、提取、篩選、匯總、統(tǒng)計(jì)等。接下來(lái)幾篇文章,將以excel為參照,介紹python中數(shù)據(jù)的處理。

提到pandas,那就不得不提兩類重要的數(shù)據(jù)結(jié)構(gòu),Series和DataFrame,這兩類數(shù)據(jù)結(jié)構(gòu)都是建立在numpy的數(shù)組array基礎(chǔ)上。與array相比,Series是一個(gè)一維的數(shù)據(jù)集,但是每個(gè)數(shù)據(jù)元素都帶有一個(gè)索引,有點(diǎn)類似于字典。而DataFrame在數(shù)組的基礎(chǔ)上,增加了行索引和列索引,類似于Series的字典,或者說(shuō)是一個(gè)列表集。

所以在數(shù)據(jù)處理前,要安裝好numpy , pandas。接下來(lái)就看看如何完成一套完整的數(shù)據(jù)操作。

創(chuàng)建數(shù)據(jù)表的方法分兩種,分別是從外部導(dǎo)入數(shù)據(jù),以及直接寫入數(shù)據(jù)。

在python中,也可外部導(dǎo)入xlsx格式文件,使用read_excel()函數(shù):

import pandas as pd

from pandas import DataFrame,Series

data=DataFrame(pd.read_excel('c:/python27/test.xlsx'))

print data

輸出:

Gene Size Function

0 arx1 411 NaN

1 arx2 550 monooxygenase

2 arx3 405 aminotransferase

……

即:調(diào)用pandas中read_excel屬性,來(lái)讀取文件test.xlsx,并轉(zhuǎn)換成DataFrame格式,賦給變量data。在每一行后,自動(dòng)分了一個(gè)索引值。除了excel,還支持以下格式文件的導(dǎo)入和寫入:

Python寫入的方法有很多,但還是不如excel方便。常用的例如使用相等長(zhǎng)度的字典或numpy數(shù)組來(lái)創(chuàng)建:

data1 = DataFrame(

{'Gene':['arx1','arx2','arx3'],

'Size':[411,550,405],

'Func':[np.NaN,'monooxygenase','aminotransferase ']})

print data1

輸出

Func Gene Size

0 NaN arx1 411

1 monooxyg arx2 550

2 amino arx3 405

分配一個(gè)行索引后,自動(dòng)排序并輸出。

在python中,可以使用info()函數(shù)查看整個(gè)數(shù)據(jù)的詳細(xì)信息。

print data.info()

輸出

RangeIndex: 7 entries, 0 to 6

Data columns (total 3 columns):

Gene 7 non-null object

Size 7 non-null int64

Function 5 non-null object

dtypes: int64(1), object(2)

memory usage: 240.0+ bytes

None

此外,還可以通過(guò)shape, column, index, values, dtypes等函數(shù)來(lái)查看數(shù)據(jù)維度、行列組成、所有的值、 數(shù)據(jù)類型:

print data1.shape

print data1.index

print data1.columns

print data1.dtypes

輸出

(3, 3)

RangeIndex(start=0, stop=3, step=1)

Index([u'Func', u'Gene', u'Size'], dtype='object')

Func object

Gene object

Size int64

dtype: object

在excel中可以按“F5”,在“定位條件”中選擇“空值”,選中后,輸入替換信息,再按“Ctrl+Enter”即可完成替換。

在python中,使用函數(shù) isnull 和 notnull 來(lái)檢測(cè)數(shù)據(jù)丟失, 包含空值返回True,不包含則返回False。

pd.isnull(data1)

pd.notnull(data1)

也可以使用函數(shù)的實(shí)例方法,以及加入?yún)?shù),對(duì)某一列進(jìn)行檢查:

print data1['Func'].isnull()

輸出

Func Gene Size

0 True False False

1 False False False

2 False False False

再使用fillna對(duì)空值進(jìn)行填充:

data.fillna(value=0)

#用0來(lái)填充空值

data['Size'].fillna(data1['Size'].mean())

#用data1中Size列的平均值來(lái)填充空值

data['Func']=data['Func'].map(str.strip)

#清理Func列中存在的空格

Excel中可以按“Ctrl+F”,可調(diào)出替換對(duì)話框,替換相應(yīng)數(shù)據(jù)。

Python中,使用replace函數(shù)替換:

data['Func'].replace('monooxygenase', 'oxidase')

將Func列中的'monooxygenase'替換成'oxidase'。

Excel中,通過(guò)“數(shù)據(jù)-篩選-高級(jí)”可以選擇性地看某一列的唯一值。

Python中,使用unique函數(shù)查看:

print data['Func'].unique()

輸出

[nan u'monooxygenase' u'aminotransferase' u'methyltransferase']

Excel中,通過(guò)UPPER、LOWER、PROPER等函數(shù)來(lái)變成大寫、小寫、首字母大寫。

Python中也有同名函數(shù):

data1['Gene'].str.lower()

Excel中可以通過(guò)“數(shù)據(jù)-刪除重復(fù)項(xiàng)”來(lái)去除重復(fù)值。

Python中,可以通過(guò)drop_duplicates函數(shù)刪除重復(fù)值:

print data['Func'].drop_duplicates()

輸出

0 NaN

1 monooxygenase

2 aminotransferase

3 methyltransferase

Name: Func, dtype: object

還可以設(shè)置“ keep=’last’ ”參數(shù),后出現(xiàn)的被保留,先出現(xiàn)的被刪除:

print data['Func'].drop_duplicates(keep='last')

輸出

2 aminotransferase

3 methyltransferase

6 monooxygenase

8 NaN

Name: Func, dtype: object

內(nèi)容參考:

Python For Data Analysis

藍(lán)鯨網(wǎng)站分析博客,作者藍(lán)鯨(王彥平)

python函數(shù)高級(jí)

一、函數(shù)的定義

函數(shù)是指將一組語(yǔ)句的集合通過(guò)一個(gè)名字(函數(shù)名)封裝起來(lái),想要執(zhí)行這個(gè)函數(shù),只需要調(diào)用函數(shù)名即可

特性:

減少重復(fù)代碼

使程序變得可擴(kuò)展

使程序變得易維護(hù)

二、函數(shù)的參數(shù)

2.1、形參和實(shí)參數(shù)

形參,調(diào)用時(shí)才會(huì)存在的值

實(shí)慘,實(shí)際存在的值

2.2、默認(rèn)參數(shù)

定義:當(dāng)不輸入?yún)?shù)值會(huì)有一個(gè)默認(rèn)的值,默認(rèn)參數(shù)要放到最后

2.3、 關(guān)鍵參數(shù)

定義: 正常情況下,給函數(shù)傳參數(shù)要安裝順序,不想按順序可以用關(guān)鍵參數(shù),只需要指定參數(shù)名即可,(指定了參數(shù)名的就叫關(guān)鍵參數(shù)),但是要求是關(guān)鍵參數(shù)必須放在位置參數(shù)(以位置順序確定對(duì)應(yīng)的參數(shù))之后

2.4、非固定參數(shù)

定義: 如你的函數(shù)在傳入?yún)?shù)時(shí)不確定需要傳入多少個(gè)參數(shù),就可以使用非固定參數(shù)

# 通過(guò)元組形式傳遞

# 通過(guò)列表形式傳遞

# 字典形式(通過(guò)k,value的方式傳遞)

# 通過(guò)變量的方式傳遞

三、函數(shù)的返回值

作用:

返回函數(shù)執(zhí)行結(jié)果,如果沒(méi)有設(shè)置,默認(rèn)返回None

終止函數(shù)運(yùn)行,函數(shù)遇到return終止函數(shù)

四、變量的作用域

全局變量和局部變量

在函數(shù)中定義的變量叫局部變量,在程序中一開(kāi)始定義的變量叫全局變量

全局變量作用域整個(gè)程序,局部變量作用域是定義該變量的函數(shù)

當(dāng)全局變量與局部變量同名是,在定義局部變量的函數(shù)內(nèi),局部變量起作用,其他地方全局變量起作用

同級(jí)的局部變量不能互相調(diào)用

想要函數(shù)里邊的變量設(shè)置成全局變量,可用global進(jìn)行設(shè)置

五、特殊函數(shù)

5.1、嵌套函數(shù)

定義: 嵌套函數(shù)顧名思義就是在函數(shù)里邊再嵌套一層函數(shù)

提示 在嵌套函數(shù)里邊調(diào)用變量是從里往外依次調(diào)用,意思就是如果需要調(diào)用的變量在當(dāng)前層沒(méi)有就會(huì)去外層去調(diào)用,依次內(nèi)推

匿名函數(shù)

基于Lambda定義的函數(shù)格式為: lambda 參數(shù):函數(shù)體

參數(shù),支持任意參數(shù)。

匿名函數(shù)適用于簡(jiǎn)單的業(yè)務(wù)處理,可以快速并簡(jiǎn)單的創(chuàng)建函數(shù)。

# 與三元運(yùn)算結(jié)合

5.3、高階函數(shù)

定義:變量可以指向函數(shù),函數(shù)的參數(shù)可以接收變量,那么一個(gè)函數(shù)就可以接收另一個(gè)函數(shù)作為參數(shù),這種函數(shù)稱之為高階函數(shù) 只需要滿足一下任意一個(gè)條件,即是高階函數(shù)

接收一個(gè)或多個(gè)函數(shù)作為輸入

return返回另一個(gè)函數(shù)

5.4、遞歸函數(shù)

定義:一個(gè)函數(shù)可以調(diào)用其他函數(shù),如果一個(gè)函數(shù)調(diào)用自己本身,這個(gè)函數(shù)就稱為遞歸函數(shù)

在默認(rèn)情況下Python最多能遞歸1000次,(這樣設(shè)計(jì)師是為了防止被內(nèi)存被撐死)可以通過(guò)sys.setrecursionlimit(1500)進(jìn)行修改

遞歸實(shí)現(xiàn)過(guò)程是先一層一層的進(jìn),然后在一層一層的出來(lái)

必須有一個(gè)明確的條件結(jié)束,要不然就是一個(gè)死循環(huán)了

每次進(jìn)入更深層次,問(wèn)題規(guī)模都應(yīng)該有所減少

遞歸執(zhí)行效率不高,遞歸層次過(guò)多會(huì)導(dǎo)致站溢出

# 計(jì)算4的階乘 4x3x2x1

# 打印數(shù)字從1-100

5.5、閉包現(xiàn)象

定義:內(nèi)層函數(shù)調(diào)用外層函數(shù)的變量,并且內(nèi)存函數(shù)被返回到外邊去了

閉包的意義:返回的函數(shù)對(duì)象,不僅僅是一個(gè)函數(shù)對(duì)象,在該函數(shù)外還包裹了一層作用域,這使得,該函數(shù)無(wú)論在何處調(diào)用,優(yōu)先使用自己外層包裹的作用域

python函數(shù)有哪些

1、print()函數(shù):打印字符串;

2、raw_input()函數(shù):從用戶鍵盤捕獲字符;

3、len()函數(shù):計(jì)算字符長(zhǎng)度;

4、format()函數(shù):實(shí)現(xiàn)格式化輸出;

5、type()函數(shù):查詢對(duì)象的類型;

6、int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù);

7、id()函數(shù):獲取對(duì)象的內(nèi)存地址;

8、help()函數(shù):Python的幫助函數(shù);

9、s.islower()函數(shù):判斷字符小寫;

10、s.sppace()函數(shù):判斷是否為空格;

11、str.replace()函數(shù):替換字符;

12、import()函數(shù):引進(jìn)庫(kù);

13、math.sin()函數(shù):sin()函數(shù);

14、math.pow()函數(shù):計(jì)算次方函數(shù);

15、os.getcwd()函數(shù):獲取當(dāng)前工作目錄;

16、listdir()函數(shù):顯示當(dāng)前目錄下的文件;

17、time.sleep()函數(shù):停止一段時(shí)間;

18、random.randint()函數(shù):產(chǎn)生隨機(jī)數(shù);

19、range()函數(shù):返回一個(gè)列表,打印從1到100;

20、file.read()函數(shù):讀取文件返回字符串;

21、file.readlines()函數(shù):讀取文件返回列表;

22、file.readline()函數(shù):讀取一行文件并返回字符串;

23、split()函數(shù):用什么來(lái)間隔字符串;

24、isalnum()函數(shù):判斷是否為有效數(shù)字或字符;

25、isalpha()函數(shù):判斷是否全為字符;

26、isdigit()函數(shù):判斷是否全為數(shù)字;

27、 lower()函數(shù):將數(shù)據(jù)改成小寫;

28、upper()函數(shù):將數(shù)據(jù)改成大寫;

29、startswith(s)函數(shù):判斷字符串是否以s開(kāi)始的;

30、endwith(s)函數(shù):判斷字符串是否以s結(jié)尾的;

31、file.write()函數(shù):寫入函數(shù);

32、file.writeline()函數(shù):寫入文件;

33、abs()函數(shù):得到某數(shù)的絕對(duì)值;

34、file.sort()函數(shù):對(duì)書數(shù)據(jù)排序;

35、tuple()函數(shù):創(chuàng)建一個(gè)元組;

36、find()函數(shù):查找 返回的是索引;

37、dict()函數(shù):創(chuàng)建字典;

38、clear()函數(shù):清楚字典中的所有項(xiàng);

39、copy()函數(shù):復(fù)制一個(gè)字典,會(huì)修改所有的字典;

40、 get()函數(shù):查詢字典中的元素。

…………

網(wǎng)站名稱:Python的同名函數(shù) 自己定義的函數(shù)名不能與Python內(nèi)置函數(shù)同名
標(biāo)題來(lái)源:http://m.kartarina.com/article20/hgspjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化網(wǎng)站內(nèi)鏈虛擬主機(jī)ChatGPTApp開(kāi)發(fā)

廣告

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

微信小程序開(kāi)發(fā)
主站蜘蛛池模板: 无码A级毛片日韩精品| 无码欧精品亚洲日韩一区夜夜嗨 | 无码国模国产在线无码精品国产自在久国产| 国产AV巨作情欲放纵无码| 免费无码VA一区二区三区| 亚洲一级特黄大片无码毛片| 亚洲AV无码久久精品色欲| 无码av专区丝袜专区| 无码人妻精品一区二区三区99仓本 | 亚洲天堂2017无码中文| 亚洲精品一级无码中文字幕| 最新无码人妻在线不卡| 无码精品人妻一区二区三区免费看 | 亚洲AV蜜桃永久无码精品| 免费看成人AA片无码视频羞羞网| 本免费AV无码专区一区| 精品久久久无码中字| 久久国产精品无码HDAV| 中文人妻无码一区二区三区 | 国产在线无码制服丝袜无码| 小13箩利洗澡无码视频网站 | 无码AV大香线蕉| 久久久久亚洲AV无码专区体验| 亚洲成av人片不卡无码久久| 亚洲中文字幕无码mv| 久久精品亚洲中文字幕无码麻豆 | 午夜成人无码福利免费视频| 最新中文字幕av无码专区| 欧洲无码一区二区三区在线观看| 一本一道AV无码中文字幕| 国产精品毛片无码| 日产无码1区2区在线观看| 日韩AV无码精品一二三区| 内射人妻无码色AV天堂| 亚洲中文无码永久免| 性色av无码免费一区二区三区| 亚洲熟妇av午夜无码不卡| 亚洲精品无码你懂的| 亚洲av无码偷拍在线观看| 丰满少妇被猛烈进入无码| 国产午夜鲁丝片AV无码免费|