[問題] import 的相依性問題

看板Python作者 (笨小孩)時間8年前 (2017/01/23 17:46), 8年前編輯推噓1(1013)
留言14則, 5人參與, 最新討論串1/1
我自行寫了個 func.py 裡面都是函式 然後寫了個test.py來測試這些函式 (以上檔案都放在同一個資料夾) 問題1: 在test.py 中我只 import func 會無法使用裡面的函式 一定要 import func as XXX 然候用XXX.函式名稱來調用 請問這樣差別在哪? 問題2: 我在func.py中 import 了caffe (某個機器學習函式庫) 請問我在test.py 要使用caffe的功能還要再import一次嗎? 照理說我已import func 裡面應該已經幫我import了 caffe 備註: 會想問以上兩個問題都是因為我在A電腦跑過沒問題 但移到B電腦就得做上述的更動,懇請大大指點~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.212.82 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1485164808.A.631.html ※ 編輯: hardman1110 (111.251.212.82), 01/23/2017 17:48:16

01/23 18:04, , 1F
1. import func然後用的時候要 func.xxx
01/23 18:04, 1F

01/23 18:06, , 2F
那有條件是可以甭的? 因為我在之前電腦這樣跑可以..
01/23 18:06, 2F

01/23 19:44, , 3F
from func import * 但不建議這樣做
01/23 19:44, 3F

01/23 22:39, , 4F
import func 等同把 func 的程式碼執行一次
01/23 22:39, 4F

01/23 22:40, , 5F
執行過程所有的全域變數都會掛在 func instance 下y
01/23 22:40, 5F

01/23 22:41, , 6F
你1.2.的問題其實類,你可以 func.函數名稱 來使用
01/23 22:41, 6F

01/23 22:41, , 7F
在 func.py 中 import caffe 後,你在 test 可以使用
01/23 22:41, 7F

01/23 22:41, , 8F
func.caffe 來使用他
01/23 22:41, 8F

01/23 22:42, , 9F
另外可以使用 from func import 函式名稱 as 別名
01/23 22:42, 9F

01/23 22:43, , 10F
來達成避免變數名稱重複的問題
01/23 22:43, 10F

01/24 08:42, , 11F
感謝s大 深入淺出
01/24 08:42, 11F

01/24 12:42, , 12F
不過重點是為何不能夠直接import
01/24 12:42, 12F

01/24 12:42, , 13F
檔案中自己互相import導致這個情況嗎?
01/24 12:42, 13F

01/25 00:31, , 14F
最常見就是同名衝突吧. 此 func 非比 func 之類的
01/25 00:31, 14F
文章代碼(AID): #1OXT48On (Python)
文章代碼(AID): #1OXT48On (Python)