python(10)——局部变量、全局变量

局部变量:在局部生效的,出了这个变量的作用域,这个变量就失效了。函数内部定义的变量就是局部变量,函数运行完就释放该变量内存

全局变量:在整个程序里面都生效的,在程序最前面定义的都是全局变量,全局变量如果要在函数中修改的话,需要加global关键字声明,如果是list、字典和集合的话,则不需要加global关键字,直接就可以修改 。

尽量少用全局变量,原因:1、若全局变量被修改,影响较大;2、全局变量在python文件运行完才会释放,占内存

name =‘wangchan‘ #全局变量 每个函数里面都能用
def get_name():
    global name     #说明要改的是全局变量(string和元组需要声明,list、dic不用)  尽量少用全局变量
    name =‘hailong‘  #局部变量--在函数内部定义的变量   只能在该函数中用
    print(‘函数里面的name:‘,name)

def get_name2():
    print(‘get_name2:‘,name)
get_name2()   #wangchan
get_name()    #hailong
print(‘函数外面的name:‘,name)   #hailong
1 def test():
2     global a
3     a=5
4 def test1():
5     c=a+5
6     return c
7
8 res=test1()
9 print(res)  #报错(NameError: name ‘a‘ is not defined),因为test()函数没有执行,a还没有定义
 1  def test():
 2       global a
 3       a=5
 4  def test1():
 5       c=a+5
 6       return c
 7
 8  test()   #test()执行过程中定义了全局变量a
 9 res=test1()
10  print(res)  #10

原文地址:https://www.cnblogs.com/HathawayLee/p/9623470.html

时间: 2024-07-30 09:11:30

python(10)——局部变量、全局变量的相关文章

C_局部变量&全局变量

2018-5-9 ? Writen By Stephen.Yu 一.定义 1. 局部变量:在函数中定义的变量 2. 全局变量:在所有函数体之外定义 定义(Definition):声明并分配内存;未分配内存则只是声明(declaration) 二.局部变量&全局变量 1.某个函数中定义的变量不能被另一个函数使用 void time(int hour, int minute) { printf("%d:%d\n", hour, minute); } int main(void) {

Python<10>文件基础

常见的文件操作 output = open('data','w')       #创建文件 w为写入 input = open('data','r')        #r为读写 若不写属性  默认为r aString = input.read()          #读整个文件到一个字符串 aString = input.readlines()      #读整个文件到字符串列表 aString = input.read(N)         #读N个字节 aString =input.read

【ThinkingInC++】10、全局变量的使用

/** * 功能:全局变量的使用 * 时间:2014年8月11日09:34:26 * 作者:cutter_point */ #include<iostream> using namespace std; int cutter_point; void fun1(); int main() { cutter_point=94; cout<<"cutter_point:"<<cutter_point<<endl; fun1(); cout<

JavaScript this 局部变量全局变量 作用域 作用域链 闭包

从阮老师博客的一道测试题说起: 代码段一: var name = "The Window"; var object = { name : "My Object", getNameFunc : function(){ return function(){ return this.name; }; } }; alert(object.getNameFunc()()); 代码段二: var name = "The Window"; var object

python入门基础教程07 python的局部变量和全局变量

局部变量 要谈局部变量和全局变量的技术前提是对函数有一定的理解,我们先在这里简单说明一下Python的函数,Python有自带的函数也可以使用第三方工具包了外部引用函数,有的时候用户自己可以自主开发一些特定功能的函数我们称之为自定义函数.用户怎么才能自己定义函数呢?Python 规定的自定义函数语法结构如下: def function_name(parameters): (TAB)statement1 (TAB)statement2 (TAB)statement3 (TAB)etc. 第1行是定

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

有这样一段PYTHON代码,从事C语言开发的人都知道,如果定义了全局变量,而函数内没有定义同名的函数变量的话,那么在函数内对该变量的赋值就是对全局变量空间数值的修改, 然后在PYTHON中却不尽相同,在python中的函数中,如果没有明确声明是全局变量,那么python就会为函数创建局部变量,所以函数中操作的变量也是局部变量 count = 5 def myfun(): count = 10 print(count) myfun() print(count) 打印的结果如下 那么如何在函数中修改

Python中局部变量与全局变量的解释

num = 5 def  func(): num += 1 print(num) print(num) 输出:UnboundLocalError: local variable 'num' referenced before assignment 翻译:局部变量错误:变量 "num" 未被定义就被应用了.由此再次证明了这里定义了一个局部变量,而不是使用的全局的 "num" 总结:当已经在函数体外的变量已经被定义为全局变量后,在函数体内又被重新赋值一遍,这时的变量在函

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

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

Python的局部变量和全局变量

在python中,引用全局变量有些特殊的地方.我们来看代码例子. >>> num=1 >>> def test(): ... print num ... value = num+1 ... print value ... >>> test() 1 2 上面代码先定义了一个全局变量num,这时我们就可以在函数内部随便使用这个全局变量. 但是如果我们要在函数内部修改全局变量,写法就有些特殊了,如: >>> num=1 >>&g