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

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

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

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

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

如果在函数中修改全局变量,那么就需要使用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 

最新文章

  1. DNS压力测试工具dnsperf简介
  2. eclipse workspace 共享配置文件
  3. 查看表空间信息SQL集合
  4. springMVC数据封装成POJO
  5. asp中的几个取整函数fix(),int(),round()的用法
  6. phpstorm使用技巧
  7. KMP算法---字符串匹配
  8. [luogu P3128][USACO15DEC]Max Flow [LCA][树上差分]
  9. 最长回文子序列(LPS)
  10. DeepLearning.ai学习笔记(三)结构化机器学习项目--week1 机器学习策略
  11. BZOJ 2809: [Apio2012]dispatching [斜堆]
  12. how tomcat works 总结 三
  13. JMeter中添加dubbo相关插件异常问题解决
  14. (转载)CPU、内存、硬盘、指令以及他们之间的关系
  15. laravel之路由
  16. IDEA项目搭建十——使用slf4j和logback进行日志记录
  17. 开IE时 暴卡
  18. sap 给集团分配一个逻辑系统
  19. 从api接口获取数据-okhttp
  20. 校友聊NABCD需求分析

热门文章

  1. DoDataExchange函数,UpdateData(TRUE)和UpdateData(FALSE)的区别
  2. python's thirty-first day for me re模块
  3. 实用webpack-dev-server
  4. 前端学习---css基本知识
  5. redis学习六 集群的原理(转载)
  6. MySQL复制错误 The slave I/O thread stopsbecause master and slave have equal MySQL server UUIDs; these UUIDs must bedifferent for replication to work 解析
  7. c++ 流状态
  8. 使用RandomAccessFile读写数据
  9. 645. Set Mismatch挑出不匹配的元素和应该真正存在的元素
  10. 面试题:bootstrap栅格系统