zoukankan      html  css  js  c++  java
  • python函数-作用域

    可以把作用域”看成是变量的容器。当作用域被销毁时,所有保存在该作用 域内的变量的值就被丢弃了只有一个全局作用域,它是在程序开始时创建的。如 果程序终止,全局作用域就被销毁,它的所有变量就被丢弃了。

    一个函数被调用时,就创建了一个局部作用域。在这个函数内赋值的所有变量, 存在于该局部作用域内。该函数返回时,这个局部作用域就被销毁了,这些变量就 丢失了。下次调用这个函数,局部变量不会记得该函数上次被调用时它们保存的值。

    一、局部作用域

    (1)在被调用函数内赋值的变元和变量,处于该函数的“局部作用域”。

    (2)处于局部作用域的变量,被称为“局部 变量”。

    二、全局作用域

    (1)在所有函 数之外赋值的变量,属于“全局作用域”。

    (2)处于全局作用域的变量,被称为“全局变量”。

    三、作用域的重要性

    (1)全局作用域中的代码不能使用任何局部变量;
    (2)但是,局部作用域可以访问全局变量;
    (3)一个函数的局部作用域中的代码,不能使用其他局部作用域中的变量。
    (4)如果在不同的作用域中,你可以用相同的名字命名不同的变量。

    四、global语句

    gloabl语句可以在函数内创建全局变量。

    在函数内使用 "global 变量"

    #!/usr/bin/env python
    #coding:utf-8
    def spam():
        global eggs
        eggs = 'spam'
    eggs = 'global'
    spam()
    print(eggs)
    
    输出结果是'spam'

    五、区分变量是全局变量还是局部变量的四种法则

    1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量。

    2.如果在一个函数中,有针对该变量的 global 语句,它就是全局变量。

    3.如果该变量用于函数中的赋值语句,它就是局部变量。

    4.如果该变量没有用在赋值语句中,它就是全局变量。

     

  • 相关阅读:
    Solr Admin管理界面使用说明
    游戏设计手札07
    php中新浪微博的调用
    关于MFC中EDIT编辑框内容换行显示
    几个常用命令
    ANF
    关于MFC中的定时器用法
    C++ 堆方面的笔记
    关于类定义与IO操作
    mysql用户权限配置时遇到的问题
  • 原文地址:https://www.cnblogs.com/dingkailinux/p/8018350.html
Copyright © 2011-2022 走看看