• 20行代码说清楚Python中的全局和局部变量


      python中的全局和局部变量
      局部变量是在函数体中定义的变量
      全局变量是在外部定义的变量
      例如:
      a=1
      def f(): b=2
      其中a是全局变量,b是局部变量。局部变量仅在函数体内部有效,函数体外部不可访问,而全局变量对以下代码有效。
      在函数体内部使用全局变量
      全局变量可以直接在函数体的内容部分使用,您可以直接访问它们。但是,应该注意的是,如果在函数中为不可变类型的数据执行赋值,它将不会影响外部全局变量,因为它相当于创建一个与全局变量同名的新局部变量。对于变量类型,如果使用赋值语句,它也不会对外部产生影响,但是如果使用方法,它会对外部产生影响。
      例如下面的代码:
      g _ b=3;g_l1=[1,2];g_l2=[1,2,3]
      def t1():g _ b=2g _ L1=[]g _ L2 . append(7)
      t1(g_b,g_l1,g_l2)
      打印(g_b、g_l1、g_l2)
      全局关键字
      如上所述,如果使用赋值语句,就相当于在函数内部创建一个新变量,并再次指向它。然而,有时我们希望将这个变量引用到外部全局变量。在赋值操作中,我们给出一个指向全局变量的新指针。此时,我们可以使用全局关键字来指示函数内部的变量是我使用的全局变量。使用方法如下:
      g_b=3
      def t1():全局g_b g_b=2
      t1()
      打印(g_b)
      此时,您会发现全局变量g_b也已被重定向,因为全局gb指示指定函数中的g_b是外部函数。

  • 相关阅读:
    ssm 在不同的数据库中进行切换(开启事物禁用)
    引入xfire-all.jar后导致sping配置异常
    单点登录cas的最简单使用
    win10下cmd命令不能用
    前端json 两个重要的方法
    maven 工程下第三方jar 包的引入和打包 war
    idea 中main 方法不能运行
    从sqlServer 分页查询谈${}和#{}
    can与could区别
    线程同步与异步区别
  • 原文地址:https://www.cnblogs.com/phploser/p/12286781.html
Copyright © 2020-2023  润新知