2

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

这是我得到的当前结果:

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返回类型。

4

1 回答 1

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
于 2013-04-27T13:36:40.713 回答