Python 函数
版权所有,未经许可,禁止转载
章节
- Python 介绍
- Python 开发环境搭建
- Python 语法
- Python 变量
- Python 数值类型
- Python 类型转换
- Python 字符串(String)
- Python 运算符
- Python 列表(list)
- Python 元组(Tuple)
- Python 集合(Set)
- Python 字典(Dictionary)
- Python If … Else
- Python While 循环
- Python For 循环
- Python 函数
- Python Lambda
- Python 类与对象
- Python 继承
- Python 迭代器(Iterator)
- Python 模块
- Python 日期(Datetime)
- Python JSON
- Python 正则表达式(RegEx)
- Python PIP包管理器
- Python 异常处理(Try…Except)
- Python 打开文件(File Open)
- Python 读文件
- Python 写文件
- Python 删除文件与文件夹
函数是一段可供调用的代码。
可以将数据(称为参数)传递到函数中。
函数可以返回数据作为执行结果。
创建函数
在Python中,函数使用def
关键字定义:
示例
def my_function():
print("来自my_function函数的问候")
函数调用
调用函数,使用函数名后跟圆括号:
示例
def my_function():
print("来自my_function函数的问候")
my_function()
参数
可以给函数传递参数。
参数在函数名后面的括号中指定。您可以添加任意数量的参数,只需用逗号分隔即可。
下面的示例中,有一个带有一个参数(fname)的函数。当函数被调用时,传递一个城市,打印出城市全名:
示例
def my_function(fname):
print(fname + "市")
my_function("杭州")
my_function("南京")
my_function("成都")
默认参数值
函数的参数可以设置默认值,调用时如果没有传入参数值,则使用默认的参数值。
示例
def my_function(city = "杭州"):
print("我住在" + city)
my_function("南京")
my_function("上海")
my_function()
my_function("成都")
将列表作为参数传递
函数的参数可以是任何数据类型(string、number、list、dictionary等),在函数内部参数数据类型不变。
例如,如果你可以把一个列表作为函数参数传入,在函数内部它仍然是一个列表:
示例
def my_function(vehicle):
for x in vehicle:
print(x)
vehicle = ["自行车", "汽车", "高铁"]
my_function(vehicle)
返回值
要让函数返回值,使用return
语句:
示例
def my_function(x):
return 10 * x
print(my_function(2))
print(my_function(7))
print(my_function(8))
递归
Python还允许函数递归,即函数可以自己调用自己。
递归是一个常见的数学和编程概念。在编程中,使用递归应该小心,用得好,递归可以是非常优雅的编程方式,用不好,递归容易导致死循环和栈溢出。
在下面例子中,tri_recursion()
是一个递归函数,我们使用k变量作为参数,在每次递归时递减(-1),当k小于等于0时递归结束。
递归有一定的复杂性,弄清楚它到底是如何工作的,最好的方法是修改、测试它。
示例
def tri_recursion(k):
if(k>0):
result = k + tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("\n\n递归示例结果:")
tri_recursion(10)