[問題] 關於import問題

看板Python作者 (八七booboo)時間5年前 (2019/04/08 16:40), 5年前編輯推噓4(4010)
留言14則, 7人參與, 5年前最新討論串1/1
各位前輩好: 想請問一些python from... import..問題 提供例子 a.py def _print_abc(): print("abc") def print_something(): _print_abc() b.py from a import print_something print_something() 結果是abc 為什麼我 import 的是 print_something 但是 _print_abc 的程式碼會被執行 import 不是只會匯入 print_something 的程式碼嗎? 還是其實from 的時候是先讀取 a.py 整份程式碼,然後再給我 print_something 使用 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.19.161.149 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1554712814.A.F54.html

04/08 17:08, 5年前 , 1F
可是print_something裡面做的事 不就是執行print_abc嗎
04/08 17:08, 1F

04/08 17:11, 5年前 , 2F
我是想問我只有import print_something為什麼_print_a
04/08 17:11, 2F

04/08 17:11, 5年前 , 3F
bc的程式碼也會被執行
04/08 17:11, 3F
※ 編輯: somoskylin (117.19.161.149), 04/08/2019 17:12:09

04/08 17:13, 5年前 , 4F
為什麼不是 _print_abc not defined之類
04/08 17:13, 4F

04/08 17:20, 5年前 , 5F
原因很明顯不是嗎? 你自己都講出來了
04/08 17:20, 5F

04/08 17:23, 5年前 , 6F
是from 讀完全部檔案嗎,因為我不確定
04/08 17:23, 6F

04/08 18:20, 5年前 , 7F
04/08 18:20, 7F

04/08 18:55, 5年前 , 8F
謝謝
04/08 18:55, 8F

04/08 20:41, 5年前 , 9F
Python import是整個檔案全部都讀,不會因為你特別說
04/08 20:41, 9F

04/08 20:41, 5年前 , 10F
要讀什麼他只讀那個,你可以在a.py最後印東西出來,
04/08 20:41, 10F

04/08 20:41, 5年前 , 11F
你就知道什麼意思了
04/08 20:41, 11F

04/08 21:37, 5年前 , 12F
import 即執行 記住這件事就好
04/08 21:37, 12F

04/09 09:57, 5年前 , 13F
除非你寫在if name ==main 不然都會執行
04/09 09:57, 13F

04/09 18:54, 5年前 , 14F
謝謝大大們
04/09 18:54, 14F
文章代碼(AID): #1SgmZkzK (Python)