1.什么是函数?
函数是编程中的一种封装机制,用来将一组可重复使用的代码片段组织在一起,以便在不同的地方调用。函数可以接收输入(称为参数),执行特定的操作,并且可以返回输出(称为返回值)。函数的主要目的是提高代码的复用性、可读性和组织性。
2. 函数定义的语法:
使用 def
关键字定义函数,接下来是函数名和参数列表。参数列表可以为空,也可以包含多个参数,多个参数用逗号分隔。函数体是缩进的代码块,它包含函数的执行逻辑。return
语句用于返回函数的结果,return
是可选的,如果没有 return
,函数默认返回 None
。
3. 调用函数的语法
示例:
4.函数的多个返回值:
函数可以同时返回多个值,返回的值可以用不同的变量接收,这些返回值会被打包成一个元组
注意点:
- 函数可以返回多个值,多个返回值以逗号分隔,默认打包成元组返回。
- 调用时,可以通过多个变量解包来获取每个返回值。
5. 多种传参方式:
(1)位置参数:
按参数定义的顺序进行传参。调用函数时,实参的顺序必须与形参顺序匹配。
(2) 关键字参数
使用参数名进行传参,顺序可以与定义时不同,调用时不必按顺序,只需提供参数名即可。
(3) 混合位置传参和关键字传参
可以结合位置参数和关键字参数,不过要注意,位置参数必须出现在关键字参数之前。
(4)缺省参数(默认参数)
在函数定义时,可以为参数指定一个默认值,这样调用函数时如果没有为该参数传递值,则会使用默认值。
缺省参数需要放在非缺省参数之后,否则会导致语法错误。
6. 不定长参数
(1)*位置不定长参数(args)
使用 *args
可以接收任意数量的位置参数,传入的参数会被打包成元组。
*args
可以让函数接受不定数量的参数,实参传入后会变成一个元组。
(2)**关键字不定长参数(kwargs)
使用 **kwargs
可以接收任意数量的关键字参数,传入的参数会被打包成字典。
**kwargs
接收的是字典类型,参数传入时需要以键值对的形式给出。
7.总结:
- 函数的返回值:可以通过
return
返回多个值,用元组的形式返回并可以通过解包获取。 - 参数传递方式:
- 位置参数:按顺序传递参数。
- 关键字参数:通过参数名传递,顺序无关。
- 混合参数:位置参数在前,关键字参数在后。
- 缺省参数:可以为参数设置默认值,未传值时会使用默认值。
- 不定长参数:
*args
接受任意数量的位置参数,传入的参数打包为元组。**kwargs
接受任意数量的关键字参数,传入的参数打包为字典。
练习源码:
#函数的多个返回值
def test_return():
return 1,"word",False
x,y,z=test_return()
print(x,y,z)
#多种传参方式
def use_info(name,age,sex):
print(f"用户的姓名:{ name},年龄是:{age},性别是:{sex}")
#位置传参
use_info("小明",19,"男")
#关键字传参
use_info(age=18,name='小花',sex=19)
#混合位置传参和关键字传参
use_info('小美',sex='女',age=22)
#缺省参数(默认值)
def use_info1(name,age=30):
print(f"姓名是:{name}.年龄为:{age}")
use_info1('小刚')
use_info1('小麦',16)
#不定长-位置不定长 *号
#不定长定义的形式参数会作为元组存在,接受不定长数量的参数传入
def user_info3(*args):
print(f"args参数的类型是:{type(args)},内容是:{args},第一个传进的参数是{args[0]}")
user_info3(1,2,3,4,5)
#不定长 - 关键字不定长 **号
def user_info4(**kwargs):
print(f"args参数的类型是:{type(kwargs)},内容是:{kwargs}")
user_info4(name='小鸟',age=22)
标签:传参,调用,定义,python,args,关键字,参数,不定,函数
From: https://blog.csdn.net/2301_78459596/article/details/142863448