Python中的函数:用法和示例
Python中的函数是一个代码块,它用于接受输入,执行计算和输出结果。函数在Python中是对象,这意味着它们可以被赋值给变量,后者可以作为参数或返回值。
在Python代码中,可以定义自己的函数。函数使用“def”关键字定义,(“def”是define的缩写),函数名后面是圆括号(可以为空,或者包含参数)以及冒号(:),其余部分则是函数体。这是一个定义函数的例子:
def square(x):
""" This function squares its argument """
return x*x
关键字def告诉Python解释器,我们要定义一个函数。接着是函数名square,以便程序知道我们要调用哪个函数。接下来是参数列表(x),它可以是任何变量或常量,供函数使用。在本例中,参数x代表需要求平方的数字。函数体缩进的行包含实际代码。在本例中,我们使用返回语句来返回函数的结果,即平方。
这是函数的最简单定义,没有其它的代码,不包含注释或文档字符串。现在,如果我们需要计算单个数字的平方,我们可以直接调用此函数:
>>> square(5) 25 >>> square(7) 49
在Python中,我们可以使用如下两种方式返回多个值:
- 使用元组或其他序列类型。
- 使用多个return语句
种方式:
def get_data():
# process data
return result1, result2, result3
data_tuple = get_data()
第二种方式:
def get_data():
# process data
if success:
return result1
else:
return result2
当我们调用函数时,就会返回一个或多个值(如果有的话),可以将其存储在一个变量中,如上述样例中的data_tuple。变量data_tuple是一个包含多个值的元组,每个值都可以用索引进行访问。
Python的函数可以包含任意数量的形式参数,包括可变长度的参数。具体来说,我们有以下四种类型的参数:
- 位置序列参数:用于将多个位置参数打包成元组。
- 关键字序列参数:用于转换多个关键字参数。
- 可变长度位置参数:允许我们向函数中传递任意数量的位置参数
- 可变长度关键字参数:允许我们向函数中传递任意数量的关键字参数。
位置序列参数:
def sum_numbers(*args):
total = 0
for i in args:
total += i
return total
print(sum_numbers(1,2,3,4,5)) # 15
关键字序列参数:
def profile(name, age, *skills):
print(name)
print(age)
print(skills)
profile("John", 25, "Python", "Java", "C++")
可变长度位置参数:
def my_sum(*args):
return sum(args)
print(my_sum(1, 3, 4)) # 8
可变长度关键字参数:
def my_dict(**kwargs):
return kwargs
print(my_dict(name="Mike", age=25)) # {'name': 'Mike', 'age': 25}
所以,函数(Function)是一种可以执行特定任务的代码块。函数将程序代码分成模块,使它们更好维护,并且可以重复使用。通过在程序的不同部分调用函数,可以更方便地进行协作和集成。Python中的函数具有一些重要特征,例如:代码重复利用性、参数(包含默认的参数)、返回值、注释、文档字符串等等。通过这些特征,我们可以使用Python更轻松地编写各种应用程序和脚本。
