• Python 无废话-基础知识函数详解


    函数定义

    函数是一段可重复使用的代码块,用于实现特定的功能

    类似的前面已学过print(),len(),input(),str(),list(),tuple()等内置函数

    自定义函数

    内置函数是python类库的已定义好的函数,如果某些功能不能满足时,需要我们自定义函数,组织好代码,重复使用。

    函数的定义结构

    def 函数名(参数1, 参数2, ...):

              # 函数体 代码块

             return 返回值

    函数调用

    函数名(参数1, 参数2, ...)

    语法解析

    1)def 关键字用于定义 函数
    2)函数名 是你给函数起的名字,应该符合Python命名 规范
    3)(参数1, 参数2, ...) 是函数的参数列表 ,参数 是你传递给函数的输入
    4)函数 体 是包含在函数内部的一系列语句和 操作 , 函数的实际执行 逻辑
    5)代码块 是函数体内的一段缩进的代码,用于表示函数体内的代码 范围
    6)return 语句用于指定函数的返回值 , 可以选择性地返回一个或多个值

    动手自定义函数 

    实现len自定义函数

    函数参数

    函数参数是用于接收函数调用时传递的数据或变量。在Python中,函数参数有多种类型,包括以下几种:

    1)位置参数(Positional Arguments) :位置参数 按照定义时的顺序来传递和接收,调用函数时必须按照参数的顺序传递对应的值。

    def add(a, b):

             return a + b

    result = add(3, 5)

    print(result)

    2)默认参数(Default Arguments):函数定义时就已经赋予了一个默认值,如果调用函数时没有传递该参数的值,则会使用默认值。

    def greet(name, message="Hello"):

            print(message, name)

    greet(李小龙) # 输出:李小龙

    greet(李小龙, “Hi”) # 输出:Hi 李小龙

    3)关键字参数(Keyword Arguments):关键字参数是根据参数名来传递和接收的,不需要按照位置顺序

    def multiply(a, b):

               return a * b

    result = multiply(b=8, a=2)

     print(result) # 输出16

    4)不定长参数:

        *args 参数:用于接收不定数量的位置参数,传递的参数会被封装成一个元组(tuple)

        **kwargs 参数:用于接收不定数量的关键字参数,传递的参数会被封装成一个字典(dictionary)

    def add_numbers(*args):

                   sum = 0

                   for num in args:

                         sum += num

    return sum

    result = add_numbers(1, 2, 3, 4, 5)

    print(result) # 输出15

    def print_person_info(**kwargs):

      for key, value in kwargs.items():

      print(key + ": " + value)

    # 输出: # name:李小龙# age: 25 # city: Beijing

    print_person_info(name="李小龙", age="25", city="佛山")

    函数返回值

    一般来说,函数调用求值的结果,称为函数的“返回值”,函数可以通过使用关键字return来返回一个值或多个值。

    函数返回值

    局部变量&全局变量

    局部变量是在函数内部定义并且只能在函数内部使用的变量。其作用范围被限制在函数内部,函数执行完毕后,局部变量会被销毁。局部变量只能在所属的函数内访问,其他函数无法直接访问该变量。

    全局变量是在函数外部定义的变量,其可以在函数内部和外部访问。全局变量的作用范围是整个程序,在任何地方都可以使用。但是,在函数内部如果要修改全局变量的值,需要用到global关键字

    函数嵌套

    函数嵌套指的是在一个函数内部定义另一个函数。这种嵌套定义的函数称为内部函数或嵌套函数。

    函数嵌套在Python中有以下几个特点:

    1. 内部函数可以访问外部函数的局部变量,但外部函数不能访问内部函数的局部变量。这种特性被称为 " 闭包 "
    2. 内部函数可以直接使用外部函数的参数。
    3. 内部函数可以访问外部函数的命名空间,即内部函数可以使用外部函数的变量和定义的其他函数。
    4. 通过函数嵌套可以实现代码的模块化和封装,提高代码的可读性和重用性。

    lambda匿名函数

    匿名函数,也称为lambda函数,在Python中是一种特殊的函数形式,可以在没有定义函数名称的情况下创建一个函数。它通常用于只在某个函数内部使用一次的简单函数。

    匿名函数的定义语法如下:

    lambda 参数列表: 表达式

    参数列表是匿名函数的参数,可以是零个或多个参数,多个参数之间使用逗号分隔。表达式是匿名函数的执行体,表示对参数进行计算或操作的逻辑。

    求两个数的和

    sum = lambda x, y: x + y

    print(sum(3, 5)) # 输出8

    递归函数

    递归函数是一种通过自身调用来解决问题的函数。可以使用递归来实现一个函数调用自身的过程。

    def factorial(n):

        # 基线条件

        if n == 0:

            return 1

        # 递归步骤

        return n * factorial(n - 1)

    递归函数factorial计算一个整数n的阶乘。当n为0时,满足基线条件,函数直接返回结果1。否则,递归调用factorial(n-1)来解决规模更小的子问题,然后将结果与n相乘并返回。

    注意,在使用递归函数时,需要确保递归能够终止,即基线条件一定会被满足。否则,递归函数将无限循环调用,导致程序崩溃。

    函数总结

    函数是一段封装了特定功能的可重复使用的代码块。通过函数,我们可以将代码模块化,提高代码的可读性、可维护性和复用性。

    函数可以存在于模块中,通过import语句导入并使用。

    Python标准库和第三方库提供了大量的函数,可以用于各种任务和领域。

    通过合理地使用函数,我们可以提高代码的复用性和可维护性。函数使得代码结构更清晰、可读性更高,并且可以将复杂的问题分解为简单的子问题,提供了更好的代码组织和管理方式。

  • 相关阅读:
    揭示GPU上的批处理策略
    扔掉你的开发板,跟我玩Mcore-全志h616
    【5. 事务】
    Nginx配置访问密码
    k8s入门之Ingress(七)
    递归:快速排序,归并排序和堆排序
    栈和队列--数据结构
    【SpringBoot从入门到精通】第四章 Springboot配置文件
    wordpress图片压缩插件-免费批量wordpress图片压缩
    Jenkins 安装全攻略:从入门到精通
  • 原文地址:https://blog.csdn.net/Marshaljun/article/details/133602750