Python是一种很受欢迎的编程语言,我们可以使用它来编写函数。函数是一种可重复使用的代码块,通过函数我们可以将一些操作进行封装并进行复用。在Python中定义函数的方式有多种,下面我们就来详细讲解一下Python函数定义及传参方式的详解。
函数定义
在Python中,定义一个函数使用def
关键字,接着是函数名和括号。括号里可以包含参数,如果没有参数则括号是不能省略的。下一行开始是函数体,函数体里包含多条语句,一般使用缩进表示语句范围。
def function_name(parameter1, parameter2, ...):
statement(s)
其中function_name
为函数名,parameter1
、parameter2
...为参数列表,statement(s)
为函数体。
位置参数
位置参数就是我们常说的普通参数,是按照顺序依次传入的参数。在函数中使用时,可以通过位置来确定参数的类型和值。
def add_nums(num1, num2):
result = num1 + num2
return result
print(add_nums(2, 3)) # 输出:5
在这个示例中,我们定义了一个add_nums
函数,它接收两个参数num1
和num2
,然后将它们相加,最后返回结果。在调用函数的时候,我们按照参数位置依次传入了2
和3
,函数就能正确的计算出它们的和并返回5
。
关键字参数
关键字参数与位置参数不同,它是通过指定参数名来传递参数的。使用关键字参数的方式可以忽略参数的顺序,只要将参数名和对应的值传入函数即可。
def print_person_info(name, age, gender):
print("Name:", name)
print("Age:", age)
print("Gender:", gender)
print_person_info(name="Tom", age=20, gender="male")
在这个示例中,print_person_info
函数接收三个参数:name
、age
、gender
。调用这个函数时,使用了关键字参数的方式,通过指定参数名来传递参数,这样就可以按照任意顺序来传递参数了。
默认参数
默认参数也是一种非常常用的参数类型,它们是在函数定义时就已经赋值的参数,调用函数时可以不传入默认参数,使用的是默认值。
def print_person_info(name, age=18, gender="male"):
print("Name:", name)
print("Age:", age)
print("Gender:", gender)
print_person_info("Tom")
在这个示例中,print_person_info
函数中将age
和gender
设置为了默认值,调用函数时只传入了一个参数name
,这样函数就能使用默认值18
和"male"
,完成输出。如果需要修改默认值,可以在调用函数时传入新的值。
可变长度参数
有时候,我们需要函数接受可变长度的参数,这时候我们可以使用不定长参数。不定长参数可以通过和来定义,其中代表位置不定长参数(元组),**代表关键字不定长参数(字典)。
def print_person_info(name, *languages, **skills):
print("Name:", name)
print("Languages:", languages)
print("Skills:", skills)
print_person_info("Tom", "Python", "Java", Python=80, Java=90)
在这个示例中,使用了和*定义了不定长参数。调用函数时,除了第一个位置参数name
以外,其他参数都赋值给了languages
和skills
,其中languages
是一个元组,存储了Python和Java这两个数据。skills
是一个字典,存储了Python和Java这两个技能的值。
以上就是Python函数定义及传参方式详解的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python函数定义及传参方式详解(4种) - Python技术站