Python 2.7.5:更改类型'function'以输入'int'

时间:2013-09-19 15:06:30

标签: python python-2.7

我有一个返回数字的函数。我将这个数字添加到一个整数类型但它给我一个错误,说该函数返回的数字是一个'函数'类型。

如何将'function'类型转换为'int'类型,以便我可以对它们执行数学函数?有没有办法让函数返回'int'?我在函数中尝试了以下内容,但它仍然不会返回'int'类型:

def cost_of_trip(city, days, extra):
    return int(car_cost(days) + hotel(days) + transportation(city) + extra)

print cost_of_trip("Madrid", 7, 2500)

print type(cost_of_trip)

但函数仍然返回:

type 'function'

1 个答案:

答案 0 :(得分:5)

函数对象本身的类型总是function(它还能是什么?),但其结果的类型是int(如果你让它返回一个):< / p>

>>> def foo(bar):
...     return int(bar)
...
>>> type(foo)
<type 'function'>
>>> type(foo("1"))
<type 'int'>
>>>