java开发者在定义类中的方法时,不会关心方法的定义相对于调用语句的位置。
但是python中需要注意:
函数必须先定义、后调用(函数调用函数例外)。
如下为示例说明:
1、python函数的应用一般需要:先定义、后调用:
2、如果函数定义在调用之后,执行将报错:
3、函数中调用函数不受此限制:
4、但是语句对函数调用,必须在函数调用之后,包括直接调用的函数调用的其他函数也必须在调用语句之前,否则报错:
补充知识:Python的列表等变量的声明必须要在函数定义与函数调用之前
源代码
—–这个代码作用是调用Linux应用终端操作来实现计算,并把计算结果取出来,组成相似矩阵,有五组值也就是有五组相似矩阵,这个是我做蛋白质结构预测用到的,自己写的,分享出来给大家,如有疑惑,欢迎评论区交流。
# 此代码主要为说明问题,后面我会贴上完整代码以及数据。 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]
运行结果
—–运行结果,错误如下,如果把# fsadf后面的列表的声明提到函数定义的前面,则错误就没有了,列表的声明必须要在函数的调用之前,这个就更不用讲了,如果你不在函数调用之前的话,会提示列表不存在。。
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函数必须先定义,后调用说明(函数调用函数例外)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
Python,函数,定义,调用
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]