Python函数必须先定义,后调用说明(函数调用函数例外)
作者:couragehope 时间:2022-03-06 18:03:53
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/']
来源:https://blog.csdn.net/couragehope/article/details/83031932
标签:Python,函数,定义,调用
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
yolov5特征图可视化的使用步骤
2022-07-22 01:25:40
![](https://img.aspxhome.com/file/2023/8/107208_0s.jpg)
linux CentOS6.5 yum安装mysql5.6
2024-01-28 16:45:25
python3获取控制台输入的数据的具体实例
2022-05-08 13:49:37
![](https://img.aspxhome.com/file/2023/6/118726_0s.png)
Linux 中PHP的安装教程
2023-10-07 20:34:21
这么多的 Oracle 性能工具
2008-06-04 11:20:00
Access数据库用另一种方式管理密码
2008-10-13 12:25:00
原生js实现的贪吃蛇网页版游戏完整实例
2024-04-10 16:12:21
使用Django实现把两个模型类的数据聚合在一起
2023-11-11 23:37:42
![](https://img.aspxhome.com/file/2023/8/131358_0s.jpg)
MySQL中主键为0与主键自排约束的关系详解(细节)
2024-01-22 20:10:04
![](https://img.aspxhome.com/file/2023/7/124537_0s.png)
Mysql DDL常见操作汇总
2024-01-22 05:30:09
按钮表状态还是表动作?
2009-03-23 18:21:00
![](https://img.aspxhome.com/file/UploadPic/20093/23/1-300x272-42s.jpg)
pytorch中tensor张量数据类型的转化方式
2022-03-19 20:07:24
Python自动化办公之Word转PDF的实现
2022-10-04 05:30:50
![](https://img.aspxhome.com/file/2023/9/133799_0s.jpg)
python从入门到精通(DAY 3)
2023-11-03 08:23:18
![](https://img.aspxhome.com/file/2023/8/63598_0s.png)
python输出决策树图形的例子
2022-02-07 09:14:54
解决pytorch 的state_dict()拷贝问题
2022-10-05 22:03:57
Python使用re模块实现正则表达式操作指南
2022-03-14 18:11:11
![](https://img.aspxhome.com/file/2023/3/69453_0s.png)
解决在Dreamweaver中不支持中文文件名的方法
2010-09-02 12:35:00
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021-03-19 17:44:43
![](https://img.aspxhome.com/file/2023/0/121850_0s.jpg)
又一个php 分页类实现代码
2023-11-15 13:04:56