传参和返回值在Python函数中的使用方法
在Python中,函数是一种可以重复使用的代码块,它可以接收输入数据,处理这些数据并返回结果。为了使函数尽可能的通用化,Python提供了传参和返回值的方式。
本文将介绍Python函数中传参和返回值的使用方法。具体内容分为以下几部分:传参、返回值及实例分析。
一、传参
函数的传参是指,通过参数向函数中传递数据。
Python中的函数可以接受多个参数,产生不同的结果,而这些参数可以是必选参数、默认参数、可变参数、关键字参数。
1. 必选参数
必选参数是指在调用函数时,必须按规定的参数顺序,给所有参数进行赋值。
示例:
def add(x, y):
return x + y
print(add(1, 2))
解释:
定义了一个add函数,其中包含了x和y两个参数,将x和y两个参数进行相加。在调用add函数时,必须按顺序分别赋值给x和y,例如1赋值给x,2赋值给y,最终返回结果3。
2. 默认参数
默认参数是指函数中可以有一些默认的参数,如果在调用函数时没有传入参数值,则使用默认值。
示例:
def add(x, y=1):
return x + y
print(add(1))
解释:
定义了一个add函数,其中包含了x和y两个参数,将x和y两个参数进行相加。在调用add函数时,只给了x传值,y因为有默认值1,所以可以不传值。最终返回结果2。
?
3. 可变参数
可变参数是指函数传入的参数数量不确定,可以是任意多个,用特定的符号来表明。
示例:
def add(*values):
result = 0
for value in values:
result += value
return result
print(add(1, 2, 3))
解释:
定义了一个add函数,其中使用可变参数来接收所有传入的参数,并使用for循环遍历一遍全部的参数。最终返回结果为6。
4. 关键字参数
关键字参数是指函数中可以有多个参数,每个参数都有一个关键字,调用函数时需要指定参数关键字,可以按照任意顺序传入这些参数。
示例:
def person(name, age, **other):
info = {'name': name, 'age': age}
for key, value in other.items():
info[key] = value
return info
print(person('Alec', 25, city='Shanghai', job='Developer'))
解释:
定义了一个person函数,其中包含了三个参数,name和age是必需要传入的,其他参数可以传任意个将其封装成字典形式返回。最终输出结果为:{'name': 'Alec', 'age': 25, 'city': 'Shanghai', 'job': 'Developer'}。
二、返回值
函数的返回值是指,函数的执行结果将返回给函数调用者。
在Python中,函数返回值的形式可以是任意的对象,例如数字、字符串、列表、元组、字典等。
示例:
def apply_discount(price, discount):
return price * (1 - discount)
print(apply_discount(100, 0.1))
解释:
定义了一个apply_discount函数,其中有两个参数price和discount,传入这两个参数后,函数将discount当成折扣率,计算出打折后的价格,并将计算结果返回。最终输出结果为90。
三、实例分析
示例:
def print_info(name, gender='male', **others):
info = {'name': name, 'gender': gender}
for key, value in others.items():
info[key] = value
for key, value in info.items():
print('{}: {}'.format(key, value))
print_info('Alec', age=25, job='Developer')
输出结果:
name: Alec gender: male age: 25 job: Developer
解释:
定义了一个print_info函数,其中包含了三个参数,name是必传参数,gender有默认值'male',其他参数可以传任意个,传递后将根据关键字封装成字典形式,最后根据字典中的键值对进行输出。
在调用print_info函数时,只传了必传参数name和关键字参数age、job,因为性别有默认值,所以不用传参。函数内部将所有传参进行打包,最终输出结果为:name: Alec,gender: male,age: 25,job: Developer。
总结:
在Python中,函数的传参和返回值是使用频率最高的语法结构之一。合理的传参可以让函数更加的通用化,方便代码的复用;而准确的返回值可以让调用者更好地了解函数的执行结果。这些都是编写高质量Python程序的重要组成部分。
