Re: 如何呼叫另一檔案裡def裡的參數

看板Python作者 (HI)時間6年前 (2018/03/09 18:17), 6年前編輯推噓0(0012)
留言12則, 3人參與, 6年前最新討論串2/3 (看更多)
請問我有兩個.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檔間要用其他方式傳共用參數呢 : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.127.10 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1520590660.A.9E1.html ※ 編輯: Paudse (36.236.127.10), 03/09/2018 18:19:55 ※ 編輯: Paudse (36.236.127.10), 03/09/2018 18:20:33

03/09 20:39, 6年前 , 1F
我看你敘述感覺這i不是參數是變數
03/09 20:39, 1F

03/09 20:39, 6年前 , 2F
google pass variable between modules 看是不是你要的
03/09 20:39, 2F

03/09 21:09, 6年前 , 3F
在run.py呼叫Cal.py的時候把I傳入就好了吧?
03/09 21:09, 3F

03/10 00:15, 6年前 , 4F
先理解 import 是甚麼意思,本質上是執行並存到變數
03/10 00:15, 4F

03/10 00:15, 6年前 , 5F
因此你只要在 run.py 裡面 import cal 等同於執行cal.py
03/10 00:15, 5F

03/10 00:16, 6年前 , 6F
裡面所有邏輯,並將所有非雙底線開頭變數黏到 "cal" 這個
03/10 00:16, 6F

03/10 00:17, 6年前 , 7F
module object上面
03/10 00:17, 7F

03/10 00:21, 6年前 , 8F
但是你想要的東西確實可以用些方法實踐
03/10 00:21, 8F

03/10 00:23, 6年前 , 9F

03/10 00:24, 6年前 , 10F
python 2.7 是 __builtin__ python3.4 是 builtins
03/10 00:24, 10F

03/10 00:25, 6年前 , 11F
我不太喜歡這種寫法就是了,因為這樣你的 cal madule
03/10 00:25, 11F

03/10 00:25, 6年前 , 12F
可被 import 的前提就變成是 buildin 終存在這個變數
03/10 00:25, 12F
文章代碼(AID): #1Qebz4dX (Python)
討論串 (同標題文章)
文章代碼(AID): #1Qebz4dX (Python)