У меня есть 2 функции fun1
и fun2
, которые принимают в качестве входов строку и число соответственно. Также оба получат в качестве входных данных одну и ту же переменную a
. Это код:Как передать переменную между функциями в python?
a = ['A','X','R','N','L']
def fun1(string,vect):
out = []
for letter in vect:
out. append(string+letter)
return out
def fun2(number,vect):
out = []
for letter in vect:
out.append(str(number)+letter)
return out
x = fun1('Hello ',a)
y = fun2(2,a)
Функции выполняют некоторые бессмысленные операции. Целью Mu было бы переписать код таким образом, чтобы переменная a делилась между функциями, чтобы они больше не воспринимали ее как входную.
Одним из способов удаления переменной a
в качестве входных данных является определение ее внутри самих функций, но, к сожалению, это не очень элегантно. Не могли бы вы предложить мне возможный способ достичь моей цели?
Функции должны работать одинаково, но входными аргументами должны быть только строка и номер (fun1(string)
, fun2(number)
).
Вы на полпути к переопределение объектно-ориентированного программирования. – chepner
Внутренняя часть функции может «видеть» 'a'. Попробуйте просто «для буквы в a:' –