2016-04-10 7 views
-3

Мне нужно сделать, чтобы иметь возможность доступа к переменным из другой функции в программе. Это не главное в плане программирования, но это то, что мне нужно знать, чтобы накопить больше знаний.Вспомогательные переменные в другой функции

def s(): 
    v = 6 + 4 
    a() 
    return v 

def a(): 
    ace = v + 4 
    print(ace) 

s() 
+0

В '' s() '' вы, вероятно, поменяли операторы '' return v'' и '' a() ''. То, как у вас есть, теперь '' a() '' не вызывается как '' s() '' возвращается перед вызовом. – zegkljan

+0

Что вы пытаетесь сделать? почему вы «возвращаетесь» перед вызовом 'a' inside's'? – styvane

ответ

0

Если вы планируете вызвать A функции в пределах другой функции, тогда просто передайте необходимую переменную в качестве параметра! У вас также есть возвращение внутри s, что приведет вашу программу возвращения перед выполнением . Ex ...

def s(): 
    v = 6 + 4 
    a(v) 

def a(v): 
    ace = v + 4 
    print(ace) 

s() 

Если вы хотите использовать возвращение, то вы можете вызвать один метод в качестве параметра другой. Это позволит вам использовать оба метода независимо друг от друга, но это может стать очень грязным!

def s(): 
    v = 6 + 4 
    return v 

def a(v): 
    ace = v + 4 
    print(ace) 

a(s()) 

Удачи и надеюсь, что это поможет!

+0

спасибо, я могу передать несколько переменных вдоль таких функций, как def a (v, word, position) и т. Д.? –

+0

Да, вы можете передать столько переменных в функцию, пока вы указываете, что эта функция принимает одинаковое количество параметров! Это изменяется при использовании Lambdas, * args и ** kwargs, но хорошо оставляйте это в другое время! – TheLazyScripter

+0

хорошо спасибо за помощь –

0

Предполагая, что return v и a() звонки в s() непреднамеренно поменялись местами, вы можете использовать global заявление:

def s(): 
    global v 
    v = 6 + 4 
    a() 
    return v 

def a(): 
    ace = v + 4 
    print(ace) 

s() 

Выход:

14