Я ищу способ изменить переменные, определенные внутри функции после определения функции.
Например,
def GetNthPower(x) :
n = None
return x**n
my_numbers_list = [11,23,45,56,78,98]
# now if I feel like I need the 4th power of some numbers in the list
GetNthPower.n = 4
for x in my_numbers_list :
print GetNthPower(x)
# If I want 7th power then
GetNthPower.n = 7
Это, очевидно, не будет работать, есть ли способчтобы сделать это?
NB: я знаю, что мы можем достичь этого, установив 'n' в качестве аргумента функции, но я хочу сделать это таким образом по определенной причине. Я хочу, чтобы у моей функции был только один аргумент (для использования функции в multiprocessing.Pool.map()
).