-1

数値を返す関数があります。この数値を整数型に追加しましたが、関数によって返された数値が「関数」型であるというエラーが発生しました。

「関数」タイプを「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'
4

1 に答える 1

5

関数オブジェクト自体の型は常にfunction(他に何がありますか?) ですが、その結果の型はint(1 を返すようにした場合) です。

>>> def foo(bar):
...     return int(bar)
...
>>> type(foo)
<type 'function'>
>>> type(foo("1"))
<type 'int'>
>>>
于 2013-09-19T15:08:50.090 に答える