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