python 中不同包 類 方法 之間的調用詳解
目錄結構如下:
在hello.py中導入ORM.py這個文件的時候,采用
import ORMPackage.ORM
或者
import ORMu = User(id = 123, name=’codiy’, email=’codiy_huang@163.com’, password=’123456’)
兩種方式均報錯
錯誤提示:
name ’***’ is not defined
或者
No module named ORM
解決辦法:
方法一 將包所在的目錄添加到sys.path路徑
import sysimport ossys.path.append(os.getcwd() + ’/ORMPackage’)from ORM import Useru = User(id = 123, name=’codiy’, email=’codiy_huang@163.com’, password=’123456’)
方法二 python版本≥3.5,可采用
from ORMPackage import ORM
或者
from ORMPackage.ORM import User
或者
from .ORM import User # 最近發現這種情況較多,直接 .*
補充知識:python導入兩個包括同名函數的模塊
當使用的函數中出現同名函數時,如果不注意的話,會造成程序的異常,這個時候要仔細的看程序的報錯信息,會發現是函數的引用出現錯誤。如果不仔細的話會誤以為是其他原因導致函數不能正常運行,會浪費很多時間。o(???)o
rectangle和 circular為兩個不同的模塊,它們都包含girth函數
如下運行函數時會有異常
from rectangle import * #導入矩形模塊 from circular import * #導入圓形模塊 girth(10) #調用計算圓形周長的函數 girth(10,,20) #調用計算矩形周長的函數
解決辦法是:不使用from....import 導入,而是使用import導入
import rectangle as r import circular as c c.girth(10) #調用計算圓形周長的函數 r.girth(10,,20) #調用計算矩形周長的函數
也可以直接把函數起別名,這樣在用函數的時候直接使用函數別名就行了
from... import ....as...
以上這篇python 中不同包 類 方法 之間的調用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. php讀取xml中某個元素的內容(PHP5以上才支持)2. Java基于redis和mysql實現簡單的秒殺(附demo)3. SpringBoot+SpringCache實現兩級緩存(Redis+Caffeine)4. Kotlin + Flow 實現Android 應用初始化任務啟動庫5. IDEA SpringBoot 項目配置Swagger2的詳細教程6. 快速解決ajax返回值給外部函數的問題7. Java通俗易懂系列設計模式之模板模式8. jsp文件下載功能實現代碼9. AJAX實現省市縣三級聯動效果10. ASP.NET MVC視圖頁使用jQuery傳遞異步數據的幾種方式詳解
