Оболочка Python специально для for-loop
s и ее действий
Я пишу много циклов FOR, которые, ну, в общем, довольно общие.
Например:
for x in y:
do something
... и подвержен ошибкам.например, забыв про ":" или пробники отступа.
Можем ли мы поместить цикл FOR в def и вызвать его, снабжая его чем-то?Интересное упражнение, если ничего другого.
Базовая оболочка ...
def wrapper(func,*args):
def wrapped():
return func(*args)
return wrapped
wrapper(print,"bob")
wrapper()
...which works. ie prints bob out
, но я не знаю, как заставить работать нижеприведенное - возвращение функции FOR приводило к множеству синтаксических ошибок.
например, что-то вроде:
def for_1(y, do_something):
def wrapped():
return for x in y:
do_something
return wrapped
for_1(range(3),print("bob\n"))
for_1()
... и не видел Боба на экране 3 раза.
Может кто-нибудь направить меня в правильном направлении,пожалуйста?Оболочка не выполняет возвращенную функцию.Возможно, использовать класс для оболочки?Тогда есть мои собственные методы (??) ... или, может быть, указать мне на страницу кого-то, кто делал это раньше.Я исследовал оболочки и декораторы, но не видел что-то для передачи параметров в функцию цикла FOR