這是python中的小型加入程序,但是我想用函數函數中的變量(num1,num2)
函數來解決這個問題。如何在其他函數中使用一個函數中的變量
def insert():
num1 = 2
num2 = 4
def sum():
add = num1 + num2
print(add)
def main():
sum()
main()
這是python中的小型加入程序,但是我想用函數函數中的變量(num1,num2)
函數來解決這個問題。如何在其他函數中使用一個函數中的變量
def insert():
num1 = 2
num2 = 4
def sum():
add = num1 + num2
print(add)
def main():
sum()
main()
變量num1
和num2
已被定義爲insert()
函數內部的局部變量,所以你不能使用它們,其使用它自己的命名空間中的另一個函數內。
爲了解決此問題,您可以返回insert
中的變量,然後將返回的變量作爲參數傳遞給sum
函數。
def insert():
num1 = 2
num2 = 4
return num1,num2
a,b=insert()
def sum(num1,num2):
add = num1 + num2
print(add)
def main():
a,b=insert()
sum(a,b)
main()
請注意,這是一個示例,如果您只想創建一些變量,您可以在模塊的頂層創建它們。
此外,您可以使用global
表達式來定義一個變量作爲函數內的全局變量,但這不是一種安全和pythonic作爲返回值並將它們作爲參數傳遞。
def insert():
global num1
global num2
num1 = 2
num2 = 4
def sum():
add = num1 + num2
print(add)
def main():
sum()
main()
謝謝你的回覆,知道如何使用變量sum()是否有任何方法,請解釋通過使用我的場景。 –
請首先更正您的縮進。並解釋你的代碼有什麼問題? – Kasramvd
我無法調用num1和num2進sum()和當我運行這個錯誤消息num1沒有定義 –