局部变量,就是在函数内部定义的变量

不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响

局部变量的作用,为了临时保存数据需要在函数

在函数外边定义的变量叫做全局变量

全局变量能够在所有的函数中进行访问

如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错

如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的

  1. 局部变量:

    局部变量,就是在函数内部定义的变量

    不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响

    局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用

    1 def test1():

    2     a=111

    3     print("a=%d"%a)

    4     b=222

    5     print("b=%d"%b)

    6

    7 def test2():

    8     c=333

    9     print("c=%d"%c)

  2.  

    全局变量

    如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量

    1 a=200

    2 def test1():

    3     print(a)

    4

    5 def test2():

    6     print(a)

    7

    8 test1()

    9 test2()

  3.  

    全局变量和局部变量名字相同问题

    #定义全局变量

    a=200

    def test1():

    a=300

    print("test1...修改前a=%d"%a)

    a=400

    print("test1...修改后a=%d"%a)

    def test2():

    print("test2....a=%d"%a)

    test1()

    test2()~

  4.  

    修改全局变量

    既然全局变量,就是能够在所以的函数中进行使用,那么可否进行修改呢?

    答案是可以的,我们可以使用global

  5.  

    总结:

    在函数外边定义的变量叫做全局变量

    全局变量能够在所有的函数中进行访问

    如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错

    如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的

  6.  

    可变类型的全局变量

    ~在函数中不使用global声明全局变量时不能修改全局变量的本质是不能修改全   局变量的指向,即不能将全局变量指向新的数据。

    ~对于不可变类型的全局变量来说,因其指向的数据不能修改,所以不使用glob    al时无法修改全局变量。

    ~对于可变类型的全局变量来说,因其指向的数据可以修改,所以不使用global   时也可修改全局变量

    来源:https://jingyan.baidu.com/article/c35dbcb097a97e8916fcbcdf.html 

python中局部变量和全局变量的更多相关文章

  1. JavaScript中局部变量与全局变量的不同

    JavaScript中局部变量与全局变量 我们知道,JavaScript的变量是松散型的变量,也就是说,其变量只需用var声明,其赋值的类型是不限定的.比如: var person=18; perso ...

  2. [转]深入探讨C语言中局部变量与全局变量的作用域与存储类别

    C语言中局部变量和全局变量变量的作用域与存储类别(auto,static,extern,register) 1.局部变量和全局变量在讨论函数的形参变量时曾经提到,形参变量只在被调用期间才分配内存单元, ...

  3. php中局部变量和全局变量

    php中局部变量和全局变量 代码1:函数内部使用函数外部变量错误方法 <?php $name = 'fish'; function animal() { echo $name; } animal ...

  4. 对js中局部变量、全局变量和闭包的理解

    对js中局部变量.全局变量和闭包的理解 局部变量 对于局部变量,js给出的定义是这样的:在 JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域 ...

  5. 对JavaScript中局部变量、全局变量和闭包的理解

    对js中局部变量.全局变量和闭包的理解 局部变量 对于局部变量,js给出的定义是这样的:在 JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域 ...

  6. python中list作为全局变量无需global声明的原因

    发现一个问题. python中list变量作为全局变量时,在函数中可以直接修改. 而普通变量则需要先在函数中global声明,否则会报错. 例如: a = 1 def fun(): global a ...

  7. PYTHON 函数局部变量和全局变量

    有这样一段PYTHON代码,从事C语言开发的人都知道,如果定义了全局变量,而函数内没有定义同名的函数变量的话,那么在函数内对该变量的赋值就是对全局变量空间数值的修改, 然后在PYTHON中却不尽相同, ...

  8. python的局部变量,全局变量,类变量,实例变量

    定义: a.全局变量:在模块内.在所有函数外面.在class外面,这就是全局变量. b.局部变量:在函数内.在class的方法内(未加self修饰的),这就是局部变量. c. 静态变量:在class内 ...

  9. 【Python】PYTHON 函数局部变量和全局变量

    有这样一段PYTHON代码,从事C语言开发的人都知道,如果定义了全局变量,而函数内没有定义同名的函数变量的话,那么在函数内对该变量的赋值就是对全局变量空间数值的修改, 然后在PYTHON中却不尽相同, ...

随机推荐

  1. 温故而知新java事务

    一.什么是Java事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (iso ...

  2. 如何在 Internet Explorer 11中开启 WebGL

    原文地址:http://www.hiwebgl.com/?p=1210 国外开发者Francois Remy在泄露版Windows Blue附带的Internet Explorer 11中发现,Web ...

  3. Playbooks 中的错误处理

    Topics Playbooks 中的错误处理 忽略错误的命令 控制对失败的定义 覆写更改结果 Ansible 通常默认会确保检测模块和命令的返回码并且会快速失败 – 专注于一个错误除非你另作打算. ...

  4. maven 安装 过程

    maven 安装 过程 1 下载: apache-maven-3.0.3-bin.zip 压缩包 2 将压缩包解压到需要安装的目录文件中. 比如解压到: Z:\zr_anzhungwenjian\ap ...

  5. oracle中,约束、表名、Index等的名称长度限制最大只能30个字符

    oracle中,约束.表名.Index等的名称长度限制最大只能30个字符

  6. HTTP及XMLHTTP状态代码一览

    (一) HTTP 1.1支持的状态代码 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一 ...

  7. HTML5+ 初识,HBuilder,夜神模拟器,Webview

    一.HTML5+ 初识 HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任 ...

  8. O2耳放 DIY 模拟放大

    http://nwavguy.blogspot.com/2011/07/o2-headphone-amp.html 原文链接 O2耳放. O2是一个DIY项目.免费,开源.本篇博客也免费,开源. O2 ...

  9. LCS(详解)

    一,问题描述 给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence).比如字符串1:BDCABA:字符串2:ABCBDAB 则这两个字符串的最长公共子序列长 ...

  10. Android独立交叉编译环境搭建

    我们经常需将一些C/C++源码编译成本地二进制,直接在android的linux内核上运行,这是就需要进行交叉编译.由于Android的运行环境核普通Linux又区别,所以常规方式针对ARM进行交叉编 ...