Это вообще законно? Красиво, конечно… но как-то непонятно. Такое надо просто помнить? Или есть правило в языке, согласно которому можно понять, что оно должно работать именно так? Или это фича фреймворка numpy?
Slava Rozhnev, я понимаю, что Вы имеете ввиду.
Я же имею ввиду чисто мысленное преобразование: f()()() после того, как f() возвращает a, "превращается" в a()(). И так далее. Это для того, чтобы "на пальцах" пояснить начинающему. Оно не исключает Вашу формулировку, а лишь иллюстрирует с другой точки зрения. Если оно Вам не понятно, что ж - я пытался... но, видимо, не слишком удачно.
Slava Rozhnev, вопрос точки зрения. Если объяснять "на пальцах", то:
f()()() превращается в
a()() которое превращается в
b() которое превращается в
print('nested function')
которое печатает "nested function".
1. Поправьте название вопроса: см.п.3.6
2. Приведите свой код, свою попытку решить вопрос (код оберните тегом code). Иначе вопрос можно считать заданием, а это нарушает п.5.12
lil.fxrrx, понятно. А зачем? Ну, то-есть я не против, только хочется понять, какая конечная цель действа. А то есть ощущение, что вы пытаетесь ухо из-под колена чесать. Что вы хотите в итоге получить?
У вас есть скрипт на Python. Вы хотите из него открыть некий файл средствами системы? Т.е. приложением, зарегистрированным в системе для открытия этих файлов?