-
2020-12-22 14:05:34
Q1:python函数里的数组如何在函数外调用出来
使用返回值的方法有两种:
可以直接把调用的函数作为变量使用
可以用调用函数给一个变量赋值
第一种情况见如下例子:
l = [1,2,3,4,5]
def add_element(list, element):
list.append(element)
return list
printadd_element(l, 6)
# >>>[1,2,3,4,5,6]
printadd_element(l, 6)[5]
# >>> 6
第二种情况:
l1 =add_element(l, 6)
print l1
# >>>[1,2,3,4,5,6]
print l1[5]
# >>> 6
注意: 以上例子都是应用于python 2.x
Q2:Python自定义函数如何调用?
Python自定义函数如何调用这个问题,我的看法是需要明白什么是函数,什么是参数这两个问题。什么是函数,函数是组织好的,可以复用的用于解决同一类问题的代码段
函数是我们根据需要、对事物的了解,组织成某一个代码段,供其它类似的场景中调用。函数提高了应用的模块性、代码的重复复用-复用性。python中有许多内建的函数,比如:str(),print()等是函数,我们也可以自己定义创建函数,被称作自定义函数。python中通过def这个关键字来声名定义一个函数。什么是函数的参数,函数的参数给函数提供了更高的灵活性
函数的参数是我们事先定义的一个变量,变量的好处在于值是不固定的,可以在调用函数的时候根据需要使用特定的值。除了正常定义的必选参数外,还可以使用默认参数,可变参数和关键字参数。函数调用示例
无参数函数调用,直接调用就可以得到结果,不需要输入其它值
有参数的函数调用,需要根据需要输入相应的参数,得到相应的结果函数的调用,就是需要我们事先想清楚相应的逻辑,然后组织一段代码,供后续的业务调用使用,在调用的时候只需要使用对应的函数名称和参数就可以使用(在有参的情况下,输入相应的参数值)。
Q3:python中怎么在一个函数内调用另外一个函数,类
123456789101112defa(x):y=x*xreturnydefb(x):y=a(x)returnyy1=a(2)y2=b(3)#这样就可以了试一下
Q4:python中如何定义函数
用def关键字,括号里是参数列表
def add(a, b):
return a+b
#下面调用
print add(1, 2)
Q5:python 在一个类中函数调用可以在函数定义之前吗
两种位置都试一下呗,编程需要有探索的劲儿,不然文档手册都看不下去的话,很难提高
Q6:Python函数定义和调用时都加*,有什么作用?
函数定义时,*和**都代表的可变参数,*代表的是元组或列表,**代表的是字典,至于函数调用时,*代表将这个元组或列表的元素拆开,依次传递给函数的每个参数,这些具体的例子你可以在网上查一下,相关书籍也有具体介绍的,在实际编程中也会经常遇到,可以解决许多意想不到的问题。
Q7:Python如何调用自定义类中的函数?
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。
如下实例调用了printme()函数:
复制代码 代码如下:#!/usr/bin/python
# Function definition is here
def printme( str ):
"打印任何传入的字符串"
print str;
return;
# Now you can call printme function
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");
#以上实例输出结果:
#我要调用用户自定义函数!
#再次调用同一函数
更多相关内容 -
Python函数必须先定义,后调用说明(函数调用函数例外)
2021-02-04 13:39:29如下为示例说明:1、python函数的应用一般需要:先定义、后调用: 2、如果函数定义在调用之后,执行将报错: 3、函数中调用函数不受此限制: 4、但是语句对函数调用,必须在函数调用之后,包括直接调用的函数调用的...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 "", 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函数必须先定义,后调用说明(函数调用函数例外)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。
-
C++类的成员函数(在类外定义成员函数)
2021-04-25 21:37:04类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中。它可以被指定为private(私有的...类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中。它可以被指定为private(私有的)、public (公用的)或protected(受保护的)。
在使用类函数时,要注意调用它的权限(它能否被调用)以及它的作用域(函数能使用什么范围中的数据和函数)。例如私有的成员函数只能被本类中的其它成员函数所调用,而不能被类外调用。成员函数可以访问本类中任何成员(包括私有的和公用的),可以引用在本作用域中有效的数据。
一般的做法是将需要被外界调用的成员函数指定为public,它们是类的对外接口。但应注意,并非要求把所有成员函数都指定为public。有的函数并不是准备为外界调用的,而是为本类中的成员函数所调用的,就应该将它们指定为private。这种函数的作用是支持其它函数的操作,是类中其它成员的工具函数(utility function),类外用户不能调用这些私有的工具函数。
类的成员函数是类体中十分重要的部分。如果一个类中不包含成员函数,就等同于C语言中的结构体了,体现不出类在面向对象程序设计中的作用。
在类外定义成员函数
在前面已经看到成员函数是在类体中定义的。也可以在类体中只写成员函数的声明,而在类的外面进行函数定义。如:
class Student { public : void display( ); //公用成员函数原型声明 private : int num; string name; char sex; //以上3行是私有数据成员 }; void Student::display( )//在类外定义display类函数 { cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; } Student stud1,stud2; //定义两个类对象
注意:在类体中直接定义函数时,不需要在函数名前面加上类名,因为函数属于哪一个类是不言而喻的。
但成员函数在类外定义时,必须在函数名前面加上类名,予以限定(qualifed)," :: "是作用域限定符(field qualifier)或称作用域运算符,用它声明函数是属于哪个类的。
如果在作用域运算符“::”的前面没有类名,或者函数名前面既无类名又无作用域运算符“::”,如
::display( ) 或 display( )
则表示display函数不属于任何类,这个函数不是成员函数,而是全局函数,即非成员函数的一般普通函数。类函数必须先在类体中作原型声明,然后在类外定义,也就是说类体的位置应在函数定义之前,否则编译时会出错。
虽然函数在类的外部定义,但在调用成员函数时会根据在类中声明的函数原型找到函数的定义(函数代码),从而执行该函数。
在类的内部对成员函数作声明,而在类体外定义成员函数,这是程序设计的一种良好习惯。如果一个函数,其函数体只有2-3行,一般可在声明类时在类体中定义。多于3行的函数,一般在类体内声明,在类外定义。
-
python类中如何调用在类里定义的函数啊。。
2017-09-14 07:50:26比如 class Abc(): def __init__(self): self.fun() def fun(): xxxxx 这样调用函数可以吗 -
python中怎么在一个函数内调用另外一个函数,类似C语言那样的
2020-12-05 05:33:282016-03-31 回答函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么”。 至于函数式编程的特点暂不总结,我们直接拿例子来...2016-03-31 回答
函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么”。 至于函数式编程的特点暂不总结,我们直接拿例子来体会什么是函数式编程。
lambda表达式(匿名函数):
普通函数与匿名函数的定义方式:
#普通函数
def add(a,b):
return a + b
print add(2,3)
#匿名函数
add = lambda a,b : a + b
print add(2,3)
#========输出===========
5
5
匿名函数的命名规则,用lamdba 关键字标识,冒号(:)左侧表示函数接收的参数(a,b) ,冒号(:)右侧表示函数的返回值(a+b)。
因为lamdba在创建时不需要命名,所以,叫匿名函数^_^
map函数:
计算字符串长度
abc = ['com','fnng','cnblogs']
for i in range(len(abc)):
print len(abc[i])
#========输出===========
3
4
7
定义abc字符串数组,计算abc长度然后循环输出数组中每个字符串的长度。
来看看map()函数是如何来实现这个过程的。
abc_len = map(len,['hao','fnng','cnblogs'])
print abc_len
#========输出===========
[3, 4, 7]
虽然,输出的结果中是一样的,但它们的形式不同,第一种是单纯的数值了,map()函数的输出仍然保持了数组的格式。
大小写转换;
python提供有了,upper() 和 lower() 来转换大小写。
#大小写转换
ss='hello world!'
print ss.upper() #转换成大写
print ss.lower() #转换成小写
#========输出===========
hello world!
hello world!
通过map()函数转换:
def to_lower(item):
return item.lower()
name = map(to_lower,['com','fnng','cnblogs'])
print name
#========输出===========
['com', 'fnng', 'cnblogs']
这个例子中我们可以看到,我们写义了一个函数toupper,这个函数没有改变传进来的值,只是把传进来的值做个简单的操作,然后返回。然后,我们把其用在map函数中,就可以很清楚地描述出我们想要干什么。
再来看看普通的方式是如何实现字符串大小写转换的:
abc = ['com','fnng','cnblogs']
lowname = []
for i in range(len(abc)):
lowname.append(abc[i].lower())
print lowname
#========输出===========
['hao', 'fnng', 'cnblogs']
map()函数加上lambda表达式(匿名函数)可以实现更强大的功能。
#求平方
#0*0,1*1,2*2,3*3,....8*8
squares = map(lambda x : x*x ,range(9))
print squares
#========输出===========
[0, 1, 4, 9, 16, 25, 36, 49, 64]
reduce函数:
def add(a,b):
return a+b
add = reduce(add,[2,3,4])
print add
#========输出===========
9
对于reduce函数每次是需要对两个数据进行处理的,首选取2 和3 ,通过add函数相加之后得到5,接着拿5和4 ,再由add函数处理,最终得到9 。
在前面map函数例子中我们可以看到,map函数是每次只对一个数据进行处理。
然后,我们发现通过reduce函数加lambda表达式式实现阶乘是如何简单:
#5阶乘
#5!=1*2*3*4*5
print reduce(lambda x,y: x*y, range(1,6))
#========输出===========
120
python中的除了map和reduce外,还有一些别的如filter, find, all, any的函数做辅助(其它函数式的语言也有),可以让你的代码更简洁,更易读。 我们再来看一个比较复杂的例子:
#计算数组中正整数的值
number =[2, -5, 9, -7, 2, 5, 4, -1, 0, -3, 8]
count = 0
sum = 0
for i in range(len(number)):
if number[i]>0:
count += 1
sum += number[i]
print sum,count
if count>0:
average = sum/count
print average
#========输出===========
30 6
5
如果用函数式编程,这个例子可以写成这样:
number =[2, -5, 9, -7, 2, 5, 4, -1, 0, -3, 8]
sum = filter(lambda x: x>0, number)
average = reduce(lambda x,y: x+y, sum)/len(sum)
print average
#========输出===========
5
最后我们可以看到,函数式编程有如下好处:
1)代码更简单了。
2)数据集,操作,返回值都放到了一起。
3)你在读代码的时候,没有了循环体,于是就可以少了些临时变量,以及变量倒来倒去逻辑。
4)你的代码变成了在描述你要干什么,而不是怎么去干。
-
C++创建类并调用类里的函数
2020-10-31 15:53:32#include using namespace std;//使用标准命名空间,不然下面都要写std::cout,height;...//定义一个Cy的类X double v = X.volume();//计算体积 double a = X.area();//计算面积 cout;//输出 return 0; } -
c语言中怎么调用自己定义的函数?
2021-05-25 07:59:46在C语言中,函数调用的方式有多种,例如:在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参列表中各个参数是自左向右使用呢,还是自右向左使用。对此,各系统的规定不一定相同。【示例】... -
Python中函数的定义及其调用
2018-07-19 13:00:01定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用‘’ 函数: 函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项... -
python def 定义函数,调用函数
2019-07-13 22:04:09python def 定义函数,调用函数 def sum_2_nums(a,b): #def 定义函数 result = a+b print('%d+%d=%d'%(a,b,result)) num1 = int(input('请输入第一个数字:')) num2 = int(input('请输入第二个数字:')) sum_2_... -
C语言函数定义和函数调用
2020-04-01 19:05:471、函数的定义 C源程序是由函数组成的。最简单的程序有一个主函数 main(),但实用程序往往由多个函数组成,由 主函数调用其他函数,其他函数也可以互相调用。函数是C源程序的基本模块,程序的许多功能是通过对 函数模块... -
python中的函数必须在调用之前(函数调用函数例外)定义
2019-04-03 14:58:27标准的先函数定义,后函数调用 def add1(a,b): return a+b print add1(1,2) 函数2可以调用后面定义的函数3 #事实上,我们在调用函数2的时候,一样是遵循先定义后调用的准则 def add2(a,b): return add3(a,b) ... -
Verilog中函数的定义及调用
2019-08-07 23:54:24Verilog中函数的定义及调用。 代码实现: /*----------------------------------- Filename: try_factorial.v Function: Verilog中函数的定义及调用 Author: Zhang Kaizhou Date: 2019-8-7 23:35:17 --------... -
python中函数的定义和调用注意事项
2018-08-10 16:37:272.函数调用的注意事项 3.函数参数传递的本质 4.匿名的函数lambda的使用 5.return语句的使用注意事项 1.函数的定义注意事项 1.函数的格式: def 函数名(参数): #注意函数以冒号开始 "函数帮助说明" #一般... -
在一个类的成员函数中调用另一个类的成员函数
2015-03-23 13:14:41假设你想在类A里调用类B的函数int f(x),两种办法: 1、class A::B 也就是说将B定义为A的父类, 这样你就可以自然的在A里面用f(x)了 2、class A { B B_ins; int g(x); } int g(x) { return B_ins.f(x... -
Shell函数(函数定义、函数变量、函数调用、函数传参、函数返回值、获取函数返回值)
2019-11-23 15:45:02linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下: [function] funname [()]{ 函数体 [return int;] } 格式1: 简化写法,不写 function 关键字: 函数名(){ ... -
Python如何在main中调用函数内的函数
2019-06-07 00:37:45一般在Python中在函数中定义的函数是不能直接调用的,但是如果要用的话怎么办呢? 一般情况下: def a():#第一层函数 def b():#第二层函数 print('打开文件B') b()#第二层中的函数直接调用 结果显示:... -
python中类的函数的调用
2021-10-19 14:12:00一切都可以看到它,无论是在顶层,在函数内部,还是在一个类中的方法内部。 本地范围意味着它已锁定在该块的上下文中,并且块外的任何内容都无法看到它。在 您的情况下,该块是一个函数。 1、以Student类为例,在... -
python def 定义函数,调用函数方式
2020-12-18 23:26:07更多编程教程请到:菜鸟教程 ...友情链接: ... python def 定义函数,调用函数方式 def sum_2_nums(a,b): #def 定义函数 result = a+b print('%d+%d=%d'%(a,b,result)) num1 = int(input(‘请输入第一 -
虚函数定义及其调用
2018-09-14 08:40:21在派生类中定义与基类虚函数同名同参数同返回值类型的成员函数 即派生类中的虚函数 虽然基类中的虚函数与个派生类中的虚函数同名同参数,但由于个虚函数的函数体是不同的 因而可用同名虚函数在运行时完成不同对象的... -
python中函数的定义和调用的先后顺序问题
2019-04-04 11:49:38版权声明:转载请注明作者(独孤尚良dugushangliang)出处: ...python是不需要先编译的,所以这决定了你调用函数之前得知道有这个函数,所以执行代码前需要有要用到的函数的定... -
C++类的成员函数(在类外定义成员函数、inline成员函数)
2018-05-12 23:18:18在类外定义成员函数 成员函数可以在类体中直接定义。也可以在类体中只写成员函数的声明,而在类的外面进行函数定义。如: class Student { public : void display( ); //公用成员函数原型声明 private : int ... -
函数的定义、调用和声明
2021-05-02 20:44:37一、函数定义: 1.格式:【返回类型】 函数名 (形参) { 语句体; /*语句体中可以是声明也可以是语句 } 2.返回类型:返回类型是返回值的类型。 有两点规则:(1)函数不能返回数组,但关于返回类型没有其他限制。 ... -
c++ 继承与派生(1)——在派生类的函数中调用基类的成员函数
2020-03-14 17:45:13定义一个基类Base,有两个公共成员函数fun1()和fun2(),如果公有派生出Derived类,Derived类中重载了基类的成员函数fun1(),没有重载基类的成员函数fun2(),如何在派生类的函数中调用基类的成员函数fn1(),fn2()?... -
Java中如何调用函数和自定义函数
2021-02-12 09:00:49调用函数方法:对象名.函数名需要实例化对象,后调用2.自定义32313133353236313431303231363533e4b893e5b19e31333365663433函数:结构为:[方法修饰符] ([]){方法体}有以下几种函数:方法有2种修饰符1)有public、... -
python类中函数调用
2019-10-30 23:03:32#类及函数的定义 Class A: #构造函数: def __init__(self,var1,var2): self.var1 = var1 self.var2 = var2 def b(self,var1,var2): return var1+var2 ...#类内函数调用: var1=1 var2=2 #创建对象:... -
Python中函数的定义及其调用方法
2019-12-11 21:09:321.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用‘’ 函数: 函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项任务时... -
python定义函数时默认参数注意事项
2020-12-14 07:11:38如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用,如def func(arg1=[]): arg1.append(2)调用func时如果没有传参,上面的arg1就是func.__defaults__[0]的引用没... -
VS 2017 C++ 简单的用户定义函数及调用
2018-10-03 21:29:48但有时候,用户需要编写自己的函数,尤其在设计类的时候。 调用自己编写的函数 可分为:有返回值 函数 和 无返回值 函数;下面依次介绍: 1、 定义无返回值函数,并调用; 下面直接放代码,更直观。 #include &... -
python函数的定义必须在调用前面(函数调用函数例外)
2017-07-06 17:07:45#标准的先函数定义,后函数调用 def add1(a,b): return a+b print add1(1,2) #函数2可以调用后面定义的函数3 #事实上,我们在调用函数2的时候,一样是遵循先定义后调用的准则 def add2(a,b): return add3... -
Python——函数的定义及调用
2018-08-12 19:52:21定义函数 1. 自定义函数的规则 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用...