python import 導入兩個模塊同時有同一名稱的方法如何調用 ?


from moudule import *(這種方法不推薦)

一般不推薦使用“from 模塊 import”這種語法導入指定模塊內的所有成員,因為它存在潛在的風險。

比如同時導入 module1 和 module2 內的所有成員,假如這兩個模塊內都有一個 foo() 函數,那么當在程序中執行如下代碼時:

foo()

上面調用的這個 foo() 函數到底是 module1 模塊中的還是 module2 模塊中的?因此,這種導入指定模塊內所有成員的用法是有風險的。

但如果換成如下兩種導入方式:

import module1
import module2 as m2

接下來要分別調用這兩個模塊中的 foo() 函數就非常清晰。程序可使用如下代碼:

  1. #使用模塊module1 的模塊名作為前綴調用foo()函數
  2. module1.foo()
  3. #使用module2 的模塊別名作為前綴調用foo()函數
  4. m2.foo()

或者使用 from...import 語句也是可以的:

  1. #導入module1 中的foo 成員,並指定其別名為foo1
  2. from module1 import foo as fool
  3. #導入module2 中的foo 成員,並指定其別名為foo2
  4. from module2 import foo as foo2

此時通過別名將 module1 和 module2 兩個模塊中的 foo 函數很好地進行了區分,接下來分別調用兩個模塊中 foo() 函數就很清晰:

foo1() #調用module1 中的foo()函數
foo2() #調用module2 中的foo()函數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM