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 可爱的大小写
Sep 06 Python
状态机的概念和在Python下使用状态机的教程
Apr 11 Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 Python
Python使用itertools模块实现排列组合功能示例
Jul 02 Python
详解python使用turtle库来画一朵花
Mar 21 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
Python实现多态、协议和鸭子类型的代码详解
May 05 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
基于python实现简单C/S模式代码实例
Sep 14 Python
Pycharm编辑器功能之代码折叠效果的实现代码
Oct 15 Python
Python将list元素转存为CSV文件的实现
Nov 16 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
基于PHP对XML的操作详解
2013/06/07 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
PHP实现查询手机归属地的方法详解
2017/04/28 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
python如何在列表、字典中筛选数据
2018/03/19 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
我的网上商城创业计划书
2013/12/26 职场文书
初二政治教学反思
2014/01/12 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
青年文明号口号
2014/06/17 职场文书
西柏坡导游词
2015/02/05 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
Python初识逻辑与if语句及用法大全
2021/08/07 Python
MySQL七大JOIN的具体使用
2022/02/28 MySQL
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
Golang Web 框架Iris安装部署
2022/08/14 Python