Python函數(shù)必須先定義,后調(diào)用說(shuō)明(函數(shù)調(diào)用函數(shù)例外)
java開(kāi)發(fā)者在定義類(lèi)中的方法時(shí),不會(huì)關(guān)心方法的定義相對(duì)于調(diào)用語(yǔ)句的位置。
但是python中需要注意:
函數(shù)必須先定義、后調(diào)用(函數(shù)調(diào)用函數(shù)例外)。
如下為示例說(shuō)明:
1、python函數(shù)的應(yīng)用一般需要:先定義、后調(diào)用:
2、如果函數(shù)定義在調(diào)用之后,執(zhí)行將報(bào)錯(cuò):
3、函數(shù)中調(diào)用函數(shù)不受此限制:
4、但是語(yǔ)句對(duì)函數(shù)調(diào)用,必須在函數(shù)調(diào)用之后,包括直接調(diào)用的函數(shù)調(diào)用的其他函數(shù)也必須在調(diào)用語(yǔ)句之前,否則報(bào)錯(cuò):
補(bǔ)充知識(shí):Python的列表等變量的聲明必須要在函數(shù)定義與函數(shù)調(diào)用之前
源代碼
—–這個(gè)代碼作用是調(diào)用Linux應(yīng)用終端操作來(lái)實(shí)現(xiàn)計(jì)算,并把計(jì)算結(jié)果取出來(lái),組成相似矩陣,有五組值也就是有五組相似矩陣,這個(gè)是我做蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)用到的,自己寫(xiě)的,分享出來(lái)給大家,如有疑惑,歡迎評(píng)論區(qū)交流。
# 此代碼主要為說(shuō)明問(wèn)題,后面我會(huì)貼上完整代碼以及數(shù)據(jù)。 def cal_simi(n): file = os.popen('cd '+path[n-1]+';ls').readlines() RMSD_simi = [] TMscore_simi = [] MasSubscore_simi = [] GDTTSscore_simi = [] GDTHAscore_simi = [] for fileName1 in file: temp1 = [];temp2=[];temp3=[];temp4=[];temp5=[] for fileName2 in file: comm = 'cd /home/stern/Desktop/TMscore;' + 'sudo ./TMscore ' + path[n-1] + fileName1[:-1] +' '+ path[n-1] + fileName2[:-1] # storge the result of the command in data data = os.popen(comm).readlines() temp1.append(data[14][32:38]);temp2.append(data[16][14:20]);temp3.append(data[17][14:20]) temp4.append(data[18][14:20]);temp5.append(data[19][14:20]) RMSD_simi.append(temp1) TMscore_simi.append(temp2) MasSubscore_simi.append(temp3) GDTTSscore_simi.append(temp4) GDTHAscore_simi.append(temp5) p1 = np.median(RMSD_simi);p2 = np.median(TMscore_simi);p3 = np.median(MasSubscore_simi) p4 = np.median(GDTTSscore_simi);p5 = np.median(GDTHAscore_simi) for i in range(len(file)): RMSD_simi[i][i] = p1 TMscore_simi[i][i] = p2 MasSubscore_simi[i][i] = p3 GDTTSscore_simi[i][i] = p4 GDTHAscore_simi[i][i] = p5 return RMSD_simi,TMscore_simi,MasSubscore_simi,GDTTSscore_simi,GDTHAscore_simi Xn = ['1abv_','1af7_','1cqkA','1csp_','1dcjA','256bA'] path = ['/home/stern/Desktop/1abv_/','/home/stern/Desktop/1af7_/','/home/stern/Desktop/1cqkA/', '/home/stern/Desktop/1csp_/','/home/stern/Desktop/1dcjA/','/home/stern/Desktop/256bA/'] # fsadf RMSD_simi1 = [] TMscore_simi1 = [] MasSubscore_simi1 = [] GDTTSscore_simi1 = [] GDTHAscore_simi1 = [] RMSD_simi1,TMscore_simi1,MasSubscore_simi1,GDTTSscore_simi1,GDTHAscore_simi1=cal_simi(1) print RMSD_simi1[1][1] print TMscore_simi1[2][2] print MasSubscore_simi1[3][3] print GDTTSscore_simi1[4][4] print GDTHAscore_simi1[5][5]
運(yùn)行結(jié)果
—–運(yùn)行結(jié)果,錯(cuò)誤如下,如果把# fsadf后面的列表的聲明提到函數(shù)定義的前面,則錯(cuò)誤就沒(méi)有了,列表的聲明必須要在函數(shù)的調(diào)用之前,這個(gè)就更不用講了,如果你不在函數(shù)調(diào)用之前的話,會(huì)提示列表不存在。。
Xn = ['1abv_','1af7_','1cqkA','1csp_','1dcjA','256bA'] File "<stdin>", line 30 Xn = ['1abv_','1af7_','1cqkA','1csp_','1dcjA','256bA'] ^ SyntaxError: invalid syntax >>> path = ['/home/stern/Desktop/1abv_/','/home/stern/Desktop/1af7_/','/home/stern/Desktop/1cqkA/', ... '/home/stern/Desktop/1csp_/','/home/stern/Desktop/1dcjA/','/home/stern/Desktop/256bA/']
以上這篇Python函數(shù)必須先定義,后調(diào)用說(shuō)明(函數(shù)調(diào)用函數(shù)例外)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python Flask異步發(fā)送郵件實(shí)現(xiàn)方法解析
這篇文章主要介紹了Python Flask異步發(fā)送郵件實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08用python實(shí)現(xiàn)讀取xlsx表格操作
大家好,本篇文章主要講的是用python實(shí)現(xiàn)讀取xlsx表格操作,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01Python如何獲取Win7,Win10系統(tǒng)縮放大小
這篇文章主要介紹了Python如何獲取Win7,Win10系統(tǒng)縮放大小,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01接口自動(dòng)化多層嵌套json數(shù)據(jù)處理代碼實(shí)例
這篇文章主要介紹了接口自動(dòng)化多層嵌套json數(shù)據(jù)處理代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11python數(shù)據(jù)結(jié)構(gòu)之鏈表詳解
這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)結(jié)構(gòu)之鏈表的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09