zoukankan      html  css  js  c++  java
  • day 3 局部变量 全局变量

    1.局部变量

          

           

    2.全局变量(死歌的大招)函数前面声明的都是全局变量

          

     3.全局变量和局部变量的区别

      1)老方法

     def get_temper():
         temper = 33
         return temper
     
     def trans_temper(a):
         print("华氏温度:%s"%a)
     
     result = get_temper() #如果一个函数有返回值,但是没有在调用函数之前
                           #用个变量保存的话,那么久没有任何意义
     trans_temper(result)

      

      2)新方法:不是“定义一个局部变量”,而是“对全局变量就行修改”

     #定义一个全局变量 temper
     temper = 0
     def get_temper():
         #如果temper这个变量已经在全局变量的位置定义了,此时还想修改全局变话
         #那么 仅仅是 temper一个值 这还不够,,,此时temper这个变量是一个局部变量
         #仅仅和全局变量的名字相同罢了
         temper = 33
     
         #使用global用来对一个全局变量的声明,那么这个函数中的temper=33
         #就不是定义一个局部变量,而是对全局变量就行修改
         global temper
         temper = 33             #对全局变量修改,不是定义局部变量
     
     def trans_temper():
         print("华氏温度:%s"%temper)
     
     get_temper()
     trans_temper()

            

     4.全局变量 哪个位置生效

         

         

     #1.先放全局变量定义
     a = 100
     c = 300
     b = 200
     
     #2.再放,语句的执行
     def test1():
         print("a=%d"%a)
         print("b=%d"%b)
         print("c=%d"%c)
     
     #3.最后放,语句的执行         # 函数调用之前的变量都是   全局变量
     test1()

    5.全局变量和局部变量 名字相同?,全局变量命名格式

     a = 100
     #建议全局变量命名                                  #全局变量命名格式
     g_a = 100   #global_a
     tx_a = 100   #腾讯_a  公司的代码风格
     
     def test1():
         a = 200  #在函数中  如果对1个和全局变量 名相同的变量进行=value的时候
                 #默认是定义了一个变量,只不过这个变量的名字和全局变量名字相同 罢了
                 #
                 #如果想在执行 a=value 时,不是定义局部变量,而是对全局变量修改
                 #,那么就可以添加global进行声明
         print(a)
     
     def test2():
         print(a)  #如果这里打印了100就声明了test函数没有对全局变量修改,
                 #而是定义了一个局部变量
     
     test1()
     test2()
    #####       第二种
     
     a = 100
     def test1():
         global a
         a = 200
         print(a)
     
     def test2():
         print(a)
     
     test1()
     test2()

         

  • 相关阅读:
    Nodejs接收图片base64格式保存为文件
    tracking.js实现前端人脸识别
    node.js执行shell命令进行服务器重启
    Cordova 实现沉浸式(透明)状态栏效果
    SpringBoot启动原理详解
    连续子数组的最大乘积及连续子数组的最大和(Java)
    记录面试遇到的几个自己不太熟悉的问题(3)
    记录面试遇到的几个自己不太熟悉的问题(2)
    记录面试遇到的几个自己不太熟悉的问题(1)
    Java设计模式
  • 原文地址:https://www.cnblogs.com/venicid/p/7862510.html
Copyright © 2011-2022 走看看