関数内の変数を出力しようとしていますが、その変数は別の関数内にあります。
例
def function():
password = blahblah
と
def function2():
.....
print password
私はPythonに比較的慣れておらず、いくつかのことを試しましたが、どれもうまくいきませんでした
関数内の変数を出力しようとしていますが、その変数は別の関数内にあります。
例
def function():
password = blahblah
と
def function2():
.....
print password
私はPythonに比較的慣れておらず、いくつかのことを試しましたが、どれもうまくいきませんでした
のスコープ内で変数を作成してアクセスすると、実行が終了するfunction
と破棄されます。function()
password=None
def function():
global password
password = blahblah
def function2():
print password
これを行うより良い方法は次のとおりです。
def function():
return blahblah
def function2():
print function()
次のように、変数を引数として 2 番目の関数に渡してみてください。
>>> def function():
password = blahblah
function2(password)
>>> def function2(passWord):
print passWord
>>> function()
blahblah
def function1():
return 'blahblah' #return value from given function
def function2(param): # accept a parameter
if callable(param): # if is callable (ie. function)...
print param() # ...print value by calling it
else:
print param # otherwise print just the value
>>> function2(function1)
blahblah
password
から戻りfunction
、戻り値を内部で使用しますfunction2
。
関数内の変数はその関数に対してローカルであるため、関数外から関数内の変数にアクセスすることはできません。
def function():
password = blahblah # This variable is local to function
# and can't be accessed outside of the function
return password # But you can return the value of password using
# the `return` statement.
def function2():
print function() #use the retured value from function