python 函数作用域小记
来源:互联网 发布:招聘网站知乎 编辑:程序博客网 时间:2024/05/21 14:41
- 函数内部的变量只作用在函数内部,外部是不能调用的。
- python 中有作用域链,变量会由内向外找,先在自己的作用域找,自己没有再向上级找,直到找不到报错。
- 若在自己的作用域找到了变量,而在赋值之前调用则程序会报错
#1
name = 'milton'def f1(): print(name)f1()
程序会输出 >>>milton
f1 函数,变量 name 首先在函数内部找,没有找到变量的赋值,则向函数外部找,找到name = 'milton' ,打印出 name 的值。
#2
name = 'milton'def f1(): print(name)f1()
程序会输出 >>>long
f1 函数,变量 name 还是先从函数内部找,找到 name = 'long',故就不再向外找 name 的值。
#3
name ='milton'def f1(): print(name) name = 'long' print(name)f1()
程序会报错,因为第一句 print(name),函数先从函数内部到变量 name ,但是 print 出现在了 name 的赋值之前,故程序报错:UnboundLocalError: local variable 'name' referenced before assignment (本地变量(局部变量)在声明之前调用)
阅读全文
0 0
- python 函数作用域小记
- Python小记之作用域
- Python 函数作用域
- Python 函数和作用域
- python学习-函数、作用域
- python函数-变量作用域
- python函数变量的作用域
- python --- 变量和函数的作用域
- Python函数作用域和闭包
- python 模块、作用域及一些函数
- python函数作用域以及LEGB原则
- python函数作用域与闭包
- Python基础(六)函数作用域
- Python函数与变量作用域
- python dir()函数作用
- Python 3语法小记(七)函数
- python eval函数的作用
- Python函数参数传递以及变量作用域
- python判断自身是否正在运行
- SSH整合
- Mysql系列课程--第五章 高级查询 表连接 子查询 case when
- CCF-训练50题-NO.29-最少钱币数
- 卡尔曼滤波
- python 函数作用域小记
- Centos7.0环境zookeeper+zkdash服务搭建
- HTML语言编写指南
- 作业:选择某种Map集合保存学号
- ZOJ 1586 QS Network
- [差分建图 最短路] BZOJ4289: PA2012. Tax
- 贝叶斯分类器
- 初学SpringBoot笔记
- jsp遇到的基础问题