python中全局变量和局部变量

例1:

a = 100 #定义全局变量a

def test1():
    print(a) #此处a为全局变量

def test2(a):#此处a为局部变量
    print(a)#此处a为局部变量

test1() #结果为100
test2(3) #结果为3

例2:

  1 temperature = 0
  2
  3 def get_temperature():
  4     global temperature #在函数内部修改全局变量的值,要先用global声明全局变量。
  5     temperature = 33 #若不用global声明就改值,对全局变量不起作用,只是作为局部变量使用
  6
  7 def print_temperature():
  8     print(‘温度是%d‘%temperature) #在函数内部可直接引用全局变量的值,而不必声明。
  9
 10 get_temperature()
 11 print_temperature()

原文地址:https://www.cnblogs.com/littlesuns/p/9937402.html

时间: 2024-11-10 09:39:41

python中全局变量和局部变量的相关文章

python函数(全局变量,局部变量,作用域,递归函数,高阶函数,匿名函数)

1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合.函数名:就相当于是程序代码集合的名称参数:就是函数运算时需要参与运算的值被称作为参数函数体:程序的某个功能,进行一系列的逻辑运算return 返回值:函数的返回值能表示函数的运行结果或运行状态. 1.1.2函数的作用 函数是组织好的,可重复使用的,用来实现单一,或者相关功能的代码. 函数能够提高应用的模块性,和代码的重复利用率 我们已近知道python提供了许多内置函数,比如print(),我们自已创建的

JavaScript中全局变量和局部变量的不同

今天看到大神写得一片文章,自己对全局变量和局部变量的理解还是不够深刻,因此写到这篇文章,做个总结. 大神代码截图+理解文字如下: 解析:上面代码中,变量i是var命令声明的,在全局范围内都有效,所以全局只有一个变量i.每一次循环,变量i的值都会发生改变,而循环内被赋给数组a的函数内部的console.log(i),里面的i指向的就是全局的i.也就是说,所有数组a的成员里面的i,指向的都是同一个i,导致运行时输出的是最后一轮的i的值,也就是10. 一.定义 局部变量:变量在函数内声明,只能在函数内

关于js中全局变量和局部变量的寄到小题

往往最基本的也是最根本的. 这里有三道关于全局变量和局部变量的小题,供诸位一阅. 知识点: (1)在最外层声明的是全局变量 (2)在函数内声明的是局部变量 (3)在函数体内部,但是没有用var声明的变量也是全局变量 第一题: var a = 10;function fun(){var a = "global";}console.log(a); 第二题: var a ;function fun(){a = "global";} fun();console.log(a)

Python中全局变量的引用与修改之格式影响

先来看下面的代码及执行结果: a = 1 b = [2,3] def nums(): a = 2 b[0] = 0 print(a) print(b) print(a) print(b) nums() print(a) print(b) 结果: 1 [2, 3] 2 [0, 3] 1 [0, 3] 对上面结果的分析: 函数 nums() 中重新定义了一个变量 a ,这个 a 是局部变量,与外面的全局变量没有关系,而全局变量 列表 b 直接被引用过来进行修改了,同样是全局变量为什么会有差别呢? 因

C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)

1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 1>全局变量具有全局作用域.全局变量只需在一个源文件中定义,就可以作用于所有的源文件.当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量. 2>静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对所有的函数都是可见的,而

python函数 全局变量和局部变量

1 li1=[1,2,3,4,5] 2 str1='abc' 3 4 def func1(): 5 li1=[7,8,9] 6 str1='efg' 7 print(str1) 8 9 func1() 10 print(li1)#输出的结果为[1,2,3,4,5],并没有因为def函数改变 1 li1=[1,2,3,4,5] 2 str1='abc' 3 4 def func1(): 5 li1=[7,8,9] 6 str1='efg' 7 return li1 8 9 re=func1() 1

python之全局变量

http://www.cnblogs.com/phoebus0501/archive/2011/01/18/1938728.html 应该尽量避免使用全局变量, 因为:1) 不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性. 对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误.这种错误是很难发现和更正的. 2) 全局变量降低了函数或模块之间的通用性,不同的函数或模块都要依赖于全局变量. 同样,全局变量降低了代码的可读性,阅读者可能并不知道

全局变量与局部变量

C/C++中全局变量与局部变量的关系 全局变量与局部变量可以重名,在某个函数内引用变量时,会用到局部变量而不是全局变量,可以理解为"就近原则". 当一个函数体内有多个局部变量时,这些局部变量的作用于就限定在函数体内的更小一级区域,比如函数体内有两个循环体,在两个循环体内都定义了局部变量val,则val的作用域就为循环体内而不仅仅是函数体内. 重名情况下如果要使用全局变量,则需要使用作用域运算符(::),将该作用域运算符放在重名变量之前. 全局变量可以被多个.C与.CPP文件使用,但要以

Python中的全局变量与局部变量的区别

全局变量与局部变量两者的本质区别就是在于作用域 用通俗的话来理解的话, 全局变量是在整个py文件中声明,全局范围内都可以访问 局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序就爆掉了 如果在函数内部定义与某个全局变量一样名称的局部变量,就可能会导致意外的效果,可能不是你期望的.因此不建议这样使用,这样会使得程序很不健全 直接来看几个例子来理解全局变量和局部变量的区别吧: Demo1: def fun(x):       y=2       print("乘法