python全局变量及局部变量】的更多相关文章

Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可以调用. 子程序:如用def定义的函数. 作用域 一个标识符的可见范围,这就是标识符的作用域.一般常说的是变量的作用域 全局作用域(global):在整个程序运行环境中都可见 局部作用域:在函数.类等内部可见:局部变量使用范围不…
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. name='charon' def change_name(): print('我的名字',name) change_name() def change_name(): name='pluto' print('我的名字',name) change_name()…
一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可以调用. 子程序:如用def定义的函数. 作用域 一个标识符的可见范围,这就是标识符的作用域.一般常说的是变量的作用域 全局作用域(global):在整个程序运行环境中都可见 局部作用域:在函数.类等内部可见:局部变量使用范围不能超过其所在的局部作用域. 例子 NAME = "nicholas&qu…
全局变量和局部变量 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域. 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问.调用函数时,所有在函数内声明的变量名称都将被加入到作用域中.如下实例: total = 0; # 这是一个全局变量 # 可写函数说明 def sum( arg1, arg2 ): #返回2个参数的和." total = arg1 + arg2; # total在这里是局部变量. #在函数中 如果对一个和全局变量名相同的变量进行=va…
全局变量和局部变量    全局变量:定义在函数外的变量    局部变量:定义在函数内部变量    获取变量值时候先获取当前作用域变量名称和变量值,如果没找到到上一层作用域招变量的值,在没有就报错,先获取局部变量,没有获取全局变量2,局部变量 def test01(): a=10 print('修改前',a) a=20 print('修改后',a) def test02(): a=40 print('我是02的a',a) test01() test02() 局部变量就是函数内部定义的变量    不…
一.引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字.如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if a == 1: print("a: %d" %a) for i in range(4): if i in b: print("%d in list b" %i) else: print("%d not in list b" %i) if __nam…
掌握L.E.G.B(作用域) 掌握局部作用域修改全局变量 步骤- 1.命名空间和作用域 命名空间:变量名称与值的映射关系作用域:变量作用的区域,即范围. 注意:class/def/模块会产生作用域:分支语句,循环语句,异常处理语句不会产生新的作用域. 2.作用域的类型区分 分类 表示 简单写法 局部作用域 Local L 嵌套作用域 Enclosing E 全局作用域 Global G 内置作用域 builtin B # 全局变量name = "小张"  # 全局作用域def fun(…
#局部变量,只能调用函数体内的变量 def fun(): a = 234 print(a) #全局变量,在函数体外声明,在函数体内都可调用 b = 'gyc' def fun(): a = 234 print(a,b) # 在局部内修改全局变量 b = 789 def fun(): a = 234 global b #global 表示全局b赋值为789 b = 789 print(a,b)…
知识点一: #在函数外面定义的变量叫全局变量 num = 100 def AAA(): ''' 如果在函数中直接修改全局变量,那么会产生异常 如果真的需要修改,可以在函数中进行声明(前面加入global) ''' global num print(num) num+=2 print(num) def BBB(): print(num) AAA() #输出100和102 #调用函数AAA()后全局变量num的值就真的改变了 BBB() #输出102 知识点二: ''' 如果全局变量是可变类型,比如…
局部变量和全局变量 college1 = 'JMU' #全局变量 def change_name(name): college1 = 'LiGong' #局部变量,此函数是其作用域 # global school #可以在函数内定义全局变量,这样在函数外调用函数体内的school则不会报错.但是千万不要这么干!不要在函数体内定义全局变量 # school = 'jmu' print("before change:%s"%name,college1) name = 'GKX' #局部变量…
# 全局变量 如果函数的内容无 global关键字,优先读取全局变量,无法对全局变量重新赋值, name = 'mj' def change_name(): print('change_name',name) change_name() change_name mj # 但是对于可变类型,可以对内部进行操作. name = ['mj','hm'] def change_name(): name.append('xiaoma') print('change_name',name) change_n…
变量作用域 全局变量(global):在函数外部定义,在整个全局范围都有效 局部变量(local) 在函数内部定义,局部变量在局部范围内使用 数字,字符串,元组,修改其变量值时需要加globle,列表和字典不需要…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 全局与局部变量 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. """ school = "tsinghua" #全…
python 中全局变量和局部变量在使用过程中的一个容易出错的地方 什么是全局变量 python中,在函数外部声明的变量可以叫做全局变量. x = 10 def fn1(): pass fn1() 什么是局部变量 python中,在函数内部声明的变量通常情况下称之为局部变量,它的作用域也仅限在函数内部. x = 10 # 全局变量 def fn1() : y = 20 # 局部变量,只能够在函数内部中使用 fn1() # 调用函数 容易出错的一个点 在使用全局变量和局部变量的过程中,有一种情况十…
一.函数的全局变量 1.什么是全局变量 顶着头开始写,没有任何缩进,在py文件的任何位置都能调用 #!/usr/bin/env python # _*_ coding:utf8 _*_ name="gouguoqi" name="gouguoqi" def change_name(): ",(name)) #这里的name就是调用的全局变量 change_name() C:\python35\python3.exe D:/pyproject/day14函数…
其实关于返回局部变量不只是python的问题,凡是使用堆栈结构处理函数的语言都会有这样的问题,切记不要返回局部变量.因为当创建函数的堆栈撤销,所有对局部变量的修改都灰飞烟灭.来看我的小例子 def handle(): class myClass(object): def __init__(self): #对各种基本数据类型测试 self.x = [] #列表 self.y = None #数值 self.z = {} #字典 self.a = str() #字符串 def _handle(sel…
如果你在为python中的变量:全局变量和局部变量头疼,我想这篇blog会给你帮助 运行效果: 代码部分: #Python中的变量:全局变量和局部变量 #在很多语言中,在声明全局变量的时候,都喜欢把全局变量的名称定义为大写 #定义学生人数为100 STUDENT_NUMBER = 100 #学校名称 SCHOOL_NAME = 'Guangzhou University' """\ 获取全局变量:学生人数STUDENT_NUMBER的值 """…
---恢复内容开始--- 一.函数相关: 1.1位置参数: ef hello(name,sex,county='china'): pass #hello('hh','nv') #位置参数.默认参数 1.2可变参数:也叫参数组,在参数名前加*,一般习惯命名为*args *args 特性: (1)不必传 (2)不限制参数个数,可传一个或多个 (3)传多个参数的时候,args把传的值放在一个元组中 def send_email(*args): print("发邮件") print(args)…
一.不定长参数 在函数定义中,经常会碰到*args 和**kwargs作为参数. 事实上在函数中,*和**才是必要的,args和kwargs可以用其他名称代替 *args 是指不定数量的非键值对参数.  **kwargs是指不定数量的键值对参数. *args 作为作为元组匹配没有指定参数名的参数. 而**kwargs作为字典,匹配指定了参数名的参数. *args 必须位于**kwargs 之前. 1.可变参数.参数组,*args # 1.不是必填参数: # 2.不限制参数的个数: # 3.传入多…
全局变量与局部变量两者的本质区别就是在于作用域 用通俗的话来理解的话, 全局变量是在整个py文件中声明,全局范围内都可以访问 局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序就爆掉了 如果在函数内部定义与某个全局变量一样名称的局部变量,就可能会导致意外的效果,可能不是你期望的.因此不建议这样使用,这样会使得程序很不健全 直接来看几个例子来理解全局变量和局部变量的区别吧: Demo1: def fun(x):       y=2       print("乘法…
基本数据类型补充 set set集合,是一个无序且不重复的元素集合 #创建 s = {11,22,33,44}#类似字典 s = set() #转换 l = (11,22,33,44) s1 = set(l) #iterable print(s1) l = [11,22,33,44] s1 = set(l) #iterable print(s1) l = "1234" s1 = set(l) #iterable print(s1) {33, 11, 44, 22} {33, 11, 4…
函数 函数的定义 def test(x): "The function definition" x += 1 return x def:定义函数的关键字 test:函数名 ():内可定义形参 “”:文档描述,非必要,但添加后可使得函数更易理解 x += 1:泛指代码块或程序处理逻辑,最好不要过多,让函数的功能简洁明了 return :定义返回值 调用运行:可以带参数也可以不带 函数名() def test(x): "The function definition"…
一.全局变量和局部变量 全局变量,即可以在当前文件所有地方都可使用的变量,一次修改,整个文件都影响.如果函数体内部使用全局变量,要先声明global 局部变量,只能在函数体内部使用,除了函数体就不可使用 比如: 局部变量 def function(): name=input('输入名字')#函数体内部声明的变量,是局部变量.作用区就只有function函数体内 print(name) print(name)#会报错,局部变量只在作用区内有效,出了作用区不可用 全局变量 name='' #全局变量…
全局变量和局部变量 我们通常把定义在函数外的变量成为全局变量,定义在函数内的变量称为局部变量,顾名思义,全局变量的作用域是整个代码段,局部变量的作用域就只是在它所属的代码段,变量只在它的作用域里有效. 通过实例,我们可以进一步理解下,全局和局部的概念. count = 10 #全局变量 def print_local(): count = 5 #局部变量,这个count覆盖了全局变量count,这2个是不同的变量. print(count) def print_global(): print(c…
全局变量&局部变量: 全局变量的特点: 1).直接定义在.py文件中(函数外)的变量(全局位置) 2).作用域比较大,可以被此文件中的任何函数所使用 局部变量的特点:1).定义在函数内部(函数体.形参位置)的变量 2).作用域比较小,只能被当前这个函数所使用 global关键字: 如果想要在函数的内部(局部位置)去修改全局变量的值, 那么可以先通过global定位到需要修改的这个全局变量 --> 例如: global aa = 30 然后重新赋值 演示全局变量和局部变量的定义以及使用: #定…
一.递归 1.递归函数,同时使用嵌套,并且是将别的函数作用于调用函数里面 例1 num = [1,2,3,4,5] def add_one(i): return i+1 def reduce(i): return i - 1 def map_test(func,array): #此处为重点 ret = [ ] for n in array: re = func(n) ret.append(re) return ret print(map_test(add_one,num)) print(map_…
##全局变量,局部变量#在函数内部可以调用全局变量,不能随意改变全局变量#若要在函数内部改变全局变量,需用关键字global #代码中全局变量都大写,局部变量都小写(非必须,一种规范) P = "aaa" def fd(): a = 123P = "bbb" def fe(): print(P) fd()fe() def fh(): global PP = "bbb" fd()fh()fe()…
1.位置参数.关键字参数.默认参数的使用 位置参数.关键字参数 def test(x,y,z): print(x) print(y) print(z) test(1,2,3) #位置参数,必须一一对应,缺一不行多一也不行 test(y=2,x=5,z=4) #关键字参数,无须一一对应,缺一不行多一也不行 *位置参数必须在关键字参数左边 # test(1,y=2,3)#报错 # test(1,3,y=2)#报错 # test(1,3,z=2,y=4)#报错 # test(z=2,1,3)#报错 #…
1.全局变量:在模块内,在所有函数.类外面. 2.局部变量:在函数内,在类方法内(未加self修饰的) 3.静态变量:在类内,但不在类方法内.[共同类所有,值改变后,之后所有的实例对象也改变] 4.实例变量:在类方法内,用self修饰的变量.[属于当前对象所有] 全局变量和局部变量的使用: a=1#全局变量 def b(): a=2#局部变量 print(a)#a的值为1,因为局部变量a值只在函数内有用. def c(): global a a=3 c() print(a)#a的值为3,因为在c…
全局变量与局部变量:在函数外部或内部定义的变量 1. 函数内部的变量名首次出现,且在=号左边 不管这个变量在全局域中有没有定义该变量名,都被视为一个局部变量 例1: >>>num=100 #全局变量 >>>def func(): num=123 #就算在全局域定义了,此时num也属于局部变量 print(num) >>>func() 123 2. 函数内部的变量名首次出现,且在=号右边 如果该变量在全局域中定义了,则开始使用全局变量 如果全局域中未定义…