python 成功引入包但無法正常調用的解決
問題
python中 import ** 成功,但是不能調用它的函數或者屬性,如下圖所示
原因
log 和 setting 在python中屬于自帶的庫函數。再重寫 log 和 setting 函數文件后,即使成功引入,如果沒有加標識,會默認調用自帶的庫函數。
本質原因:python2 和 python3 版本存在差異,很多問題看看python官網就很容易理解
解決辦法
重寫python自帶庫函數,例如 log 庫函數,經常會被重寫。一定要注意添加前綴,來避免調用到默認的,且在任何用到該重寫文件*.py內函數,都要加前綴
本人另一篇文章對包引用有詳細介紹 https://www.jb51.net/article/182291.htm
補充知識:python對庫函數的引用方法
python引入庫的方法有很多種,這里主要介紹一下其中的兩種:
第一種引用方式:在程序頭部增加:
如:import<庫名>
例如:
import turtle>>>import turtle>>>turtle.fd(30)
這種方式引用庫函數需要輸入<庫名>.<函數名>(庫名點函數名)
第二種引用方式:
from<庫名>import<函數名>或者from<庫名>import*
例如:
>>>from turtle import*>>>fd(100)
這種引用方式可以直接使用函數,不需要再加庫名點
但是第一種方式用戶可以重新定義一個函數叫fd,fd的功能可以是任意功能。第二種不可以重新定義fd函數,因為庫turtle函數是直接調用的,但一般情況下兩種引入方式沒有什么區別。
有時候我們引入的庫函數的名字比較長,但是我們在后面還需要經常使用這個庫函數,這個時候我們就可以給這個庫函數起一個比較簡短的別名來使用,比如我們將turtle這個庫函數命名為t:import turtle as t。這樣書寫我們就可以在后面的代碼中用t來代替turtle了。比如之前我們要這樣寫來使畫筆移動到(20,10)的位置:turtle.goto(20.10),但是使用import turtle as t之后就可以這樣寫:t.goto(20,10)是不是簡便很多了呢。
以上這篇python 成功引入包但無法正常調用的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. CSS Hack大全-教你如何區分出IE6-IE10、FireFox、Chrome、Opera2. CSS3實例分享之多重背景的實現(Multiple backgrounds)3. msxml3.dll 錯誤 800c0019 系統錯誤:-2146697191解決方法4. CSS hack用法案例詳解5. 讀大數據量的XML文件的讀取問題6. html小技巧之td,div標簽里內容不換行7. 詳解盒子端CSS動畫性能提升8. HTML DOM setInterval和clearInterval方法案例詳解9. 告別AJAX實現無刷新提交表單10. ASP中格式化時間短日期補0變兩位長日期的方法