Re: 如何呼叫另一档案里def里的参数

楼主: flarehunter (Range)   2018-03-10 07:11:03
※ 引述《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
作者: fiorentino (眠)   2018-03-10 09:41:00
有趣的做法

Links booklink

Contact Us: admin [ a t ] ucptt.com