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!

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄