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实现图片批量剪切示例
Mar 25 Python
python实现simhash算法实例
Apr 25 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 Python
Python实现随机生成有效手机号码及身份证功能示例
Jun 05 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
Python基础之高级变量类型实例详解
Jan 03 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
打造计数器DIY三步曲(下)
2006/10/09 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
session 加入redis的实现代码
2016/07/15 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
php自动加载代码实例详解
2021/02/26 PHP
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
python爬虫的工作原理
2017/03/05 Python
python书籍信息爬虫实例
2018/03/19 Python
使用python 3实现发送邮件功能
2018/06/15 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
python带参数打包exe及调用方式
2019/12/21 Python
美国智能家居专家:tink
2019/06/04 全球购物
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
文明宿舍获奖感言
2014/02/07 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
公司年底活动方案
2014/08/17 职场文书
基石观后感
2015/06/12 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL