python中函数的作用Python 函数定义以及参数传递
1.函数定义
#形如def func(args...):
doSomething123
以关键字def 开头python函数有什么用,后面是函数名和参数下面是函数处理过程 。
举例:
def add( a, b ):
return a b12
参数可以设定默认值,如:
def add( a, b=10 ): #注意:默认值参数只会运算一次
return a b12
默认值参数只会运算一次是什么意思python函数有什么用?
def func( a, b=[] ): #b的默认值指向一个空的列表,每次不带默认值都会指向这块内存
b.append(a)return b
print(func(1))#向默认的空列表里加入元素1 , 默认列表里已经是[1]print(func(2))#向默认的列表里加入元素2,默认列表里已经是[1,2]print(func(3,[]))#向b指向的空列表里加入元素1,默认列表里还是[1,2]print(func(4))#向默认的列表里加入元素4,默认列表里已经是[1,2,4]'''
结果:
[1]
[1, 2]
[3]
[1, 2, 4]
'''12345678910111213141516
这下明白为什么默认参数只计算一次了吧,函数参数不传递时默认值总是指向固定的内存空间,就是第一次计算的空间 。
2.参数传递
def func(a, b):
print('a=%d, b=%d' % (a,b) )12
在使用函数时可以如下方式,结果都是相同的
func(10,20) #不使用参数名,需要按参数顺序传递func(a=10,b=20) #使用参数名可以不按顺序传递func(b=20,a=10)#结果:a=10, b=20a=10, b=20a=10, b=201234567
如果函数定义形式如下方式:
def func(*args): #这种定义会把传递的参数包成元组
print(args,type(args))
func(10,20)#结果:#(10, 20) class 'tuple'1234567
举一个和上述过程相反的例子:
def func(a,b):
print('a=%d, b=%d' % (a,b) )
a = (10, 20)
func(*a) #在调用函数使用`*`则会把元组解包成单个变量按顺序传入函数#结果:a=10, b=20123456
总结:*号在定义函数参数时,传入函数的参数会转换成元组,如果 *号在调用时则会把元组解包成单个元素 。
另一种定义:
def func(**kw):#使用**定义参数会把传入参数包装成字典dict
print(kw, type(kw) )
func(a=10,b=20)#这种函数在使用时必须指定参数值,使用key=value这种形式#结果:{'b': 20, 'a': 10} class 'dict'12345
相反的例子:
def func(a,b):
print('a=%d, b=%d' % (a,b) )
d = {'a':10, 'b':20 }
func(**d) #在调用时使用**会把字典解包成变量传入函数 。12345
def func(*args, **kw):#这种形式的定义代表可以接受任意类型的参数
print(args,kw )12
总结:**号在定义函数参数时,传入函数的参数会转换成字典 , 如果 **号在调用时则会把字典解包成单个元素 。
lambda表达式
lambda表达式就是一种简单的函数
形如 f = lambda 参数1,参数2: 返回的计算值
例如:
add = lambda x,y: x y
print(add(1,2))'''
结果:3
'''12345
python中函数的作用不包括python中函数的作用不包括增加代码量 。根据查询相关资料信息,python中函数的作用有复用代码、提高效率、减少代码量等相关作用 。
python中rt()函数的作用函数的主要作用是结束重复编写代码 , 函数的编写更容易理解测试代码 。
函数不单单只能够重复代码,也可以将函数外部的数据传递至函数内部的代码中 。位置调用实参 , 关键字调用实参,形参默认值 。
有些时候我们需要默认值,当你不填写的时候它会有个默认值,返回值,内置方法return可指定返回的值 , 在函数内部代码中,如果遇到return则会立即停止,并且返回你指定的值 。在默认没有指定的情况下,返回的值时none,不指定返回值时 , 让实参变成可选的在实际的使用中可能有些时候需要实参,但有时候不需要,调用函数时不可能一直更改定义好的函数,这时需要我们提供可以选择的实参 。
【python函数有什么用 python中的函数用法】关于python函数有什么用和python中的函数用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 老硬盘接口怎么转usb,老式硬盘转usb
- 4k素材怎么上传视频号,4k素材怎么上传视频号教程
- 建立mysql启动时找不到指定文件,mysql服务找不到指定文件
- 主角为男的恋爱养成游戏,主角为男的恋爱养成游戏的小说
- WINDOWS7系统归属的简单介绍
- 比对sqlserver和Oracle数据,sql server oracle区别
- 鸿蒙系统的拨号软件是什么,鸿蒙语音拨号
- 全运会哪个平台看直播最好,全运会在哪个平台看直播
- vb.net重写 vbnet replace