python课堂整理13---函数的作用域及匿名函数
2024-10-02 05:00:21
name = 'alex'
def foo():
name = 'jinling'
def bar():
print(name)
return bar
a = foo()
print(a)
阅读上述代码,理解 a 得到的是函数bar 的内存地址,想要运行bar 只需a(),因为bar 函数没有return,所以返回了None
name = 'alex'
def foo():
name = 'jinling'
def bar():
print(name)
return bar
a = foo()
print(a())
二、同理
def test1():
print('in the test1')
def test2():
print('in the test2')
return test1 res = test2()
print(res)
a = res()
print(a)
三、
def foo():
name = 'lhf'
def bar():
name = 'jinling'
def tt():
print(name)
return tt
return bar
a = foo() # 得到bar的内存地址
b = a() # 运行bar 得到tt的内存地址
c = b() #运行 tt 打印 Jinling
print(c) # 得到tt的返回值
上述运行可以用 foo()()() 代替
########## 匿名函数###########
lambda效果等同于以下函数
def cal(x):
return x + 1 res = cal(10)
print(res) a = lambda x: x + 1 # x为形参
print(a(10))
匿名函数不能有复杂的逻辑,只能是一步的过程(一个return的结果)
name = 'alex'
f = lambda x: x + '_sb'
print(f(name))
可以是多个参数
a = lambda x, y, z: (x + 1, y + 1, z + 1)
print(a(1, 2, 3))
匿名函数不应该独立存在,也不应该赋值,而和其他函数连用,以后再写~
最新文章
- sparksql---通过pyspark实现
- JS的解析机制
- Java Hour 45 Hibernate ( 2 )
- putty基本操作
- JavaScript中Eval()函数的使用
- CSS3文字描边 CSS3字体外部描边
- Android随笔--使用ViewPager实现简单地图片的左右滑动切换
- Ajax的ActionLink方法(适用于异步加载)
- HDU 4351 Digital root 线段树区间合并
- Build A Micro Team
- ehcache与redis的比较与应用场景分析(转)
- [物理学与PDEs]第3章习题2 仅受重力作用的定常不可压流理想流体沿流线的一个守恒量
- 剑指offer数组2
- 文件中间修改内容遇到OSEerror
- 用tar命令把目标压缩包解压到指定位置
- Ioc及Bean容器(三)
- C# 读写App.config配置文件
- 如何利用 Jmeter 测试上传文件
- 自动化运维工具-pssh工具安装配置及简单使用讲解
- Git中清除远程仓库HTTPS认证信息的方法
热门文章
- Android WebView设置背景透明
- OpenProj打开不了或者提示”Failed to load Java VM Library”的错误的解决方案
- 10 jQuery的事件绑定和解绑
- 【shell学习4》》】系统化整理大纲
- 【设计模式】行为型11解释器模式(Interpreter Pattern)
- Jenkins的安装与使用(一)
- Codeforces Round #565 (Div. 3) A
- pytest 安装和入门
- octavia的实现与分析(一)·openstack负载均衡的现状与发展以及lvs,Nginx,Haproxy三种负载均衡机制的基本架构和对比
- 从无到有构建vue实战项目(二)