• Python教程(14)——Python函数的入门学习


    函数是什么?在编程中,函数是一段可重用的代码块,用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化,提高代码的可读性和可维护性。

    函数通常包括以下组成部分:

    1. 函数名:用于标识函数,并可以通过函数名调用执行该函数。
    2. 参数:输入给函数的值,在函数内部可以使用参数进行操作或计算。
    3. 函数体:包含函数执行的代码块。在函数体中可以进行各种操作、计算、逻辑判断等任务。
    4. 返回值:函数可以返回处理结果,供调用者使用。

    每种编程语言对于函数的语法规范可能所有不同,但是都是包含函数组成部分的。
    在这里插入图片描述

    Python函数组成

    Python函数的定义通包括以下几个部分:

    1. 函数头部:使用关键字 def 开始,后跟函数名和一对圆括号 ( )。圆括号内可以包含函数的参数,多个参数之间用逗号分隔,最后在右括号)之后要加个冒号:无论是括号还是冒号一定都要是英文状态下的。
    2. 函数体:函数体是由函数的操作逻辑组成的代码块,函数体内的代码需要缩进,通常使用4个空格或制表符(Tab键)进行缩进。
    3. 函数返回值:函数可以返回一个值使用关键字 return 后跟要返回的值。

    以下是一个简单的示例,展示了一个算两个数之和的函数:

    def add_numbers(num1, num2):
    	sum = num1 + num2
        return sum
    
    result = add_numbers(5, 3)
    print(result)  # 输出:8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这个示例中,函数 add_numbers 接收两个参数 num1num2,计算它们的和并返回结果。通过调用 add_numbers(5, 3) 可以得到结果 8将结果赋值给变 result,最后打印 result 的值。

    Python函数解释

    上述的add_numbers是个非常简单的函数,但是初学者朋友如果不注意相关规则的话,可能会造成怀疑人生的结果。

    正如Python函数的语法组成那样,Python是用def开头来定义一个函数的,然后空格后跟上函数名add_numbers,我们专业一点的叫法的话,叫函数定义,在使用一个函数之前,必须先定义,否则就会报语法错误。

    比如我们像下面这样书写,就不行的,会一个NameError的错误。NameError: name 'add_numbers' is not defined

    result = add_numbers(5, 3)
    
    def add_numbers(num1, num2):
        sum = num1 + num2
        return sum
    
    print(result) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    接着加上括号,括号里面跟上参数名,这里的参数名我们称之为形式参数,简称形参,这个在编程当中是一个比较重要的概念,特别是在C语言当中。然后右括号后面加上一个冒号,后面就另起一行写函数体,当然在一些非常简单的函数体当中,可能直接跟在冒号后面,比如:

    if a == 1: return 1
    
    • 1

    在leetcode编程中,这种写法也经常见到。

    如果是超过一行的,一般都是另起一行写函数体。函数体内的代码需要缩进,通常使用4个空格或制表符进行缩进。这里要特别注意,在函数体中, 要不都用4个空格,要不就用制表符,千万不要混用 ,一个制表符又刚好等于4个空格,所以从表面上看确实是对齐了,对于没有编程经验的初学者来说,一旦混用,又不懂得利用搜索引擎的话,可能一个晚上你都会困在那里,百思不得其解。

    混用的话,一般会报以下错误:

    IndentationError: unindent does not match any outer indentation level
    
    • 1


    意思大概就是说你缩进不匹配,大概率就是制表符和空格混用了!但是如果你是用PyCharm等一些高级的IDE,可能这些IDE会自动帮你修正这些对齐的bug,而如果你是从其他编辑器复制代码到PyCharm中的,这些没有对齐的错误并不会自动的修正,还是需要你手动就纠正的,所以还是推荐大家尽量使用PyCharm编写Python代码。

    Python函数类型

    Python当中有各种类型的函数,像上面那种就是比较普通的自定义函数,顾名思义,就是自己定义的函数。在 Python 中,还有以下几种常见的函数类型。

    内置函数

    Python 提供了一些内置函数,可以直接使用,不需要导入任何模块,如 print()len()type() 等,

    匿名函数

    匿名函数也称为 lambda 表达式,是一种简洁的函数定义方式,通常用于一次性的简单函数。例如:

    multiply = lambda x, y: x * y
    result = multiply(3, 5)
    print(result)  # 输出 15
    
    • 1
    • 2
    • 3

    闭包函数

    闭包函数是指在一个函数内部定义了另一个函数,并且内部函数可以访问外部函数的变量。这种函数形式可以用来创建一些特定的函数,例如函数工厂或者装饰器。

    def outer_function(x):
        def inner_function(y):
            return x + y
        return inner_function
    
    add_5 = outer_function(5)
    result = add_5(3)
    print(result)  # 输出 8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    生成器函数

    生成器函数使用 yield 关键字来定义,可以通过迭代器的方式逐步生成结果,而不是一次性生成所有结果。

    def fibonacci():
        a, b = 0, 1
        while True:
            yield a
            a, b = b, a + b
    
    fib = fibonacci()
    print(next(fib))  # 输出 0
    print(next(fib))  # 输出 1
    print(next(fib))  # 输出 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    这些是 Python 中常见的函数类型,每种类型都有不同的特点和用途,一些比较高级用法的函数,后面学到了我们在来讲,现在只需要了解下就可以了。

    更多精彩内容,请关注同名公众:一点sir(alittle-sir)

  • 相关阅读:
    迁移 MySQL 数据到 OceanBase 集群(mysqldump+datax)
    k8s-14_helm介绍以及使用
    【MySQL】CONCAT、CONCAT_WS、GROUP_CONCAT 函数用法
    【广度优先搜索】leetcode 111. 二叉树的最小深度
    Zebec Protocol 成非洲利比亚展会合作伙伴,并将向第三世界国家布局
    java计算机毕业设计web家教管理系统源码+mysql数据库+系统+lw文档+部署
    neo4j load csv 配置和使用
    基于springboot实现java学习平台项目【项目源码+论文说明】计算机毕业设计
    MySQL基础篇【聚合函数】
    【算法分析与设计】贪心算法(下)
  • 原文地址:https://blog.csdn.net/zhuofeng85/article/details/133187001