Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
195 views
in Technique[技术] by (71.8m points)

python - How to access a variable defined inside a function, from outside that function

I am stuck on using variables defined in a previous function in another function. For example, I have this code:

def get_two_nums():
    ...
    ...
    op = ...
    num1 = ...
    num2 = ...
    answer = ...

def question():
    response = int(input("What is {} {} {}? ".format(num1, op, num2)))
    if response == answer:
        .....

How will I use the variables defined in the first function in the second function? Thank you in advance

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Variables are local to the functions; you need to return the relevant values you want to share to the caller and pass them to the next function that uses them. Like this:

def get_two_nums():
    ...
    # define the relevant variables
    return op, n1, n2, ans

def question(op, num1, num2, answer):
    ...
    # do something with the variables

Now you can call

question(*get_two_nums()) # unpack the tuple into the function parameters

or

op, n1, n2, ans = get_two_nums()
question(op, n1, n2, ans)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...