python 局部变量和全局变量 day15

全局变量,全局都可以调用的变量

局部变量,在子程序中可以调用的变量

name = ‘w‘
def text():
    name = ‘l‘
    print(name)
text()
print(name)

global调用全局变量,且可以重新赋值,如果没有则不能重新赋值

text()决定调用顺序

name = ‘w‘
def text():
    global name
    name = ‘l‘
    print(name)
def text2():
    print(name)
text2()
text()
print(name)

global调用全局变量,且可以重新赋值,如果没有则不能重新赋值

name = ‘w‘
def text():
    global name
    name = ‘l‘
    print(name)
def text2():
    print(name)
text()
text2()
print(name)

没有global不能重新赋值,但对可变类型,可以对内部元素进行操作

name = [‘1‘,‘2‘]
def a():
    name.append(‘3‘)
    print(name)
a()
print(name)

全局变量都大写,局部变量都小写

nonlocal指上一级变量

name = ‘w‘
def abc():
    name = ‘a‘
    def bcd():
        nonlocal name
        name = ‘b‘
    bcd()
    print(name)

print(name)
abc()
print(name)

原文地址:https://www.cnblogs.com/wangleiyifan/p/9248263.html

时间: 2024-10-07 07:46:01

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

python局部变量和全局变量(6)

在python开发中,变量也是有生命周期的,一旦周期结束,程序会自动清理暂用的空间,释放内存,变量分为两者,一种是局部变量,一种是全局变量,两者具体有什么区别呢…… 一.局部变量 一般而言在函数内部或者类中声明的变量默认都是局部变量.一旦函数结束,变量的生命周期也会结束,占用的空间会被自动释放. def func1(): # 在函数内部定义的变量默认都是局部变量 a = 1 print(a) # 函数结束,局部变量a的生命周期结束 # 由于a是局部变量,并且a的生命周期已经结束,外部再次调用局部

python 局部变量和全局变量 global

当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的.这称为变量的 作用域 .所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始. 使用局部变量 例7.3 使用局部变量 #!/usr/bin/Python# Filename: func_local.py def func(x):    print 'x is', x    x = 2    print 'Changed local x to', x x = 50func(

Python 局部变量与全局变量

本来以为 局部变量就是在函数/def/class/lambda内部的变量,全局变量就是在之前这些之外的变量.但是,再一次学习Python atm 中应用时发现了一次特例(意外) 字典中 在函数内部改变 其部分值之后,在函数外打印字典,字典的值竟然改变了. x = {"w":1,"k":2} def a(x): x["w"] = 123 x = {"w":999,"k":3433} return x def

Python局部变量和全局变量global

当你在函数定义声明变量的时候,它们与函数外具有相同名称的其它变量没有任何关系,即变量名称对于函数来说是 局部  的.这称为变量的 作用域 .所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始. 使用局部变量 例子:func_local.py #!/usr/bin/python #encoding:utf-8 def func(x): print 'x is', x x=2 print 'Changed local x to', x x=50 func(x) print 'x is s

Python 局部变量 与全局变量

Demo 全局变量是在整个py文件中声明,全局范围内都可以访问 局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序就爆掉了 monet=22323 # 全局变量#局部变量 不加globaldef functiondemo(): # 如果 函数 不带参数,但是想要访问 全局变量 #必须加上global ,这样子就是局部变量了 global monet # 转换为全局变量,假如不转换的话,会报错的 s=2 monet += 2 #没有转换的话这里会报错 因为这是局

python局部变量、全局变量,global、nolocal的区别

def fun1(): x = 5 # 非全局变量的外部变量,在fun2()的外部作用域里边 def fun2(): x *= x # 会报错未定义 return x return fun2()fun1() 解决办法1:用容器存放,因为容器类型不是存放在栈里边(局部变量存放在栈里边),所以不会被屏蔽起来 def fun2(): x = [5] def fun2(): x[0] *= x[0] return x[0] return fun2()fun2()解决办法2:用nolocal def fu

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

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

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

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

python基础--局部变量与全局变量

首先来看两张图,局部变量与全局变量的区别: 局部变量: class MyClass(): def a(self): n=100 print('a中的n数值为:%d'%(n)) def b(self): n=n+200 print('b中的n数值为:%d'%(n)) 这个时候就会报错,函数b中的n=n+200会显示n未定义错误,原因是n只是在函数a中定义了一个值100,但是函数b中并未赋值,如果还是要使用n这个数值,就可以定义一个全局变量,表示区分我这里写成_n 全局变量: _n=1111 cla