读书人

python全局变量结合函数参数默认值的有

发布时间: 2012-03-31 13:13:26 作者: rapoo

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
请各位大侠帮忙看看啊

[解决办法]
函数默认值是死的,在定义那行就要决定了,试试用一个不应该的值当默认参数, 譬如:

Python code
def print_name(mystring=None):    if mystring is None:        mystring = name    print mystring 

读书人网 >perl python

热点推荐