python---函数

利用函数可以提高代码的重用率,减少代码冗余。
一.定义函数
使用def 语句定义函数,格式如下:

def 函数名(参数表):
	函数语句
	return返回值

其中函数和返回值都不是必须有的,python允许函数没有参数,也可以没有返回值。

def say():							#定义函数
	print("你好")
say()                                                          #调用函数

二.函数调用:
函数通过函数名加上一组()进行调用,参数放在圆括号内,多个参数之间用逗号分开。在Python中所有的语句都是实时执行的,所以函数的调用就是必须在函数定义之后。函数名也是一个变量,他引用return语句返回的值,没有返回值时,函数值为None。
三.函数参数:
形参:在定义函数时,参数表中的各个参数称为形式参数,简称形参。
实参:调用函数时,参数表中提供的参数称为实际参数,简称实参。
变量保存的是对象的引用,类似c/c++的指针。实参传递给形参就是将对象的引用赋值给形参。
1.多态性
多态是面向对象的一个特点,指同一个行为针对不同对象可能会得到不同的结果。python中的变量无类型属性,变量可引用各种不同类型的对象。用一个函数,传递的实际参数类型不同时,可获得不同的结果,这体现了多态性。
2.赋值传递
通常,函数的调用时按参数的先后顺序,将实参传递给形参。
参数赋值传递方式称为关键字传递。
3.谨慎使用可变参数
当参数是可变对象时,若在函数中修改形参,因为是共享引用,通过实参也获得修改后的对象。
如果要避免列表在函数中被修改,可使用列表的拷贝作为实参,还可以在函数内对列表进行拷贝,实参仍使用变量。
4.有默认值的参数
在定义函数时,可以为参数设置一个默认值。调用函数时如果未提供实参,则形参取默认值。(注:带默认值的参数在定义函数时,应放在参数表的末尾)
5.传递任意个数的参数
在定义函数时,若参数名前面使用星号“*”,则表示可接受任意个数的参数,这些参数保存在数组中。
6.必须通过赋值传递的参数
允许使用必须通过赋值传递的参数。在定义函数时,带星号参数之后的参数必须通过赋值传递。
四.lambda函数
lambda函数也称为表达式函数,用于定义一个匿名函数,可以将该函数赋值给变量,通过变量调用。
lambda函数的基本格式:

lambda参数表:表达式

与def不同,lambda函数体只能是一个表达式,可以调用其他的函数,但不能使用Python的其他语句。

五.递归函数
递归函数是指在函数体内调用函数本身。

六.函数列表
函数列表的实质就是在元组、列表、字典等序列中建立函数对象的引用,然后通过索引来调用函数。

函数内部的本地变量,在调用函数时(即函数执行期间)才会被创建。函数执行结束,本地变量也会从内存删除。def是一条可执行语句,他创建了一个函数对象赋值给函数变量名。

.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值