python中的全局变量与局部变量解读

  目录

  python中全局变量与局部变量

  标签:

  比如:

  a = 1

  def f():

  b = 2

  其中就是全局变量,而是局部变量。局部变量只在函数体内部有效,出了函数体,外面是访问不到的,而全局变量则对下面的代码都有效。

  在函数体内部使用全局变量

  全局变量可以直接在函数体内容部使用的,你可以直接访问,但是注意的是,如果对于不可变类型的数据,如果在函数里面进行了赋值操作,则对外面的全局变量不产生影响,因为相当于新建了一个局部变量,只是名字和全局一样,而对于可变类型,如果使用赋值语句,同样对外部不产生影响,但是使用方法的话就会对外部产生影响。

  如下面的代码:

  g_b = 3;g_l1 = [1,2];g_l2 = [1,2,3]

  def t1():

  g_b = 2

  g_l1 =[]

  g_l2.append(7)

  t1(g_b,g_l1,g_l2)

  print(g_b,g_l1,g_l2)

  global关键字

  上面说到,如果使用的是赋值语句,在函数内部相当于新建了一个变量,并且重新给了指向,但是有时候我们想把这个变量就是外部的那个全局变量,在赋值操作的时候,就是对全局变量给了重新的指向,这个时候可以通过global关键字表示我在函数里面的这个变量是使用的全局那个。

  使用方法如下:

  g_b = 3

  def t1():

  global g_b

  g_b = 2

  t1()

  print(g_b)

  这个时候你会发现全局变量g_b也重新指向了,这是因为表示指定了函数中的就是外面的那个。

  python变量命名5大规则

  Python变量名不是随便乱起,需要遵循以下规则:

  1、只能字母、下划线开头,不能数字开头。变量用小写字母开头是 Python 的惯例,也是编码的好习惯,大家要养成好习惯哟。

  大家可以动手试试上面4个变量名哪个是正确的,尝试打开编辑器定义变量输出,看看有什么提示。

  实际上面4个变量名,只有第一个变量名是正确的,后面3个都是错误的。如果运行,将会有如下类似的错误提示:

  2、变量名不能有空格,可以用下划线;

  3、Python内置的关键字和函数不能用,比如说if、for、while、print、input等等;

  4、变量名称对大小写敏感,比如:myname和myName不是同一个变量;

  5、小写字母l和大写字母O尽量不要用于变量名,容易看成数字1和0 。

  总结

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

  您可能感兴趣的文章: