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

楼主: Paudse (SICO)   2018-03-09 18:17:38
请问我有两个.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所以也抓不到数字 所以也不成功
再请板上高手大大解惑囉 谢激不尽
※ 引述《Paudse (HI)》之铭言:
: 我目前有两个档案
: 一个是执行的.py档
: 一个是模拟环境的.py档
: 执行的.py档里有一个def会计算步数i
: 然后模拟环境的.py档里的一个class里的一个def会需要使用这个i去作运算
: 但我使用global似乎环境档里的def无法读到这个i值
: 请问是我global方法用错 还是不同.py档间要用其他方式传共用参数呢
: 谢谢
作者: WunoW (WunoW)   2018-03-09 20:39:00
我看你叙述感觉这i不是参数是变量google pass variable between modules 看是不是你要的
作者: neil987 (R5大小姐-EX人品崩坏)   2018-03-09 21:09:00
在run.py呼叫Cal.py的时候把I传入就好了吧?
作者: s860134 (s860134)   2018-03-10 00:15:00
先理解 import 是什么意思,本质上是执行并存到变量因此你只要在 run.py 里面 import cal 等同于执行cal.py里面所有逻辑,并将所有非双底线开头变量黏到 "cal" 这个module object上面但是你想要的东西确实可以用些方法实践https://imgur.com/pnUnRjppython 2.7 是 __builtin__ python3.4 是 builtins我不太喜欢这种写法就是了,因为这样你的 cal madule可被 import 的前提就变成是 buildin 终存在这个变量

Links booklink

Contact Us: admin [ a t ] ucptt.com