Pyhton学习的自我理解和想法(11)

49 阅读4分钟

学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码!

今天是学Python的第11天,学的内容还是函数。开学了,时间不多,写得不多,见谅。

目录

1.函数的返回值

(1).无返回值

(2)有返回值

(3)返回函数

2.嵌套函数(闭包)

(1).定义和调用嵌套函数

(2).定义和调用嵌套函数

(3).闭包的应用

3.函数的名字

(1).有名字的函数​编辑

(2)匿名函数

(3)实战

总结

1.函数的返回值

返回值定义:函数的返回值是函数执行后返回给调用者的结果。它可以是任何数据类型,如整数、字符串、列表、字典等。

(1).无返回值

特点:无返回值的函数主要用于执行操作但不需返回结果的情况。例如,显示菜单、对全局变量进行操作等,这些操作不需要向外界汇报结果,只是单纯地执行某些任务‌.

自我理解:发布命令就执行去了.

(2)有返回值

特点:有返回值的函数则用于需要输出结果的情况,返回值使得函数的结果可以被赋值给变量,进一步参与程序的运算和处理‌.

自我理解:发布命令,执行了,执行完后向你汇报自己的执行成果.

注意:1.函数返回值需要使用return关键字进行返回,函数在哪里调用,就把结果返回到了哪里.若想使用返回的结果,可以定义变量接收,也可以直接输出.

2.retuen后面的代码不会执行.

3.函数中若没有return关键字或者没有数据返回,则默认返回是None.

4.return关键字一次性返回多个数据,多个数据之间使用**,隔开.结果以元组**的形式返回.

也可以返回一个列表.

def get_numbers():
    return [1, 2, 3, 4, 5]
 
numbers = get_numbers()
print(numbers)  # 输出 [1, 2, 3, 4, 5]

(3)返回函数

函数还可以返回另一个函数。这种技术在一些高级编程场景中非常有用,例如装饰器和闭包。

def outer_function():
    def inner_function():
        print("This is the inner function.")
    return inner_function
 
inner_func = outer_function()
inner_func()  # 输出 "This is the inner function."

def multiplier(factor):
    def multiply_by_factor(number):
        return number * factor
    return multiply_by_factor
 
double = multiplier(2)
print(double(5))  # 输出 10

2.嵌套函数(闭包)

定义:嵌套函数是在另一个函数内部定义的函数。嵌套函数可以访问外部函数的变量,这种特性称为闭包。

自我理解:函数的调用可以在函数前,但必须定义了函数.一个调用一个,但不能是死循环,比如在定义test3时调用test1,会报错!

(1).定义和调用嵌套函数

(2).定义和调用嵌套函数

嵌套函数还可以访问外部函数的变量。

def outer_function():
    x = 10
    def inner_function():
        print(x)
    return inner_function
 
inner_func = outer_function()
inner_func()  # 输出 10

(3).闭包的应用 

# 使用闭包实现私有变量
def counter():
    count = 0
    def increment():
        nonlocal count
        count += 1
        return count
    return increment
 
c = counter()
print(c())  # 输出 1
print(c())  # 输出 2
print(c())  # 输出 3

# 用闭包实现一个简单的缓存功能
def cache_function():
    cache = {}
    def inner_function(n):
        if n in cache:
            return cache[n]
        result = n * n
        cache[n] = result
        return result
    return inner_function
 
cached_square = cache_function()
print(cached_square(5))  # 输出 25
print(cached_square(5))  # 直接从缓存中获取,输出 25

3.函数的名字

(1).有名字的函数

(2)匿名函数

语法:使用lambada定义的表达式. 【lambada表达式中包含了参数,实现体,返回值】

(3)实战

匿名函数实现求一个数字的平方 num1 = lambda num: num ** 2 ,后面是return的结果(对num做什么),下行中()中的内容是对num的赋值 print(num1(3))

总结

函数的返回值、嵌套函数和匿名函数是编程中非常重要的概念。它们可以让我们更加灵活地编写代码,提高代码的可读性和可维护性。希望本文能够帮助你更好地理解和运用这些编程概念。

这是我今天学Python的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!