Я пытаюсь понять предысторию, почему следующие работы:передавая объект к объекту
def part_string(items):
if len(items) == 1:
item = items[0]
def g(obj):
return obj[item]
else:
def g(obj):
return tuple(obj[item] for item in items)
return g
my_indexes = (2,1)
my_string = 'ABCDEFG'
function_instance = part_string(my_indexes)
print(function_instance(my_string))
# also works: print(part_string(my_indexes)(my_string))
как же я могу передать my_string к function_instance объект, даже если я уже прошел my_indexes атрибуты в part_string() при создании function_instance? почему Python принимает my_string неявно?
Я предполагаю, что это имеет какое-то отношение к следующему, поэтому больше вопросов здесь: что такое OBJ в г (OBJ)? может ли это быть чем-то другим, например. g (материал) (как с self, который является просто конвенцией)? Что делать, если я хочу передать 2 объекта в function_instance? как я могу обратиться к ним в g (obj)?
Можете ли вы порекомендовать вам некоторые чтения?
See (http://stackoverflow.com/questions/13857/can-you. [Можете ли вы объяснить закрытие (так как они относятся к Python)?] -explain-укупорочные-как-они-относятся к питон) –