博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 变量引用
阅读量:4599 次
发布时间:2019-06-09

本文共 552 字,大约阅读时间需要 1 分钟。

遇到一个尴尬事情:

Python 我在方法外定义了一个变量,在方法内引用时候,默认是不引用外部的那个变量的,而是重新定义了一个。为此,温故了一次 Python 的两个关键字 nonlocal 和 global 。

 

 

这里方法 test 内的 a 变量相当于重新定义了一个 变量,这个变量跟 最外面的 a变量一点关系都没有呀~

如果想要在 def 方法内给 最外面的 a变量赋值怎么办?

当当当当 ··· global 就来了。

有点类似于方法传参,也优点类似于变量引用。反正就是重新引用了一下最外部的 a变量

 

 

 

没有引用的时候,所有变量虽然同名,但都是单独定义和使用的:

 

 

 

还有一个 声明变量的方法 nonlocal

使 本该作为内部函数的局部变量绑定到外部函数命名空间从而变成外部函数的局部变量。

 

 

 

nonlocal  适用于在局部函数 中 的局部函数 】

如果 nonlocal  不是在局部函数 中 的局部函数

会报错 - no binding for nonlocal 'a' found

 

 

 

总结 nonlocal 是绑定 最接近 本机函数的外部函数(非全局)的局部变量

global 是绑定的全局变量

 

转载于:https://www.cnblogs.com/wgy1/p/11497830.html

你可能感兴趣的文章
JS秒数转成分秒时间格式
查看>>
xp_cmdshell 命令的开启与关闭,和状态查询
查看>>
Linux sudoers
查看>>
MySQL详解(18)-----------分页方法总结
查看>>
bzoj 4595 激光发生器
查看>>
multi cookie & read bug
查看>>
js时间转换
查看>>
(转载) Android Studio你不知道的调试技巧
查看>>
POJ2231 Moo Volume 递推 C语言
查看>>
struts2类型转换的具体流程
查看>>
Hdu 1203 I NEED A OFFER!
查看>>
php文件上传类
查看>>
CF219D Choosing Capital for Treeland
查看>>
luogu P3809 【模板】后缀排序
查看>>
Red Gate 破解
查看>>
JVM 调优工具
查看>>
SCTF 2014 pwn题目分析
查看>>
集合以及特殊集合
查看>>
USACO 2.2 Runaround Numbers
查看>>
利用 force index优化sql语句性能
查看>>