函数(python)

认识函数:在一个完整的项目中,某些功能会反复使用,那么会将功能封装为函数,当我们要使用功能的时候,直接调用函数即可。
函数

  1. 本质:
    对功能的封装。

  2. 优点:
    简化代码结构,增加了代码的复用度(重复使用的程度)
    如果想修改某些功能或者调试某些BUG,只需要修改对应的函数即可。

  3. 定义函数

格式:
def 函数名(参数列表):  
	语句
	return 表达式

def:函数代码块以def关键字开始
函数名:遵循标识符规则
参数列表(参数1,参数2……):任何传入函数的参数和变量放入其中。函数从函数的调用者那里获得信息。
语句:函数封装的功能
return:用于结束函数,并返回信息给函数的调用者。
表达式:即为要返回给函数的调用者的信息。
注意:return表达式可以不写,相当于return None

函数的调用:

格式:函数名(参数列表)
函数名:是要使用的功能的函数名字
参数列表:函数的调用者给函数传递的信息
函数调用的本质:实参给形参赋值的过程

传递参数:
值传递:传递不可变类型,string,tuple,number是不可变的
引用传递:传递的可变类型 list,dict,set是可变的

关键字参数:
允许函数调用时参数的顺序与定义时的不一样

默认参数:
调用函数时,如果没有传递参数,则使用默认参数

注意:以后要用默认参数,最好将默认参数放到最后

def myPrint(str ="good man",age = 18):
	print(str, age)
myPrint()

输出:good man 18

不定长参数:
能处理比定义时更多的参数。

加了星号*的变量存放所有未命名的变量参数,如果在函数调用时没有指定参数,它就是一个空元组。

def func(name, *arr):
	print(name)
	for x in arr:
		print(x)
func("good", "hello", "uouo")

输出为:
	good hello uouo

**代表键值对的参数字典,和*代表的意义类似

def func2(**kwargs):
	print(kwargs)
	print(type(kwargs))
	
func2(x = 1, y = 2, z = 3

输出:
	{‘x’:1, 'y':2, 'z':3}
	<class 'dict'>

匿名函数:
不使用def这样的语句定义函数,使用lambda来创建匿名函数。
特点::

  1. lambda只是一个表达式,函数体比def简单;
  2. lambda的主体是一个表达式,而不是代码块,仅仅只能在表达式中封装简单地逻辑;
  3. lambda函数有自己的命名空间,且不能访问自由参数之外的或全局命名空间的参数;
  4. 虽然lambda是一个表达式且看起来只能写一行,与c和c++函数不同。
    格式:
    lambda 参数1,参数2,……参数n:expression
sum = lambda num1, num2:num1+num2
print(sum(1,2))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值