精华内容
下载资源
问答
  • python调用外部函数,python 函数定义类
    千次阅读
    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("再次调用同一函数");

    #以上实例输出结果:

    #我要调用用户自定义函数!

    #再次调用同一函数

    更多相关内容
  • 如下为示例说明:1、python函数的应用一般需要:先定义、后调用: 2、如果函数定义在调用之后,执行将报错: 3、函数中调用函数不受此限制: 4、但是语句对函数调用,必须在函数调用之后,包括直接调用的函数调用的...

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

    但是python中需要注意:

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

    如下为示例说明:

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

    892d33c8fc97d28933c28b5e5efd2c56.png

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

    058b0517ae2db90465f7dbace88d7136.png

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

    caccb00fdcb935830382dc50d5247b99.png

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

    7cc235cecd7512a4e578691866acdc81.png

    补充知识: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函数必须先定义,后调用说明(函数调用函数例外)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。

    展开全文
  • 类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中。它可以被指定为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行的函数,一般在类体内声明,在类外定义。

    展开全文
  • 比如 class Abc(): def __init__(self): self.fun() def fun(): xxxxx 这样调用函数可以吗
  • 2016-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:09
    python 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:47
    1、函数定义 C源程序是由函数组成的。最简单的程序有一个主函数 main(),但实用程序往往由多个函数组成,由 主函数调用其他函数,其他函数也可以互相调用函数是C源程序的基本模块,程序的许多功能是通过对 函数模块...
  • 标准的先函数定义,后函数调用 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:24
    Verilog中函数定义调用。 代码实现: /*----------------------------------- Filename: try_factorial.v Function: Verilog中函数定义调用 Author: Zhang Kaizhou Date: 2019-8-7 23:35:17 --------...
  • python中函数定义调用注意事项

    千次阅读 2018-08-10 16:37:27
    2.函数调用的注意事项 3.函数参数传递的本质 4.匿名的函数lambda的使用 5.return语句的使用注意事项 1.函数的定义注意事项 1.函数的格式: def 函数名(参数): #注意函数以冒号开始 "函数帮助说明" #一般...
  • 假设你想在类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...
  • linux 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是不需要先编译的,所以这决定了你调用函数之前得知道有这个函数,所以执行代码前需要有要用到的函数的定...
  • 在类定义成员函数 成员函数可以在类体中直接定义。也可以在类体中只写成员函数的声明,而在类的外面进行函数定义。如: class Student { public : void display( ); //公用成员函数原型声明 private : int ...
  • 函数定义调用和声明

    千次阅读 2021-05-02 20:44:37
    一、函数定义: 1.格式:【返回类型】 函数名 (形参) { 语句体; /*语句体中可以是声明也可以是语句 } 2.返回类型:返回类型是返回值的类型。 有两点规则:(1)函数不能返回数组,但关于返回类型没有其他限制。 ...
  • 定义一个基类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:32
    1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:开发时,使用函数可以提高编写的效率以及代码的重用‘’ 函数: 函数是带名字的代码块,用于完成具体的工作 需要程序中多次执行同一项任务时...
  • python定义函数时默认参数注意事项

    千次阅读 2020-12-14 07:11:38
    如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用,如def func(arg1=[]): arg1.append(2)调用func时如果没有传参,上面的arg1就是func.__defaults__[0]的引用没...
  • 但有时候,用户需要编写自己的函数,尤其设计的时候。 调用自己编写的函数 可分为:有返回值 函数 和 无返回值 函数;下面依次介绍: 1、 定义无返回值函数,并调用; 下面直接放代码,更直观。 #include &...
  • #标准的先函数定义,后函数调用 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 关键词开头,后接函数标识符名称和圆括号 ()。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,632,797
精华内容 1,053,118
关键字:

在类里定义了函数,函数的调用在