Python—全局变量、局部变量、匿名函数
局部变量和全局变量
college1 = 'JMU' #全局变量
def change_name(name):
college1 = 'LiGong' #局部变量,此函数是其作用域
# global school #可以在函数内定义全局变量,这样在函数外调用函数体内的school则不会报错。但是千万不要这么干!不要在函数体内定义全局变量
# school = 'jmu'
print("before change:%s"%name,college1)
name = 'GKX' #局部变量,此函数是其作用域
print('After change:%s'%name) name = 'gkx'
change_name(name)
print('now name is:%s'%name)
print(college1)
>>>>>>
before change:gkx LiGong #在函数体内部college的值是 ‘LiGong’,在其作用域内
After change:GKX
now name is:gkx #在函数外name的值还是gkx
JMU #在函数外college的值还是JMU
局部变量不能改全局变量主要是只字符串和数值,一些复杂的数据结构【字典,列表,集合,类】是可以改的。注意元组不行,因为元组本身就是不可变更的。
names = ['gkx','lion','cat']
def change_name():
names[0]='chimpanzee'
print("inside func ",names)
change_name()
print(names) >>>>>
inside func ['chimpanzee', 'lion', 'cat']
['chimpanzee', 'lion', 'cat']
global 和 nonlocal
a = 1
def outer():
a = 1
print('outer')
def inner():
print('inner')
def inner2():
nonlocal a #声明了一个上一层的局部变量,对全局无效,对局部也只是对最近的一层有影响。此处若是 global 会修改全局,最上层的a。
a += 1 #此处若是没声明 nonlocal a是不能被改变的
print('inner2222')
print('***a***, ',a)
inner2()
inner() outer()
print(a)
>>>>
outer
inner
inner2222
***a***, 2
1

lambda匿名函数
calc = lambda x:x*3 #用lambda定义了匿名函数
print(calc(3))
>>>>>>9
4 >>>>print(calc) 是内存地址
5 #lambda只能处理三元运算,复杂的类似for循环就处理不了了
6 x = lambda n:3 if n<3 else n
x(7)
>>>>>>7
Python—全局变量、局部变量、匿名函数的更多相关文章
- Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print(" ...
- Python入门篇-匿名函数
Python入门篇-匿名函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数概述 1>.什么是匿名函数 匿名,即没有名字 匿名函数,即没有名字的函数 2>. ...
- python学习之---匿名函数,返回函数,偏函数
1. 返回函数: 所谓的返回函数,指的是函数作为返回值.高阶函数除了可以接受函数作为参数外,同样可以接受函数作为结果返回.以下是一个可变参数的求和例子,一般求和函数是如此这般定义的: >> ...
- Python的lambda匿名函数
lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: def f(x):return x**2print f(4) Python中使用lambda的话,写成这样 g = lam ...
- python基础(10)-匿名函数&内置函数
匿名函数 例子 返回两个数的和 def add(x, y): return x + y # 等价于 add = lambda x, y: x + y 返回字典中值最大的key dic = {'a': ...
- Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") ret ...
- python全局变量、回调函数
1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 ...
- Python学习 之 匿名函数
1.匿名函数(lambda函数):lambda函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方. 普通函数定义如下: def f(x,y): return x*yf( ...
- python学习交流 - 匿名函数
匿名函数 匿名函数是一个很有特色的定义函数的功能.在实际使用的过程,用户有时不得不为一些一行代码即可实现的功能来定义一个函数,例如像map, max, filter等内置函数的key参数只能接收可调用 ...
- [Python Study Notes]匿名函数
Python 使用 lambda 来创建匿名函数. lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的.在Python中,lambda作 ...
随机推荐
- require 和 import 区别
我很懵逼啊 都是在引用模块,那到底用哪个? 参考:https://www.cnblogs.com/hwldyz/p/9145959.html 看来会明白一点的 首先这两个都是为了JS模块化编程使用. ...
- JavaScriptDom和应用
DOM编程 DOM是Document Object Model文档对象模型 DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件 DOM简介 D:文档 – html 文档 ...
- UI框架搭建DAY1
分析:UI框架主要是为了用户(使用框架的程序猿)更快捷.方便地开发UI,UI框架的好处还在于解耦,使得程序更具有灵活性. UI框架的核心是窗口的管理,窗口管理的主要任务就是显示窗口和关闭窗口. 因为窗 ...
- elasticsearch 安装 windows linux macOS
导读 在上一章节我们介绍Elasticsearch基本概念,今天我们继续进行本章内容,Elasticsearch在各种环境下安装,下面将逐一讲解在各种操作系统或不同安装在不同环境中注意事项. 安装 E ...
- python扩展包的升级
检查更新:pip list --outdated 更新: pip install --upgrade xxxx
- 《数据仓库ETL工具箱》读书笔记
在本书中,你将学习到以下内容: 规划&设计你的ETL系统 从多种可能的架构中选出最合适的 对实施过程进行管理 管理日常的操作 为ETL过程建立开发/测试/生产环境 理解不同的后台数 ...
- mysql日志介绍
1. 错误日志 错误日志记录的事件: a. 服务器启动关闭过程中的信息 b. 服务器运行过程中的错误信息 c. 事件调试器运行一个事件时间生的信息 d. 在从服务器上启动从服务器进程时产生的信息 2. ...
- GitHub linux 提交文件及403错误处理
$git clone "Clone with HTTPS(自己生成的地址,如:https://github.com/******(用户名)/test.git)" 这时在你git ...
- Python imprt动态模块
1.解释器内部用的动态导入 directory_variable = __improt__("directory.filename") print(directory_variab ...
- nmon监控数据分析
性能测试中,各个服务器资源占用统计分析是一个很重要的组成部分,通常我们使用nmon这个工具来进行监控以及监控结果输出. 一. 在监控阶段使用类似下面的命令 ./nmon -f write_3s_20v ...