首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python变量作用

今天我们要说的是:变量的作用 什么是作用呢? 作用就是某一个事件或者物体在某种情况下产生的特定的作用或效果(画外音:能不能说人话?)...这就是作用的理解,那么变量的作用,就是变量在不同环境下所表达的角色(当然是不同的) 好了,如果你理解了变量作用的概念,那么下面那就让我们来看看,在Python中,变量的作用有几种呢?...1.局部作用(Local) 局部作用是作用在一个函数、方法等内部,局部作用作用范围最小 2.闭包(Enclosing) 闭包表示变量在本函数外的函数中的变量作用 3.全局作用(Global)...全局作用一般是定义在函数体之外的,这里的变量通常对全局有效 4.内建作用(Building-in) 内建作用的作用就是Python语言内建的函数范围,比如我们使用一个print(),一个if()等等...值得注意的是:在Python中,只有引用了模块(Module)、类(Class)、函数(Def及Lambda)时才会引入新的作用,使用其他模块的时候是不会引入新的作用的,这点很重要。

95560
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python变量作用

    变量作用   Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。   变量的作用决定了在哪一部分程序可以访问哪个特定的变量名称。...Python的作用一共有4种,分别是: L (Local) 局部作用 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用 B (Built-in) 内建作用 以 L...-------- a = int(3.14) #int函数在内建作用域中 NAME='John' #NAME在全局作用域中 def fun(): name='July' #闭包函数外的函数...def fun2(): name='Jack' #局部作用 print(name) fun() Jack Python 中只有模块(module),类(class)...以及函数(def、lambda)才会引入新的作用,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用的,也就是说这这些语句内定义的变量,外部也可以访问

    1K20

    Python 变量作用

    本文内容:Python 变量作用 ---- Python 变量作用 1.变量作用 2.局部变量 3.全局变量 4.同名的局部变量和全局变量 5.global 语句 ---- 1.变量作用...Python 中规定每个变量都有它的作用, 即变量只有在作用范围内才是可见可用的。...作用能避免程序代码中的名称冲突,在一个函数中定义的变量名称不会干扰另外一个函数内的变量。这有助于使函数更加独立。 根据作用范围的大小,可以将作用分为全局作用和局部作用。...2.局部变量 局部变量仅仅在局部作用内可用。在局部作用之外,该变量是不可见的。 如果变量是在函数体内被创建(首次赋值)的,这个变量就只能在该函数体内使用,是这个函数体的局部变量。...在这种情况下,在局部作用内,可见的是局部变量,全局变量被暂时隐藏起来。

    72740

    python基础—作用

    函数的返回值 python函数使用return语句返回  返回值 所有函数都有返回值,如果没有return语句,默认调用 return None return语句并不一定是函数的语句块的最后一条语句...语句之后的其他语句就不会被执行 作用: 结束函数调用和返回值 使用return返回值时,不能同时返回多个值,返回的是一个值,并不是多个: 上面的这个就是返回的一个元组,我们可以结合解构来获取这三个值, 作用...一个标识符的可见范围,这就是标识符的作用,一般常说的是变量的作用 对比这两个函数,第二个函数会报错:UnboundLocalError: local variable ‘x’ referenced...,在外层函数的作用域中对内层函数里的变量并不可见,而相反,内层作用是可以看见外层的变量的 那么我们该如何区分局部作用和全局作用,也就是如何定义全局变量和局部变量呢?...全局变量global 使用global关键字的变量,将函数内部的变量声明为全局变量,并在本层作用和外部作用可以随意使用

    43820

    详解Python变量作用

    本文暂时不讨论类定义中的变量(成员)作用,改天可能会单独成文介绍。...变量作用总起来说可以这么理解:1)在函数内如果只引用某个变量的值而没有为其赋新值,该变量为(隐式的)全局变量;2)如果在函数内某条代码有为变量赋值的操作,该变量从此之后就被认为是(隐式的)局部变量,除非在函数内该代码之前显式地用关键字...并自动隐藏了同名的全局变量 print(x) >>> x = 5 #创建全局变量 >>> x 5 >>> demo() 3 >>> x #函数调用结束后,不影响全局变量x的值 5 除了局部变量和全局变量,Python...nonlocal spam #这时要求spam必须是已存在的变量 spam = "我不是局部变量,也不是全局变量" def do_global(): global spam #如果全局作用内没有...明天会把我写的代码贴出来以便大家参考和对照,当然在这之前可以先参考一下【Python实现单链表】。

    1.5K80

    Python 变量的作用

    一、作用介绍 概念 变量可以使用的范围,程序的变量并不是哪个位置都可以访问的,访问的权限决定于变量时在哪里定义的 作用的划分 局部作用(L) 闭包函数外到函数中(E) 全局作用(G) 内建作用...(B) 变量查找的规则 L->E->G->B 注意 Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用,其它的代码块(如 if/elif/else.../、try/except、for/while等)是不会引入新的作用的,也就是说这这些语句内定义的变量,外部也可以访问 二、体现作用 num1 = 1 if 1: num2 = 2...func2() print("func1--c =", c) print("func1--a =", a) func1() print("func--a =", a) 五、闭包 作用链...2 def fucn2(): c = 3 def func3(): return a + b + c func1() 使用闭包突破作用

    76420

    python函数作用简介

    1.定义:函数中变量取值的地方; 2.函数中的变量名除了特殊声明为全局变量或本地变量,否则均为局部变量; 3.变量的作用解析原则:LEGB原则,即: 变量名引进分为三个作用进行查找,首先是本地,再是函数内...(如果存在),之后才是全局变量,最后是内置作用(内置作用:内置函数所在模块的范围); 在默认情况下,变量名赋值会创建或者改变本地已有的变量; 全局声明或非本地变量声明会将赋值的变量名映射到模块文件的内部作用...; LEGB机制: Python搜索的四个作用,最先是本地作用(L);之后是上一层结构中的def所在作用(E,函数嵌套才会出现),再是全局作用(G),最后才是内置作用(B) Python会在第一处能够找到这个变量名的位置停下来...,如果python在此次搜索中没有找到该变量,会报错;(即未定义)

    51240

    python变量LEGB作用

    变量作用层次 L(local)局部作用 E(Enclosed)嵌套(闭包)作用 G(Global)全局作用 B(Built-in)内置作用 作用使用规则...作用内变量可直接读取, 修改, 删除 上层变量无法读取下层变量, 下层变量可读取上层变量, 但只可读取, 如果需要修改, 则需要关键字声明 从上往下顺序创建,从下往上搜索...作用 L(local)局部作用 作用范围 只在当前代码块或者当前函数中有效 注意: 当在外部调用时, 会抛出 NameError def local(): total...作用范围 整个闭包函数(outer)内有效, 但是嵌套函数(inner)内定义的变量, 在闭包(outer)内会报错 def outer(): out_total = 1 # 闭包...name__) # __name__ __main__ 跨修改变量 如果需要跨修改变量必须要使用关键字声明, global, nonlocal global 声明变量是全局变量 格式: def

    34920

    python 变量和作用

    变量作用 python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。 变量的作用决定了在哪一部分程序可以访问哪个特定的变量名称。...python的作用一共有4种,分别是: L (Local) 局部作用 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用 B (Built-in) 内建作用 以 L...x = int(2.9)  # 内建作用 g_count = 0  # 全局作用 def outer():     o_count = 1  # 闭包函数外的函数中     def inner():...        i_count = 2  # 局部作用 举个例子 name = "Li Si" def change_name(name):     print("before change:", ...全局变量作用是整个程序,局部变量作用是定义该变量的子程序。 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

    71030

    Python - 变量的作用

    变量作用 Python能够改变变量作用的代码段是 、 class 、 lamda....def if/elif/else、try/except/finally、for/while 并不能涉及变量作用的更改,也就是说他们的代码块中的变量,在外部也是可以访问的 变量搜索路径是:局部变量->全局变量...局部变量vs全局变量 局部变量:在函数内部,类内部,lamda.的变量,它的作用仅在函数、类、lamda里面 全局变量:在当前py文件都生效的变量 global的作用 让局部变量变成全局变量 def...);Python内建函数的名字空间 这是我们代码找变量的顺序,倘若最后一个python内建函数也没有找到的话就会报错了 什么是内建函数呢?...所以只要记得Python内建函数作用 > 全局变量作用 > 局部变量作用就好了

    1.6K30

    Python 作用:局部作用、全局作用和使用 global 关键字

    这被称为作用。 局部作用 在函数内部创建的变量属于该函数的局部作用,并且只能在该函数内部使用。...在 Python 代码的主体部分创建的变量是全局变量,属于全局作用。...全局变量可以在任何作用域中使用,包括全局作用和局部作用。...在函数外部创建的变量是全局的,并且可以被任何人使用: x = 300 def myfunc(): print(x) myfunc() print(x) 变量命名 如果在函数内部和外部使用相同的变量名称,Python...将把它们视为两个不同的变量,一个在全局作用(函数外部)中可用,另一个在局部作用(函数内部)中可用: 示例:该函数将打印局部变量 x,然后代码将打印全局变量 x: x = 300 def myfunc

    29410

    Python 作用和命名空间

    在介绍类之前,我首先要告诉你一些Python的作用规则。类定义对命名空间有一些巧妙的技巧,你需要知道作用和命名空间如何工作才能完全理解正在发生的事情。...顺便说一下,关于这个主题的知识对任何高级Python程序员都很有用。 让我们从一些定义开始。 namespace 是一个从名字到对象的映射。...大部分命名空间当前都由 Python 字典实现,但一般情况下基本不会去关注它们(除了要面对性能问题时),而且也有可能在将来更改。...一个 作用 是一个命名空间可直接访问的 Python 程序的文本区域。 这里的 “可直接访问” 意味着对名称的非限定引用会尝试在命名空间中查找名称。...Python 的一个特殊之处在于 -- 如果不存在生效的 global 语句 -- 对名称的赋值总是进入最内层作用。 赋值不会复制数据 --- 它们只是将名称绑定到对象。

    70750

    python变量的作用

    #6.2变量的作用,是变量的可访问范围,也称为命名空间。在第一次 #给变量赋值时,python创建变量。第一次给变量赋值的位置决定了变量的作用。...#作用类型 #一个程序通常包含了变量、函数和其他语句。变量和函数涉及可访问范围。一个程序中的变量和函数 #要么在当前文件中定义,要么就是python预先定义好。函数和程序文件划分了不同的作用。...#在pyton中作用范围可以分为内置作用、文件作用、函数嵌套作用和本地作用。 #内置作用和文件作用被称为全局作用。 #函数嵌套作用有时,也称为本地作用。...#根据作用的范围大小,作用域外部的变量和函数,可以直接作用在作用内使用;相反,作用内的变量 #不能在作用域外直接使用。 #根据作用范围,通常将变量名分为两种:全局变量和本地变量。...内置函数print() #作用域外的变量和作用内的变量名称相同时,遵循本地“优先”原则,此时外部的作用被屏蔽 #---作用隔离原则。

    53510

    Python中变量的作用

    print(b) print(a) n1() n2() 结果: 3 1 在这个例子中,对于变量a,b的值,是应该先识别函数中的还是先识别函数外的呢,其实python...内部在识别变量的值得时候是有顺序的,不是胡乱读取的,python内部对于获取变量的值是规定了一个顺序的。...二、变量定义顺序 LEGB原则 当你在代码里声明一个变量后,python会在LEGB四个作用里搜索变量的值,它的搜索是有顺序的,第一步现在L也就是当前最里层局部作用内找,如果没找到,第二步会跑到包含当前层的上一层作用...E里找,还没找到的话,第三部会去模块级的里面G里找,最后是去python里的固定模块里找。...对于模块,类,函数里出现的变量就要注意了,它们会引入新的作用,在这里如果内部 作用声明了变量,那么就用内部变量的值,内部如果没有声明,就会使用外部作用的值

    1.1K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券