Auf die Variable einer Funktion von einer anderen Funktion aus zugreifen

from threading import Thread
import time

def print_k():
    while true:
        if main.k % 2 == 1: # ditto
            print(main.k, "is even.") # <-- my problem is HERE ( Ignore all the other stuff )
        time.sleep(2)

def main():
    k = 1
    while k != 200:
        k += 1
        print k
        time.sleep(0.5)

if __name__ == '__main__':
    Thread(target=print_k).start()
    Thread(target=main).start()

in diesem Skript (nur als Beispiel, ignoriere alle realistischen Funktionen) Ich versuche, @ auszuführmain(), das 200 ergibt und druckt, und inprint_k, ich druckemain Variable, k. Es überrascht mich nicht, dass eine Ausnahme ausgelöst wurde, und ich frage mich, wie ich von einer anderen Funktion aus auf eine separate Funktionsvariable zugreifen kann (sie werden übrigens beide gleichzeitig ausgeführt, daher das Threading-Modul.)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage