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