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


  • 相关阅读:
    Zend Studio下调试PHP的一点注意事项
    使用FTP出现中文乱码解决方案
    C++数据类型与C#对应表
    FineUI 开发B/S系统
    c#调用带输出参数的存储过程
    经典FormsAuthenticationTicket 分析
    C# Oracle数据库操作类实例详解
    如何使用C#的Hashtable[哈希表]
    对三层架构的理解
    C# 最简单的三层架构实例 ——转载自网易博客
  • 原文地址:https://www.cnblogs.com/222kd/p/8342071.html
Copyright © 2011-2022 走看看