簡體   English   中英

是否可以在 python 中運行時手動更改/更新循環內的變量

[英]Is it possible to manually change/update a variable inside a loop while it is running in python

這是我的愚蠢問題:假設我們有一個簡單的 for 循環,如下所示:

import time

for i in range(6):
   x = i ** 1
   time.sleep(5) #sleep for 5s
   print(x)

當這個循環正在運行時(例如,在我們啟動代碼后 11 秒),我們決定將x = i ** 1更改/更新為x = i ** 2以獲得新x的輸出。 有什么方法可以做到這一點,即在循環運行時手動更新循環內的變量(顯然我們不想使用input )。

謝謝!

由於python默認是線程鎖定的,如果不設計代碼就不能更改變量的值。 但是,如果您使用線程(請參閱此處的線程文檔),您可以創建兩個不同的線程,它們將並行、異步運行。 通過訪問相同的變量(需要在相同的范圍內或全局),您可以在循環仍在運行時更改它。
然而,這樣做並不是最佳實踐,因為在大多數情況下,由於 CPU 將如何處理它們的工作,您無法判斷哪個操作將首先發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM