zoukankan      html  css  js  c++  java
  • 函数

    1、在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。

    #自创一个求绝对值的函数
    def my_abs(x):
        if x >= 0:
            return x
        else:
            return -x

    一旦遇到return函数就执行完毕并返回值。如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。

    return就是将值返回给调用函数的地方

    2、请定义一个 square_of_sum 函数,它接受一个list,返回list中每个元素平方的和

    def square_of_sum(L):
        return sum(x*x for x in L)            #先定义好元素平方的值
    print (square_of_sum([1, 2, 3, 4, 5]))    #直接调用定义好的求平方,然后用sum求和
    print (square_of_sum([-5, 0, 5, 15, 25])) 

    3、函数可以返回多个值

    #从一个位置通过计算速度移动到另一个位置,可得出所需时间
    def move(x,y,speed):
        time = abs(x - y) / speed
        return time
    #这样就可以直接调用上面的函数,自己创建值
    t = move(90,100,1)
    print(t)
    

    其实返回的值是一个tuple的形式,所以返回的值还是一个可能包含多个元素的元组

    4、位置参数与关键字参数

    def test(x,y,z)
    
    #位置参数,必须一一对应,不可多或少
    test(1,2,3)    #x = 1,y = 2,z = 3
    
    #关键字参数,无须一一对应,不可多或少
    test(x = 1,z = 3,y = 2)
    
    #位置参数必须在关键字参数左边,同样不可多或少
    test(1,2,z = 3)

    5、参数组arg、kwarg

    # *列表(位置参数)
    def test(x,*args):
        print(x)
        print(args)
    
    test(1,['x','y','z'])
    输出:1
         (['x', 'y', 'z'],)
    
    test(1,*['x','y','z'])
    输出:1
         ('x', 'y', 'z')
    
    # **字典(关键字参数)
    def test(x,**kwargs):
        print(x)
        print(kwargs)
    
    test(1,y = 2,z = 3)
    输出:1
         {'y': 2, 'z': 3}
    
    test(1,{'y' : 2})
    报错
    test(1,**{'y' : 2})
    输出:1
         {'y': 3}

    6、前项引用

    #错误示范1:
    def foo():
        print('from foo')
        bar()
    foo()
    #错误示范2:
    def foo():
        print('from foo')
        bar()
    
    foo()
    
    def bar():
        print('from bar')
    
    #正确示范:
    def bar():
        print('from bar')
    def foo():
        print('from foo')
        bar()
    foo()
    
    
    
    def foo():
        print('from foo')
        bar()
    def bar():
        print('from bar')
    foo()

    7、递归

    def cale(n):
        print(n)
        if int(n / 2) == 0:
            return n
        else:
            s = cale(int(n/2))
            return s
           
    cale(10)
    

    在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

  • 相关阅读:
    奖券数目
    用jQuery和ajax实现搜索框文字自动补全功能
    简单的文件上传功能实现(java)
    示例演示公告通知标题无缝向上滚动,文字段落无缝向上滚动,简单的wangeditor富文本编辑器,简单的音乐播放demo
    SSM框架中注解含义及应用场景小结
    数据库优化以及SQL优化小结
    javaWEB中前后台乱码解决问题小结
    线程同步的方法
    MySQL的简单使用
    springMVC运行流程图及运行原理
  • 原文地址:https://www.cnblogs.com/harvey0414/p/10532932.html
Copyright © 2011-2022 走看看