Получение объекта функции для функций int () и float ()

Я хочу передать функцию функции в Python. Я знаю, что могу сделать это просто, поместив имя функции в качестве параметра, например:

blah(5, function) 

Тем не менее, я хочу передать функцию int() функцию float() для этой функции. Если я просто поместил имя функции, тогда он предполагает, что я имею в виду типы int и float а не функции преобразования строк в int и float.

Есть ли способ передать функцию, а не тип?

Просто передача int и float в порядке. Вы правы, что это фактически передаст объекты типа вместо функций, но это не важно. Важно то, что передаваемый объект можно вызвать, а вызов объектов типа будет делать то, что вы ожидаете.

Объекты типа – это то, что вы хотите.

 >>> 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'> >>>