Python变量作用范围实例分析

本文实例讲述了Python变量作用范围。分享给大家供大家参考。具体如下:

#coding=utf-8
#变量作用范围
global z #使用全局变量
z=1 #给全局变量赋值
x=99 #x全局变量声明时初始化
def foo(y): #y和z在函数中被赋值:局部的
  #局部区域
  z=x+y #x没被赋值,所以它是全局的
  return z
def bar(y):
  global z
  z=x+y
  return z
print foo(1) #结果=100
print z #结果=1
print bar(1) #结果=100
print z #结果=100

希望本文所述对大家的Python程序设计有所帮助。

(0)

相关推荐

  • 详细解析Python中的变量的数据类型

    变量是只不过保留的内存位置用来存储值.这意味着,当创建一个变量,那么它在内存中保留一些空间. 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中.因此,通过分配不同的数据类型的变量,你可以存储整数,小数或字符在这些变量中. 变量赋值: Python的变量不必显式地声明保留的存储器空间.当分配一个值给一个变量的声明将自动发生.等号(=)来赋值给变量. 操作数=操作符的左边是变量,操作数=操作符的右侧的名称在变量中存储的值.例如: #!/usr/bin/python cou

  • 在Python的Django框架中调用方法和处理无效变量

    方法调用行为 方法调用比其他类型的查找略为复杂一点. 以下是一些注意事项: 在方法查找过程中,如果某方法抛出一个异常,除非该异常有一个 silent_variable_failure 属性并且值为 True ,否则的话它将被传播.如果异常被传播,模板里的指定变量会被置为空字符串,比如: >>> t = Template("My name is {{ person.first_name }}.") >>> class PersonClass3: ...

  • python的类变量和成员变量用法实例教程

    本文实例形式讲解了python的类变量和成员变量用法,对于Python程序设计有一定的参考价值.分享给大家供大家参考.具体如下: 先看看下面这段代码: class TestClass(object): val1 = 100 def __init__(self): self.val2 = 200 def fcn(self,val = 400): val3 = 300 self.val4 = val self.val5 = 500 if __name__ == '__main__': inst =

  • 解析Python中的变量、引用、拷贝和作用域的问题

    在Python中,变量是没有类型的,这和以往看到的大部分编辑语言都不一样.在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没有赋值,那么Python认为这个变量没有定义.如下: >>> a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a'

  • python中的实例方法、静态方法、类方法、类变量和实例变量浅析

    注:使用的是Python2.7. 一.实例方法 实例方法就是类的实例能够使用的方法.如下: 复制代码 代码如下: class Foo:    def __init__(self, name):        self.name = name    def hi(self):        print self.name if __name__ == '__main__':    foo01 = Foo('letian')    foo01.hi()    print type(Foo)    p

  • python函数局部变量用法实例分析

    本文实例讲述了python函数局部变量用法.分享给大家供大家参考.具体分析如下: 当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的.这称为变量的 作用域 .所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始. 一.使用局部变量 示例如下: #!/usr/bin/python # Filename: func_local.py def func(x): print 'x is', x x = 2 print 'Chang

  • 详解Python中的变量及其命名和打印

    在程序中,变量就是一个名称,让我们更加方便记忆. cars = 100 space_in_a_car = 4.0 drivers = 30 passengers = 90 cars_not_driven = cars - drivers cars_driven = drivers carpool_capacity = cars_driven * space_in_a_car average_passengers_per_car = passengers / cars_driven print "

  • python嵌套函数使用外部函数变量的方法(Python2和Python3)

    python嵌套函数使用外部函数变量的方法,Python2和Python3均可使用 python3 def b(): b = 1 def bchange(): nonlocal b b += 1 bchange() print(b) Python 2 只能这样(利用 mutable 对象): def b(): b = [1] def bchange(): b[0] += 1 bchange() print b[0]

  • 深入探究Python中变量的拷贝和作用域问题

    在 python 中赋值语句总是建立对象的引用值,而不是复制对象.因此,python 变量更像是指针,而不是数据存储区域, 这点和大多数 OO 语言类似吧,比如 C++.java 等 ~ 1.先来看个问题吧: 在Python中,令values=[0,1,2];values[1]=values,为何结果是[0,[...],2]? >>> values = [0, 1, 2] >>> values[1] = values >>> values [0, [.

  • 理解java和python类变量以及类的成员变量

    最可怕的不是犯错而是一直都没发现错误,直到现在我才知道自己对类变量的理解有问题. 大概可能也许是因为不常用类变量的原因吧,一直没有发现这个问题.最近在看C++时才知道了类变量到底是什么? 以前我一直觉得类变量和成员变量的唯一区别是类变量可以通过类名直接访问,是静态的.而成员变量需要实例化一个类后通过实例来访问. 万万没想到忽视了类变量在一个类中只有一个,各个实例中的都是同一个的,在一个实例中修改会影响其他实例中的类变量...(虽然平常也没有因为这个而引起什么bug,但是还是要补上认知的漏洞).

随机推荐