首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Python两个内置函数——locals 和globals (学习笔记)

Python两个内置函数——locals 和globals 这两个函数主要提供,基于字典的访问局部和全局变量的方式。 在理解这两个函数时,首先来理解一下python中的名字空间概念。Python使用叫做名字空间的 东西来记录变量的轨迹。名字空间只是一个字典,它的键字就是变量名,字典的值就是那些变 量的值。实际上,名字空间可以象Python的字典一样进行访问 每个函数都有着自已的名字空间,叫做局部名字空间,它记录了函数的变量,包括函数的参数 和局部定义的变量。每个模块拥有它自已的名字空间,叫做全局名字空间,它记录了模块的变 量,包括函数、类、其它导入的模块、模块级的变量和常量。还有就是内置名字空间,任何模 块均可访问它,它存放着内置的函数和异常。 当一行代码要使用变量 x 的值时,Python会到所有可用的名字空间去查找变量,按照如下顺序: 1.局部名字空间 - 特指当前函数或类的方法。如果函数定义了一个局部变量 x,Python将使用   这个变量,然后停止搜索。 2.全局名字空间 - 特指当前的模块。如果模块定义了一个名为 x 的变量,函数或类,Python   将使用这个变量然后停止搜索。 3.内置名字空间 - 对每个模块都是全局的。作为最后的尝试,Python将假设 x 是内置函数或变量。 如果Python在这些名字空间找不到 x,它将放弃查找并引发一个 NameError 的异常,同时传递 There is no variable named 'x' 这样一条信息。 #局部变量函数locals例子(locals 返回一个名字/值对的字典。):

03

Python数据分析(中英对照)·Ranges 范围

范围是不可变的整数序列,通常用于for循环。 Ranges are immutable sequences of integers,and they are commonly used in for loops. 要创建一个范围对象,我们键入“range”,然后输入范围的停止值。 To create a range object, we type "range" and then we put in the stopping value of the range. 现在,我们刚刚创建了一个范围对象,但是如果您想查看该对象的实际内容,那么这就没有多大帮助了。 Now, we’ve just created a range object, but this is less helpful if you would like to see what’s the actual content of that object. 虽然,我们通常不会在Python程序中这样做,但为了真正看到该范围对象的内容,我们可以在这种情况下将其转换为列表。 Although, we wouldn’t typically do this in a Python program,for us to really see the content of that range object,so what we can do in this case is we can turn it into a list. 所以如果我们说“范围5列表”,我们会看到范围对象由五个数字组成,从0到4。 So if we say "list of range 5," we’ll see that the range object consists of five numbers, from 0 to 4. 范围的输入参数是停止值。 The input argument to range is the stopping value. 记住,Python在到达停止值之前停止。 And remember, Python stops before it hits the stopping value. 这就是为什么范围5实际上不包含数字5。 That’s why range 5 does actually not contain the number 5. 我们可以为range函数提供额外的参数。 We can provide additional arguments to the range function. 例如,我们可以提供起点,也可以定义步长。 For example, we can provide the starting point,and we can also define the step size. 所以如果我们输入“range1到6”,在这种情况下,我们得到一个range对象,它从1开始,到5结束。 So if we type "range 1 to 6," in that case,we get a range object which starts at 1 and ends at 5. 如果我们想以2为增量,我们可以这样做。 If we wanted to go in increments of two, we could do something like this. 我们可以从1开始,一直到13——13号,不包括它本身——我们可以分两步走。 We could start from 1, go up to 13– number 13,not itself included– and we could go in steps of two. 在本例中,我们得到一个从1开始到11结束的范围对象。 In this case, we get a range object that starts at 1 and ends at 11. 通常,当我们在Python程序中使用范围对象时,我们不会首先将它们转换为列表。 Typically when we use range objects in our Python programs,we do not first turn them into lists. 我们在这里这样做只是为了让我们更容易理解这些对象的作用。 We’ve done it here only so that it’s easier for us to understand what these objects do. 当然,您可以在for循环上下文中使用list对象,但由于以下原因,它是有问题的。 You can certainly use a list object in a

04

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券