Python学习——函数

发布时间:2019-05-09 21:56:18编辑:auto阅读(2260)

    Python学习——函数

    1.函数定义:

    def Firstfunction():
        'Mashiro'
        print("I love Mashiro!")
    print(Firstfunction.__doc__)#函数文档 Firstfunction()#函数调用
    输出:
    Mashiro
    I love Mashiro!

     

    2.关键字参数:在函数调用时无需考虑参数的顺序

    def Secondfunction(name1, name2):
        print(name1 + " love " + name2 + "!")、
    
    Secondfunction(name2='Mashiro', name1='I')
    输出:
    I love Mashiro!

     

    3.默认参数:在函数定义时为参数指定默认参数值

    def Thirdfunction(name1='I', name2='Mashiro'):
        print(name1 + " love " + name2 + "!")
    Thirdfunction()
    Thirdfunction(
    "Sakura"
    输出:
    I love Mashiro!
    Sakura love Mashiro!

    4.可变参数:函数可以有任意数量的变量,可以通过星号来实现(print参数也为可变参数)

    def test(*variable, name):
        print("参数长度是:", len(variable), name)
        print("第二个参数是", variable[1])
    
    
    test(1, 'Mashiro', 2, 3, 4, 5, name='Shiina')
    输出:
    参数长度是: 6 Shiina
    第二个参数是 Mashiro

    5.Return:从函数中返回

    def Calmaximum(x,y):
        if x>=y:
            return x
        else:
            return y
    
    print(Calmaximum(3,4))
    输出:4

    6.global:通过global语句,可以为定义在函数之外的变量赋值

    temp=50
    def testglobal():
        global temp
        temp=100
    
    testglobal()
    print(temp)
    输出:100

    7.闭包

    7.1 在外函数中定义了一个内函数,内函数里使用了外函数的临时变量,且外函数的返回值是内函数的引用,便构成了闭包。

    def testclosure(x):
        def innerfun(y):
            print(x * y)
    
        return innerfun
    
    
    tmp = testclosure(4)
    print(type(tmp))
    tmp(5)
    tmp1 = testclosure(4)(5)
    输出:
    20
    20

    7.2 内函数修改外函数值的两种方法

    def fun(a):
        x = 1
        y = [a]
    
        def fun1():
            nonlocal x#用nonlocal关键字声明,向上面的空间中寻找变量
            x = x + 1
            y[0] = y[0] + 1#把变量修改为可改变的数据类型
            print(x)
            print(y[0])
        return fun1()
    
    fun(5)
    输出:
    2
    6

     

    8.lambda表达式

    lambda 函数参数:函数返回值

    优点:1.使代码更加简洁。2.不需要考虑命名问题。

    f = lambda x: 2 * x + 1
    print(f(5))
    输出:11

     

关键字