zoukankan      html  css  js  c++  java
  • 全局作用域和局部作用域之间 变量的关系

    先说def语句:

    定义函数,

    如:

    def spam(name):

      print("hallo',name)

    spam(kd)

    执行上面的程序会得到

    hallo kd

    就是spam()为函数 括号中的name是参数,只要输入相应的参数,为匹配内容,如:

    def kd_age(nuber):

      print('your age is ' + nuber)

    kd_age(20)

    如果执行上面的代码得到的结果是:

    your age is 20

    现在来说说全局作用域和局部作用域(下面用全局、和局部说明)中的变量关系

    我尝试用简单来表述一下:

    全局的变量可以给局部使用;

    局部的变量不能给全局使用;

    当全局和局部的有相同的变量赋值时,局部会优先选择自己的赋值。

    我尝试举例子:

    def spam():           #就算全局变量和局部变量都是一样,局部变量赋值不会改变全局变量
    eggs = 10 #局部变量只作用于局部相应的作用域。
    print(eggs) #这里eggs 显示的值是局部 eggs =10 的值
    eggs =20
    spam() #所以这里显示的是10
    print(eggs) #这里eggs 显示的值是全局 eggs = 20 的值

    上面执行之后得到的结果是
    10
    20
    按照上面的结果来看,就算全局赋值eggs 为 20 的值,局部还是优先自己 eggs 为 10 的赋值。

    global语句
    在局部中的变量前面加global,那么这个变量会跟全局变量的等价的
    比如:
    def test():
      global name
      name = 'kd1'
    name = 'kd'
    test()
    print(test)
    结果是:
    kd1


  • 相关阅读:
    Arraw function
    constructor&object 的联系与对比
    for each in&for in&for of
    编程历史
    正则表达式
    DOM&BOM
    关于码云0095的一篇文章。
    vue2路由导航守卫(钩子函数)
    原声ajax请求数据
    express 创建项目
  • 原文地址:https://www.cnblogs.com/222kd/p/8342071.html
Copyright © 2011-2022 走看看