Python 函数 -奇客谷教程

    xiaoxiao2025-05-23  50

    Python 介绍Python 开发环境搭建Python 语法Python 变量Python 数值类型Python 类型转换Python 字符串(String)Python 运算符Python 列表(list)Python 元组(Tuple)Python 集合(Set)Python 字典(Dictionary)Python If … ElsePython While 循环Python For 循环Python 函数Python LambdaPython 类与对象Python 继承Python 迭代器(Iterator)Python 模块Python 日期(Datetime)Python JSONPython 正则表达式(RegEx)Python PIP包管理器Python 异常处理(Try…Except)Python 打开文件(File Open)Python 读文件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)

    复制


    Doc navigation

    ← Python For 循环

    Python Lambda →

    最新回复(0)