python全局变量结合函数参数默认值的问题
先上代码
(1)定义全局变量和函数
name = 'test.py'
def print_name(mystring = name):
print mystring
(2)开始调用
name = 'success.py'
print name
print print_name()
结果如下:
success.py
test.py
问题:如何做到让mystring初始的默认值 等于 程序刚开始执行时赋予name的值?
也就是想得到下面的效果
success.py
success.py
请各位大侠帮忙看看啊
[解决办法]
函数默认值是死的,在定义那行就要决定了,试试用一个不应该的值当默认参数, 譬如:
def print_name(mystring=None): if mystring is None: mystring = name print mystring