提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、函数传参的方式
1、位置传参
按照形参的位置顺序将实参的值传递给形参
2、关键字传参
指定相应的函数形参名给与实参
代码如下(示例):
def student(name, age, height):
print("学生的姓名为:" + name)
print("学生的年龄为:" + age)
print("学生的身高为:" + height)
# 调用函数
# 1、位置传参
student("小明", "18", "170")
# 2、关键字传参
student(age="18", name="小明", height="170")
1、位置传参运行结果
2、关键字传参运行结果
二、函数参数的类型
1.普通形参
def student(name, age, height):
print("学生的姓名为:" + name)
print("学生的年龄为:" + age)
print("学生的身高为:" + height)
# 参数 name, age, height 均为普通形参
2.缺省形参
定义:在函数定义的时候,给形参一个默认值,这个形参就是缺省参数。
注意:缺省参数要写在普通参数的后面。
特点:在函数调用的时候,如果给缺省参数传递实参值,使用的是传递的实参值,如果没有传递,则使用默认值。
def student(name, age, height=170):
print("学生的姓名为:" + name)
print("学生的年龄为:" + age)
print("学生的身高为:" + str(height))
# 参数 height 为缺省参数
# 参数位置(普通形参,缺省参数)
3.不定长元组形参
在形参前面加上 1 个 * (*args)号,该形参变为不定长元组形参,可以接受所有的位置实参,类型是元组
def student(name, age, *args, height=170):
print("学生的姓名为:" + name)
print("学生的年龄为:" + age)
print("学生的身高为:" + str(height))
print("喜欢的幸运数字:%s" % args)
# 参数 args 为不定长元组形参,height 为缺省形参
student("xiao", "18", (18, 19, 20))
print("*" * 20)
student("xiao", "18", (18, 19, 20), height=180)
# 参数位置(普通形参,不定长元组形参,缺省形参)
4.不定长字典形参
在形参前面加上 2 个 **(**kwargs)号,该形参变为不定长字典形参,可以接受所有的关键字实参,类型是字典
def student(name, age, *args, height=170, **kwargs):
print("学生的姓名为:" + name)
print("学生的年龄为:" + age)
print("学生的身高为:" + str(height))
print("喜欢的幸运数字:%s" % args)
print(kwargs)
# 参数 args 为不定长元组形参,height 为缺省形参,kwargs 为不定长字典形参
student("xiao", "18", (18, 19, 20), a=4)
# 参数位置(普通形参,不定长元组形参,缺省形参,不定长字典形参)
5.上述四种参数的先后顺序
(普通形参,不定长元组形参,缺省参数,不定长字典形参)