※ 引述《Paudse (HI)》之銘言:
: 請問我有兩個.py檔
: 執行檔run.py和運算檔cal.py
: 在執行檔run.py中會import cal.py進行運算
: 但我在cal.py中需要使用到run.py中的一個def run_maze(): 裡的一個參數i
: 請問我如何在cal.py中抓到這個i
: 如果在cal.py中import run.py
: 但run.py本來就已經有import cal.py了 會出問題
: 是否在cal.py裡輸入 run.run_maze.i呢
: 但cal.py根本沒有import run.py所以也抓不到數字 所以也不成功
: 再請板上高手大大解惑囉 謝激不盡
如果可以修改架構讓這兩邊邏輯不要互相依賴是最好
像是把所有的全體變數放在一起 然後運算的部份放另一邊
只需要運算的部份import變數的部份就好
我不太懂你的執行和運算差在哪就是了XD
如果真的需要互相依賴的話也許可以這樣做
# cal.py
class Cal(object):
def __init__(self, runner):
self.runner = runner
def DoSomethingNeedI(self):
# Get the value i
value = self.runner.GetI()
# blah blah
# run.py
import cal
class Runner(object):
def __init__(self):
self.cal = cal.Cal(self)
self.i = 0
def RunMaze(self):
# calculate, and store the value to i
self.i += 1
def GetI(self):
return self.i