变量值由函数调用确定

时间:2013-04-27 13:31:47

标签: python

这可能很奇怪,但我想声明一个没有固定值的变量,但是以某种方式“链接”到函数的结果。目标是让最终用户操作变量,但每次使用变量的值时,其值都可能会发生变化。

这是我得到的当前结果:

from random import randint

def randomfun():
    return randint(1, 100)

an_int = randomfun
print an_int    # Print the function object
print an_int()  # Print the result of randomfun()

我希望print an_int实际调用randomfun(),但无需添加括号,an_int的类型应为randomfun返回类型。

1 个答案:

答案 0 :(得分:4)

an_int是一个对象。除非你改变它,否则它不会改变它的值。但是,您可以更改对象的表示方式:

from random import randint

class RandomFun(object):
    def __str__(self):
        return str(randomfun())

def randomfun():
    return randint(1, 100)

an_int = RandomFun()
print an_int    
print an_int    

收益率(类似)

57
19