Python 训练 Day 5-6

Python 训练 Day 5-6 函数与lambda表达式

静水流深 2019.10.26

函数

函数

函数就是能够实现特定功能的一个代码块,这个代码块可以反复使用。在定义的时候,关键字 def 函数名 括号 冒号。在函数体内要缩进以表示这是函数体内容。
格式如下

def JSLSfunction():
    print('This is JSLS\' blog')

调用函数的时候直接写出函数的名字即可

JSLSfunction()#'This is JSLS' blog'
参数

1)形参和实参
形参就是在函数定义时候括号里的内容。实参就是在函数调用的时候传递给函数的值。

def JSLSfunction (xingcan)
    print (xingcan+=1)
shican = int('输入你的数字')
JSLSfunction (shican)

在这里,函数定义时候是形参,传递进就是实参。形参只是个名字,没有实际意义,实参有实际值。
2) 关键字参数
关键字参数就是在函数定义的时候,形式参数有名字。形式参数可能有很多,当我们在调用函数的时候,需要向函数传递多个实际参数。当我们不进行说明,默认传入的实参和形参顺序一致。但是我们在调用函数的时候,可以声明那个是给形参A的你是个是给形参B的。

def Myfunction(a,b)
    print(a'呵呵'b)

当我们不去理会顺序的时候

Myfunction('甲','乙')#甲呵呵乙
Myfunction('乙','甲')#乙呵呵甲

当我们有关键字参数

Myfunction(b='乙',a='甲')#甲呵呵乙

3) 默认参数
定义函数时候可以给形参一个默认值,如果有实参传递进来,就用实参。

def Myfunction(a=1)
    print('a')

没有实参就调用 Myfunction ( ),

Myfunction()#1

当我们加入实参

Myfunction(5)#5

4)收集参数,收集参数就是在定义函数的时候在形参名前加上 * 号,然后就会收集你传入的所有实参。当函数在运行的时候,你想让函数调用某个特定值,就加上方括号 [ ] 。

def Myfunction (*canshu)
    print (canshu,canshu[0])
Myfunction (1,'JSLS') #['1','JSLS'] 1

如果在收集参数后有需要定制特定参数,用关键字参数,否则传递进去的实参全部被认为是收集参数。

def Myfunction (*canshu1,canshu2)
    print (canshu2)
Myfunction (1,'jsls'3.14,canshu2=555) #555    

5) 全局变量
函数所使用的变量是局部变量,实参传递进入函数,函数对于实参的任何修改都不会影响到实参原本值。
当我们想对外部变量实现修改,在定义函数的时候可以使用关键字 global。

def Myfunction(canshu)
    global canshu
    canshu+=1
A=10
print (A)#10
Myfunction(A)
print (A)#11
内嵌函数

内嵌函数就是在函数内再定义一个函数

def fun1()
    print('fun1 正在被调用......')
    def fun2()
        print('fun2 正在被调用......')
    fun2()
fun1()#fun1 正在被调用...... fun2 正在被调用......
lambda表达式

格式

lambda x : x+=5

冒号前是是参数,冒号后是返回值。多个参数/返回值用逗号 , 隔开。
lambda表达式相当于一个匿名函数,非常精简,可以把原本的函数定义给省去。不需要很多的空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值