python内置作用域_python内置金融数据Python 五点搞定作用域
1、块级作用域
想想此时运行下面的程序会有输出吗?执行会成功吗?#块级作用域
if 1 == 1:
name = "lzl"
print(name)
for i in range(10):
age = i
print(age)
我们先看下执行结果C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py
lzl
9
Process finished with exit code 0
代码执行成功,没有问题;在Java/C#中,执行上面的代码会提示name,age没有定义,而在Python中可以执行成功,这是因为在Python中是没有块级作用域的,代码块里的变量,外部可以调用,所以可运行成功;
2、局部作用域
回顾之前学过的知识,我们学函数的时候,函数是个单独的作用域,Python中没有块级作用域,但是有局部作用域;看看下面的代码
#局部作用域def func():
name = "lzl"
print(name)
运行这段代码,想想会不会有输出?Traceback (most recent call last):
File "C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py", line 23, in
print(name)
NameError: name 'name' is not defined
运行报错,我相信这个大家都能理解,name变量只在func()函数内部中生效,所以在全局中是没法调用的;对上面代码做个简单调整,再看看结果如何?
《python内置金融数据Python 五点搞定作用域》总结了关于python编码教程,对于我们来电脑技术网确实能学到不少知识。#局部作用域
def func():
name = "lzl"
func() #执行函数
print(name)
对之前的代码添加了一句代码,在变量name打印之前,执行了一下函数,此时打印会不会有变化?Traceback (most recent call last):
File "C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py", line 23, in
print(name)
NameError: name 'name' is not defined
执行依然报错,还是回到刚才那句话:即使执行了一下函数,name的作用域也只是在函数内部,外部依然无法进行调用;把前两个知识点记住,接下来要开始放大招了
3、作用域链
对函数做下调整,看看下面的代码执行结果如何?#作用域链
name = "lzl"
def f1():
name = "Eric"
def f2():
name = "Snor"
print(name)
f2()
f1()
学过函数,肯定知道最后f1()执行完会输出Snor;我们先记住一个概念,Python中有作用域链,变量会由内到外找,先去自己作用域去找,自己没有再去上级去找,直到找不到报错
4、终极版作用域
好,铺垫了够了,终极版的来了~~#终极版作用域
name = "lzl"
def f1():
print(name)
def f2():
name = "eric"
f1()
f2()
想想最后f2()执行结果是打印“lzl”呢,还是打印“eric”?记住自己的答案,现在先不把答案贴出来,先看看下面这段代码:#终极版作用域
name = "lzl"
def f1():
print(name)
def f2():
name = "eric"
return f1
ret = f2()
ret()
#输出:lzl
执行结果为“lzl”,分析下上面的代码,f2()执行结果为函数f1的内存地址,即ret=f1;执行ret()等同于执行f1(),执行f1()时与f2()没有任何关系,name=“lzl”与f1()在一个作用域链,函数内部没有变量是会向外找,所以此时变量name值为“lzl”;理解了这个,那么刚才没给出答案的那个终极代码你也知道答案了#终极版作用域
name = "lzl"
def f1():
print(name)
def f2():
name = "eric"
f1()
f2()
# 输出:lzl
是的,输出的是“lzl”,记住在函数未执行之前,作用域已经形成了,作用域链也生成了
5、新浪面试题li = [lambda :x for x in range(10)]
判断下li的类型?li里面的元素为什么类型?print(type(li))
print(type(li[0]))
#
#
可以看到li为列表类型,list里面的元素为函数,那么打印list里面第一个元素的返回值,此时返回值为多少?
更多:python内置金融数据Python 五点搞定作用域
https://www.002pc.comhttps://www.002pc.com/python/3979.html
你可能感兴趣的作用域,Python,搞定,五点
No alive nodes found in your cluster
0踩
赏
0 赞
python内置作用域_python内置金融数据Python 五点搞定作用域相关推荐
- Python 五点搞定作用域
转: http://www.pythontab.com/html/2016/pythonjichu_0908/1063.html 1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗? 1 ...
- python与tableau结合_Python与Tableau相结合,万字长文搞定传统线下连锁店数据分析...
这是kaggle上的一份巴西传统线下汽车服务类连锁店的实际销售数据,大小约3.43G,包含了从2017年3月31日到2020年4月1日大约2600万多的销售数据. 分析该数据集可以探究该连锁店的销售情 ...
- python分析股票主力_python如何获取股票数据,python股票分析系统
内容导航: Q1:怎样用python处理股票 用Python处理股票需要获取股票数据,以国内股票数据为例,可以安装Python的第三方库:tushare:一个国内股票数据获取包.可以在百度中搜索&qu ...
- 怎么扫描同网段mac地址linux,如何快速收集局域网内的IP+MAC信息?用这个扫描器分分钟搞定!!!...
原标题:如何快速收集局域网内的IP+MAC信息?用这个扫描器分分钟搞定!!! 网 工 圈 中国圈内 最早的公益 公众号,本号已认证(关注近 5w+) 关注 科来MAC地址扫描器安装 1.右键" ...
- [转载] python支持complex吗_Python 内置函数complex详解
参考链接: Python complex() 英文文档: class complex([real[, imag]]) Return a complex number with the value re ...
- python系统函数教程_Python入门基础教程之Python内置函数
函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用C语言写的),而且是拿来即用,避免重复早轮 ...
- python 取array并集_Python内置数据结构原理与性能简易分析
ins @ngladc 文末左下方阅读原文指向了本人博客链接,不含广告.参考资料中的相关链接,可以在博客文章的最下方获取.推荐苹果手机用户使用浅色模式观看. 前言 对于一些算法题,可以使用Python ...
- python内建模块_Python 内建模块
1.内建模块: 在Python中,有一个内建模块,该模块中有一些常用函数;而该模块在Python启动后.且没有执行程序员所写的任何代码前,Python会首先加载该内建函数到内存.另外,该内建模块中的功 ...
- python内置数据结构_Python内置数据结构(一)
1.列表 (1)列表初始化 (2)下标/索引操作 (3)修改列表元素 (4)增加列表元素 1)append 2)insert 3)extend (5)删除列表元素 1)pop 2)remove 3)c ...
最新文章
- 谷歌Jeff Dean团队发文,探讨「学习模型」如何替代传统索引结构
- 【ZooKeeper Notes 9】ZooKeepr日志清理
- JBOSS配置系统应用的端口号
- 【Android 异步操作】Handler 机制 ( MessageQueue 空闲任务 IdleHandler 机制 )
- STM32常用数据类型 u8、u16、u32
- Vcastr 3.0 - flash video(flv) player (开源 Open Source)
- 文巾解题 525. 连续数组
- 5G NR CSI-RS
- No new data sinks have been defined since the last execution.
- 联合体(union)和结构体(struct)的区别
- 东北大姐剪纸被误认为油画,遭人质疑二十多年,只因太过逼真,看完后:真香!不愧是天下第一剪!...
- 2.11 queue
- C++ (tensorRT中学习)
- Tomcat日志打印乱码解决方法
- Chronos首页、文档和下载 - 作业调度器 - 开源中国社区
- 计算机应用基础165791,人大网大计算机应用基础试题答案资料.doc
- 最新实战讲解.htaccess文件rewrite规则
- 视频教程-Visio应用视频教程(上)-Office/WPS
- 插入新题注变乱了_Word 自动更改题注章节编号格式“图一.1”为“图1.1”
- Java实现QQ邮箱验证码发送