python main函数中变量默认为global variable

在python的main函数中的变量默认为全局变量,而其他的def函数中的变量则默认为局部变量

当然,局部变量会优先于全局变量,在执行formal_print(t_global)语句时便可看出。


测试代码如下:

#!/usr/bin/env python
#coding=utf-8
#测试python的全局变量,局部变量的机制

def formal_print(s_global):
	#常规的传参用法,传递参数进行print,变量名可任意 
	print "formal_print: ", s_global 
	return 

def global_print():
	#无参数传递,直接对global variable进行print 
	print "global_print: ", s_global
	return

def global_print_para(st):#此处虽然传递了一个参数st,但是并没有在函数中用到 
	print "global_print_para: ", s_global
	return

def test_global(): 
	stest = 'test_global' 
	print "test_global: ", stest 
	return 

if __name__ == '__main__': 
	#main函数中声明的变量默认为global variable,
	#而其他def函数中声明的变量则默认为local variable 
	s_global = 'global variable s_global'
	t_global = 'global variable t_global' 
	formal_print(s_global) 
	formal_print(t_global) 
	global_print() 
	test_global() 
	#formal_print(stest)#虽然在test_global()中声明了变量stest,但stest并非全局变量 
	print 'End.'


 


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值