当前位置: 首页 > 编程笔记 >

Python变量作用范围实例分析

丁文轩
2023-03-14
本文向大家介绍Python变量作用范围实例分析,包括了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程序设计有所帮助。

 类似资料:
  • 在大多数编程语言中,变量的生命周期是“定义此变量的块(block)”。 但是在 JavaScript 中,变量的作用域却和函数息息相关,而不是大括号: function func(x) { console.log(tmp); // undefined if (x < 0) { var tmp = 100 - x; // (*) ... }

  • 本章介绍当模板在访问变量时发生了什么事情,还有变量是如何存储的。 当调用 Template.process 方法时,它会在方法内部创建一个 Environment 对象,在 process 返回之前一直使用。 该对象存储模板执行时的运行状态信息。除了这些,它还存储由模板中指令,如 assign, macro, local 或 global 创建的变量。 它不会尝试修改传递给 process 的数据

  • 问题内容: 我知道变量作用域由块的开始和块的结尾包围。如果在块内声明了相同的变量,则会发生编译错误。但是,请看以下示例。 在这里,可以在方法中重新声明,尽管它已经在类中声明了。但是在块中,无法重新声明。 为什么类范围变量的重新声明不产生错误,而方法范围变量的重新声明却产生错误? 问题答案: 这是因为不是变量,而是实例字段。允许局部变量与字段具有相同的名称。为了区分变量和具有相同名称的字段,我们在实

  • 问题内容: 我知道变量作用域由块的开始和块的结尾包围。如果在块内声明了相同的变量,则会发生编译错误。但是,请看以下示例。 在这里,可以在方法中重新声明,尽管它已经在类中声明了。但是在块中,无法重新声明。 为什么类范围变量的重新声明不产生错误,而方法范围变量的重新声明却产生错误? 问题答案: 这是因为不是变量,而是实例字段。允许局部变量与字段具有相同的名称。为了区分变量和具有相同名称的字段,我们在实

  • 问题内容: Spring-MVC中的所有控制器是否都是单例的,并且在不同的会话和请求之间共享? 如果是这样,我假设一个类变量像 所有请求和会话都一样吗?这样,如果用户X发出请求name并被设置为Paul,那么用户Z也具有Paul作为属性吗? 就我而言,我不希望这种行为,但想知道是否有更简单或更干净的OOP方式来拥有会话/请求变量,然后 问题答案: 要回答你的第一个问题:是的,Spring MVC控

  • 问题内容: 在类中声明变量(在函数外部):所有类函数都可以访问它(基本上是公共变量) 在类内的函数内声明变量:只有该函数才能访问它(在该函数范围内) 在类内的函数内部声明带有self。(变量名)的变量:所有类函数都可以访问它(这与全局变量名有何不同?) 并且由于没有私有/受保护的事物,所以所有事物都是公共的,因此可以从类外部访问所有可以从类内部访问的事物。 我还有其他细微差别应该知道吗? 问题答案