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函数必须先定义,后调用说明(函数调用函数例外)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]