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

函数定义

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

Python 无废话-基础知识函数详解_第1张图片

类似的前面已学过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 无废话-基础知识函数详解_第2张图片

函数参数

函数参数是用于接收函数调用时传递的数据或变量。在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来返回一个值或多个值。

Python 无废话-基础知识函数详解_第3张图片

函数返回值

Python 无废话-基础知识函数详解_第4张图片

Python 无废话-基础知识函数详解_第5张图片

局部变量&全局变量

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

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

Python 无废话-基础知识函数详解_第6张图片

函数嵌套

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

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

1. 内部函数可以访问外部函数的局部变量,但外部函数不能访问内部函数的局部变量。这种特性被称为 " 闭包 "
2. 内部函数可以直接使用外部函数的参数。
3. 内部函数可以访问外部函数的命名空间,即内部函数可以使用外部函数的变量和定义的其他函数。
4. 通过函数嵌套可以实现代码的模块化和封装,提高代码的可读性和重用性。
Python 无废话-基础知识函数详解_第7张图片

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标准库和第三方库提供了大量的函数,可以用于各种任务和领域。

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

你可能感兴趣的:(Python,python,开发语言,pythob,函数,python,基础知识)