python 成功引入包但無法正常調(diào)用的解決
問題
python中 import ** 成功,但是不能調(diào)用它的函數(shù)或者屬性,如下圖所示
原因
log 和 setting 在python中屬于自帶的庫函數(shù)。再重寫 log 和 setting 函數(shù)文件后,即使成功引入,如果沒有加標(biāo)識,會默認調(diào)用自帶的庫函數(shù)。
本質(zhì)原因:python2 和 python3 版本存在差異,很多問題看看python官網(wǎng)就很容易理解
解決辦法
重寫python自帶庫函數(shù),例如 log 庫函數(shù),經(jīng)常會被重寫。一定要注意添加前綴,來避免調(diào)用到默認的,且在任何用到該重寫文件*.py內(nèi)函數(shù),都要加前綴
本人另一篇文章對包引用有詳細介紹 http://chabaoo.cn/article/182291.htm
補充知識:python對庫函數(shù)的引用方法
python引入庫的方法有很多種,這里主要介紹一下其中的兩種:
第一種引用方式:在程序頭部增加:
如:import<庫名>
例如:
import turtle
>>>import turtle
>>>turtle.fd(30)
這種方式引用庫函數(shù)需要輸入<庫名>.<函數(shù)名>(庫名點函數(shù)名)
第二種引用方式:
from<庫名>import<函數(shù)名>或者from<庫名>import*
例如:
>>>from turtle import*
>>>fd(100)
這種引用方式可以直接使用函數(shù),不需要再加庫名點
但是第一種方式用戶可以重新定義一個函數(shù)叫fd,fd的功能可以是任意功能。第二種不可以重新定義fd函數(shù),因為庫turtle函數(shù)是直接調(diào)用的,但一般情況下兩種引入方式?jīng)]有什么區(qū)別。
有時候我們引入的庫函數(shù)的名字比較長,但是我們在后面還需要經(jīng)常使用這個庫函數(shù),這個時候我們就可以給這個庫函數(shù)起一個比較簡短的別名來使用,比如我們將turtle這個庫函數(shù)命名為t:import turtle as t。這樣書寫我們就可以在后面的代碼中用t來代替turtle了。比如之前我們要這樣寫來使畫筆移動到(20,10)的位置:turtle.goto(20.10),但是使用import turtle as t之后就可以這樣寫:t.goto(20,10)是不是簡便很多了呢。
以上這篇python 成功引入包但無法正常調(diào)用的解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python利用imshow制作自定義漸變填充柱狀圖(colorbar)
這篇文章主要介紹了Python利用imshow制作自定義漸變填充柱狀圖(colorbar),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Python 多線程并行執(zhí)行的實現(xiàn)示例
本文主要介紹了Python 多線程并行執(zhí)行的實現(xiàn)示例,通過使用threading和concurrent.futures模塊可以進行實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-07-07如何使用Python實現(xiàn)名片管理系統(tǒng)
這篇文章主要介紹了如何使用Python實現(xiàn)名片管理系統(tǒng),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)又是幫助2022-08-08