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()

     

 

posted @ 2017-11-19 22:19  venicid  阅读(194)  评论(0编辑  收藏  举报