获取int()和float()函数的函数对象

时间:2011-06-22 13:09:40

标签: python function

我想将函数传递给Python中的函数。我知道我可以通过将函数名称作为参数来实现,例如:

blah(5, function)

但是,我想将int()函数和float()函数传递给此函数。如果我只是将函数名称放入其中,则假定我指的是intfloat类型,而不是将字符串转换为整数和浮点数的函数。

有没有办法传递函数而不是类型?

2 个答案:

答案 0 :(得分:11)

只需传递intfloat即可。你是对的,这实际上会传递类型对象而不是函数,但这并不重要。重要的是传递的对象是可调用的,调用类型对象将完成你期望的工作。

答案 1 :(得分:3)

类型对象你想要的。

>>> def converter(value, converter_func):
...     new_value = converter_func(value)
...     print new_value, type(new_value)
... 
>>> converter('1', int)
1 <type 'int'>
>>> converter('2.2', float)
2.2 <type 'float'>
>>>