潭州课堂25班:Ph201805201 第九课 函数作用域和匿名函数 (课堂笔记)
匿名函数:
lambda obj:str(obj).isdigit
语法规则: lambda 参数:表达式
列:
ma1 = map( lambda obj:'binbin','abcdef' )
print( list(ma1) ) ['binbin', 'binbin', 'binbin', 'binbin', 'binbin', 'binbin'] 闭包
def fun_1():
print( '正在调用01' ) def fun_2():
print( '正在调用02' )
return fun_2 f_1 = fun_1() 正在调用01
f_1() 正在调用02
闭包是函数里边嵌套函数,外层的函数返回里层,这种情况叫闭包,他是种特殊的函数的调用,
闭包也可以得到外层函数的变量,上函数内外部的桥梁 函数作用域
global 的使用, 声明全局变量
x = 1
def fun_1():
global x # 声明全局变量
x += 1 # 在没声明前不可直接修改,否则去不去啊
print( x ) def fun_2():
print( x )
return fun_2 f_1 = fun_1()
f_1()
nonlocal 局部变量的声明
def fun_1():
x = 1 def fun_2():
nonlocal x # 声明局部变量
x += 1 # 声明后可直接查,改
print( x )
return fun_2 f_1 = fun_1()
f_1()
递归
def fun_a( n ):
if n == 1:
return 1
return fun_a( n-1 )*n
print( fun_a(5) )
自己调用自己
回调
def fun_a( a ):
if a:
fun_b()
else:
print('没有被调用') def fun_b():
print('正在调用') fun_a( False )
潭州课堂25班:Ph201805201 第九课 函数作用域和匿名函数 (课堂笔记)的更多相关文章
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第四课 登录注册 (课堂笔记)
index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第三课 (课堂笔记)
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第二课 (课堂笔记)
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第一课 (课堂笔记)
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 潭州课堂25班:Ph201805201 第十课 类的定义,属性和方法 (课堂笔记)
类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类 ...
- 潭州课堂25班:Ph201805201 tornado 项目 第九课 深入应用 WebSockets(课堂笔记)
tornado 相关说明 在 handler 中创建一个 chat.py 文件,用来处理聊天室 在 templates 模板文件夹下创建 room.html 文件,是个聊天室 做好服务器的准备
- 潭州课堂25班:Ph201805201 django 项目 第九课 图片验证码前台实现,判断用户是否注册功能实现 (课堂笔记)
u胎代码实现 : 针对每一个 app 写个 js 脚本, 先给 users 的 app 应用创建个 js:在指定目录下的 js 文件夹下,创建 users 文件夹,下创建 suth.js ,图片验证 ...
- 潭州课堂25班:Ph201805201 django框架 第九课 模型补充 博客小案例 (课堂笔记)
聚合查询: 分组查询: annotate() 方法 例:查询某学院学生人数,(一对多查询) 以字典的形式输出 annotate(统计 ‘关联学生字段 出现的次,).字典形式(键,值) 例:查询每项课程 ...
- 潭州课堂25班:Ph201805201 爬虫高级 第九课 scrapyd 部署 (课堂笔记)
c rapyd是 scrapy 的部署, 是官方提供的一个爬虫管理工具, 通过他可以非常方便的上传控制爬虫的运行, 安装 : pip install scapyd 他提供了一个json ,web, s ...
随机推荐
- kindle转换工具-calibre
kindle转换工具 calibre https://calibre-ebook.com/download_windows
- c或c++的网络库
Asio C++ Library: Asio is a cross-platform C++ library for network and low-level I/O programming tha ...
- C# 实现UDP打洞通信(一)
最近研究了一下网络打洞的相关技术,TCP的方式据说可行性不高,各种困难,因此决定采用UDP(UDP是什么就不解释了)的方式. 原理: 我们都知道局域网内的主机想要访问外网的服务器是比较容易的,比如浏览 ...
- 解决服务器代码执行mvn test后在classes和test-classes下找不到Spring的bean.xml配置文件问题
昨天在jenkins构建代码后,执行mvn test 就报错如下: 提示的bean.xm不存在呀, 再来看源码ApplicationContext 的声明 ApplicationContext ctx ...
- tsconfig.json配置
什么工具看什么官网-一般都会有说明的 https://www.tslang.cn/docs/handbook/tsconfig-json.html 概述 如果一个目录下存在一个tsconfig.jso ...
- Maven实战(Maven+Nexus建立私服【Linux系统】)
准备工作 下载及配置Maven3:http://www.cnblogs.com/leefreeman/archive/2013/03/05/2944519.html 下载Nexus:http://ne ...
- Jmeter安装和启动和使用
一.安装配置JDK 1.下载安装jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.配置JDK环境变 ...
- AdvStringGrid 标题头 加粗的问题
当AdvStringGrid1.RowCount = 1的时候,会是下面这样: 当AdvStringGrid1.RowCount = 2 时 才是正确的:
- IntelliJ IDEA 下的SVN使用
最近公司的很多同事开始使用IntelliJ Idea,便尝试了一下,虽然快捷键与eclipse 有些不同,但是强大的搜索功能与“漂亮的界面”(个人认为没有eclipse好看 ),还是值得我们去使用的. ...
- xxx is not in sudoers file 解决(转)
解决方案:首需要切换到root身份$su -(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用& ...
