【发布时间】:2014-10-22 01:22:04
【问题描述】:
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()
在此脚本中(仅作为示例,忽略所有实际功能)我正在尝试运行 main(),它加起来为 200 并打印它,在 print_k 中,我正在打印 main 的变量 k .
不出所料,我提出了一个异常,我想知道如何从不同的函数访问单独的函数变量(顺便说一下,它们都同时运行,因此是线程模块。)
【问题讨论】:
-
附带说明,
true是NameError。在 2.x 中使用 Python 3.x 风格的print会很丑(你会看到(2, 'is even')而不是2 is even)
标签: python multithreading function python-2.7 user-defined-functions