学的是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的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!