я узнал, что с помощьюСтранная функция/класс в Python. Почему у нас это есть?
(int)('123')
Works, то же самое, используя int('123')
Я исследовал его немного и заметил, что она работает с другими функциями тоже.
def add_10(num):
return num + 10
print (add_10)(10) # prints 20
И это также работает с классами
class MyClass(object):
def __init__(self, x):
self.x = x
print (MyClass)(10).x # returns 10
Я никогда, кажется, такое поведение прежде, она используется кем-либо? У этого есть имя? Где в документах это указано? Почему у нас это есть?
Он работает как в Python 2.7 и Python 3.
Edit:
Дальнейшие испытания, и я заметил, что скобка не имеют никакого эффекта. Использование ((((int))))('2')
такое же, как int('2')
Это довольно крутой способ выполнения композиции функций, но это довольно круто. –