作者flarehunter (Range)
看板Python
标题Re: 如何呼叫另一档案里def里的参数
时间Sat Mar 10 07:11:03 2018
※ 引述《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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.110.217.254
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1520637065.A.4BC.html
1F:推 fiorentino: 有趣的做法 03/10 09:41