Python变量的作用域在编译过程中确定
2021/12/19 22:21:23
本文主要是介绍Python变量的作用域在编译过程中确定,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
为了节省读友的时间,先上结论(对于过程和细节感兴趣的读友可以继续往下阅读,一探究竟):
【结论】
1)Python并不是传统意义上的逐行解释型的脚本语言
2)Python变量的作用域在编译过程就已经确定,而不是在一行行运行的过程中
【实例】
近几天遇到一个比较典型的错误,详解如下(图例中均为简化后的代码):
1)嵌套函数的内部函数引用了外部函数的局部变量,正确无误不报错
2)之后,在内部函数的第8行错误地加了一行赋值语句,结果报错第5行有问题
3)如果Python是真正意义上的逐行运行,应该是运行到第8行给外部函数赋值时才会报错。说明Python并不是严格意义上的逐行解释型语言
4)翻阅资料后得知:因为编译过程中已经确定了变量a为内部函数的局部变量,于是执行到第5行的时候发现局部变量a还未赋值,于是报错“UnboundLocalError: local variable 'a' referenced before assignment”
这篇关于Python变量的作用域在编译过程中确定的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型