Python函數(shù)必須先定義,后調(diào)用說明(函數(shù)調(diào)用函數(shù)例外)
java開發(fā)者在定義類中的方法時,不會關(guān)心方法的定義相對于調(diào)用語句的位置。
但是python中需要注意:
函數(shù)必須先定義、后調(diào)用(函數(shù)調(diào)用函數(shù)例外)。
如下為示例說明:
1、python函數(shù)的應(yīng)用一般需要:先定義、后調(diào)用:

2、如果函數(shù)定義在調(diào)用之后,執(zhí)行將報錯:

3、函數(shù)中調(diào)用函數(shù)不受此限制:

4、但是語句對函數(shù)調(diào)用,必須在函數(shù)調(diào)用之后,包括直接調(diào)用的函數(shù)調(diào)用的其他函數(shù)也必須在調(diào)用語句之前,否則報錯:

補充知識:Python的列表等變量的聲明必須要在函數(shù)定義與函數(shù)調(diào)用之前
源代碼
—–這個代碼作用是調(diào)用Linux應(yīng)用終端操作來實現(xiàn)計算,并把計算結(jié)果取出來,組成相似矩陣,有五組值也就是有五組相似矩陣,這個是我做蛋白質(zhì)結(jié)構(gòu)預(yù)測用到的,自己寫的,分享出來給大家,如有疑惑,歡迎評論區(qū)交流。
# 此代碼主要為說明問題,后面我會貼上完整代碼以及數(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]
運行結(jié)果
—–運行結(jié)果,錯誤如下,如果把# fsadf后面的列表的聲明提到函數(shù)定義的前面,則錯誤就沒有了,列表的聲明必須要在函數(shù)的調(diào)用之前,這個就更不用講了,如果你不在函數(shù)調(diào)用之前的話,會提示列表不存在。。
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)用說明(函數(shù)調(diào)用函數(shù)例外)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django crontab定時任務(wù)模塊操作方法解析
這篇文章主要介紹了Django crontab定時任務(wù)模塊操作方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
Python tkinter界面實現(xiàn)歷史天氣查詢的示例代碼
這篇文章主要介紹了Python tkinter界面實現(xiàn)歷史天氣查詢的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Python保存環(huán)境方式(導(dǎo)出requirements.txt文件)
這篇文章主要介紹了Python保存環(huán)境方式(導(dǎo)出requirements.txt文件),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
通過Python OpenGL的point sprite技術(shù)繪制雪花
通常,點精靈(point sprite)技術(shù)被用于描述大量粒子在屏幕上的運動,自然也可以用于繪制雪花。本文將通過Python OpenGL繪制雪花,感興趣的可以動手試一試2022-02-02
python標(biāo)準(zhǔn)庫之time模塊的語法與簡單使用
在平常的代碼中,我們常常需要與時間打交道,那么在Python中,與時間處理有關(guān)的模塊就包括:time、datetime以及calendar,這篇文章主要給大家介紹了關(guān)于python標(biāo)準(zhǔn)庫之time模塊的語法與使用的相關(guān)資料,需要的朋友可以參考下2021-08-08
Python中Scipy庫在信號處理中的應(yīng)用詳解
信號處理作為數(shù)字信號處理領(lǐng)域的關(guān)鍵技術(shù),涵蓋了從信號獲取、傳輸、存儲到最終應(yīng)用的一系列處理步驟,在這篇博客中,我們將深入探討Python中Scipy庫在信號處理領(lǐng)域的應(yīng)用,需要的朋友可以參考下2023-12-12
python實現(xiàn)測試工具(二)——簡單的ui測試工具
這篇文章主要介紹了python如何實現(xiàn)簡單的ui測試工具,幫助大家更好的利用python進行測試工作,感興趣的朋友可以了解下2020-10-10

