python if里面的变量外面能用吗_for...in 中的局部变量, 为何能在外面使用?
2016/11/20
问题
详情见代码
Python 作为高级语言, 抽象层次很高, 然一个程序员一般都会好几门语言, 有时候会在语言的细节处, 发生概念性的混淆
有点害怕, 是不是一直误解了 Python 的作用域原理?
正确的作用域原理是什么?
答案: LEGB法则
初学 Python 语法的时候, 由于觉得这东西太复杂, 就快速跳过了, 没想到是个坑( maybe feature ? )
相关代码
def find(sequence, target):
for index, value in enumerate(sequence):
if value == target:
break
else:
return -1
return index # ?? 这里是否可表示 index 已经逃离 for...in 作用域了?
print find(range(10), 1)
for iii in range(10):
iii += 1
print iii
一直以为是这样的
for (int i=0; i<10; ++i)
do something # i的作用域在 for 中
重现
拷贝代码, 运行
尝试解决
python if里面的变量外面能用吗_for...in 中的局部变量, 为何能在外面使用?相关推荐
- python中变量的作用域有几种_Python中变量的作用域(variable scope)
http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...
- python 函数递归一次增加一次变量_python基础之函数、返回值,局部变量、全局变量,递归(继续补充不定长参数)...
1.python中函数定义:函数是逻辑结构化和过程化的一种编程方法.(完成某一种特定的功能) def test02(): #"" msg = 'hello WuDaLang' re ...
- python定义一个整数变量_python循环定义多个变量的实例分析
python循环定义多个变量方法 我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串. e ...
- python的数据类型和变量
python的数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种 ...
- Python基本语法_变量作用域LEGB
目录 目录 软件系统 变量的作用域 高级语言对数据类型的使用过程 作用域的产生 作用域的类型 Llocal局部作用域 Eenclosing嵌套作用域 Gglobal全局作用域 Bbuilt-in内置作 ...
- Python学习笔记(2)-Python执行方式、变量
Python执行方式 Python执行过程是由上到下逐行执行,遇到问题即刻终止,现在我们编写多行代码查看效果(Python的一条命令单独占用一行,不允许多条命令写在同一行),如下三图 图1:结果依次打 ...
- Python 工匠:善用变量来改善代码质量
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 作者:朱雷 | 腾讯IEG高级工程师 『Python 工匠』是什么? 我一直觉得编程某种意义上是一门『手艺 ...
- python语言变量命名规则有什-以下选项中,符合Python语言变量命名规则的是_学小易找答案...
[填空题]与文件系统相比,数据库系统的数据冗余度___________,数据共享性___________. [填空题]在数据库体系结构中,两级数据映象分别是指___________之间的数据映象与__ ...
- python老是报参数未定义_浅谈Python程序的错误:变量未定义
Python程序的错误种类 Python程序的错误分两种.一种是语法错误(syntax error).这种错误是语句的书写不符合Python语言的语法规定.第二种是逻辑错误(logic error). ...
最新文章
- Soft robotics:造仿生昆虫机器人柔性骨骼新技术,只需2小时,成本不到7块!
- 云原生应用程序的架构应该怎么设计?
- Python matplotlib绘制雷达图
- 布隆过滤器(Bloom Filter)- 原理、实现和推导
- 虚拟系统管理VSM提高服务器整合率
- DOS 常用命令大全
- 微波遥感SNAP(一)——基于Sentinel-1雷达数据重建数字高程模型
- 微信小程序记账报表小程序
- Mac下Alt键配置
- c++实现植物大战僵尸修改器
- FoxNFT创世品牌娘卡包预售6月15日正式开启!五位姑娘正式与大家见面
- 无线网络和本地连接同时启用后,无线网络无法使用。
- Java基础--数值和字符串
- 红米NoteX和红米NoteXpro的区别
- 计算机论文专著 论文集,学习计算机方面论文参考文献 学习计算机专著类参考文献有哪些...
- 关于AC6003、6005、6605版本关联WIFI6代产品方法
- android图标生成网址
- 【web系列十一】使用django创建数据库表
- linux rz 快捷上传包或文件
- 最牛人工智能 ChatGPT,进一步的应用心得和感受,提升10倍工作效率?