Python函数必须先定义,后调用说明(函数调用函数例外)


Posted in Python onJune 02, 2020

java开发者在定义类中的方法时,不会关心方法的定义相对于调用语句的位置。

但是python中需要注意:

函数必须先定义、后调用(函数调用函数例外)。

如下为示例说明:

1、python函数的应用一般需要:先定义、后调用:

Python函数必须先定义,后调用说明(函数调用函数例外)

2、如果函数定义在调用之后,执行将报错:

Python函数必须先定义,后调用说明(函数调用函数例外)

3、函数中调用函数不受此限制:

Python函数必须先定义,后调用说明(函数调用函数例外)

4、但是语句对函数调用,必须在函数调用之后,包括直接调用的函数调用的其他函数也必须在调用语句之前,否则报错:

Python函数必须先定义,后调用说明(函数调用函数例外)

补充知识: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 相关文章推荐
Python 文件和输入输出小结
Oct 09 Python
python正则表达式re模块详细介绍
May 29 Python
极简的Python入门指引
Apr 01 Python
python简单实现计算过期时间的方法
Jun 09 Python
python用模块zlib压缩与解压字符串和文件的方法
Dec 16 Python
python爬虫获取京东手机图片的图文教程
Dec 29 Python
Python 中字符串拼接的多种方法
Jul 30 Python
python numpy存取文件的方式
Apr 01 Python
Python魔法方法 容器部方法详解
Jan 02 Python
Python xpath表达式如何实现数据处理
Jun 13 Python
Anaconda使用IDLE的实现示例
Sep 23 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
QML实现钟表效果
Jun 02 #Python
Pymysql实现往表中插入数据过程解析
Jun 02 #Python
Django全局启用登陆验证login_required的方法
Jun 02 #Python
python爬虫基础知识点整理
Jun 02 #Python
如何理解python面向对象编程
Jun 01 #Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 #Python
matlab、python中矩阵的互相导入导出方式
Jun 01 #Python
You might like
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
用JavaScript调用WebService的示例
2008/04/07 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
Python Process多进程实现过程
2019/10/22 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
三星印度官网:Samsung印度
2019/08/03 全球购物
ABOUT YOU罗马尼亚:超过600个时尚品牌
2019/09/19 全球购物
班组安全员工作职责
2014/02/01 职场文书
运动会入场解说词
2014/02/07 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
幼儿园安全责任书
2014/04/14 职场文书
庆祝国庆节标语
2014/10/09 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
优秀党员个人总结
2015/02/14 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
golang特有程序结构入门教程
2021/06/02 Python
四十九个javascript小知识实用技巧
2021/11/20 Javascript
详解Go语言中Get/Post请求测试
2022/06/01 Golang