码迷,mamicode.com
首页 > 编程语言 > 详细

python的作用域

时间:2018-06-11 23:37:45      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:加法   删除   创建   inf   http   应该   调用   文章   lock   

昨天我们科普了一点点关于区块链的小知识,你应该对区块链有一个大致的了解了吧?

技术分享图片

 

好的,今天我们要来讲一下python的作用域。什么是python的作用域,其实说白了就是参数赋值的有效期到哪里,也就是字典的有效期,而这个字典通常是不会显示地出现在我们面前的,不显示?难道还能隐藏?对的,真的是隐藏起来了,我们来看一段示例代码:

a = 1
LSF = vars()
LSF[a]
#按回车,得到的结果是:1
LSF[a] += 1
a
#按回车,得到的结果是:2

我们来看一下上面 的代码,先是对a进行赋值,接着给LSF一个vars函数,类似于容量的东西,最终会返回一个看不见的字典,然后我们把a放到这个函数里面,得到的结果是一开始给a赋的值,也就是1。接着,我们尝试对LSF进行加法运算,也能得到正确的结果。这似乎还不能说明返回了一个字典。我们姑且这样认为吧~嘻嘻~

这个看不见的字典我们一般称为命名空间或者作用域,除全局作用域以外,上面每隔函数调用都将创建一个作用域。

接着,我们来看一下什么是局部作用域,局部作用域顾名思义就是只作用在函数内部的字典。我们来看一下示例代码:

def foo():a = 5
#按回车,直到出现<<<
a = 1
foo()
a
#按回车,得到的结果是:1

我们看一下上面的代码,我们先定义了一个foo函数,在这个函数里面,我们将a的值直接转化为5,也就是说,只要在这个函数内部,不管之前a的值是多少,都会被转化为5。接着,我们给a赋值1,然后调用一下这个函数,最后,我们在函数以外看一下a的值是多少,还是1,没有被foo函数转化为5,这在一定程度上说明a = 5是一个局部作用域。

好的,今天的内容就讲到这里啦~

 技术分享图片

 

(文章图片若有侵权,请联系作者删除)

python的作用域

标签:加法   删除   创建   inf   http   应该   调用   文章   lock   

原文地址:https://www.cnblogs.com/Galaxyfengfeng/p/9170370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!