python 中不同包 類 方法 之間的調(diào)用詳解
目錄結(jié)構(gòu)如下:
在hello.py中導(dǎo)入ORM.py這個(gè)文件的時(shí)候,采用
import ORMPackage.ORM
或者
import ORM
u = User(id = 123, name='codiy', email='codiy_huang@163.com', password='123456')
兩種方式均報(bào)錯(cuò)
錯(cuò)誤提示:
name '***' is not defined
或者
No module named ORM
解決辦法:
方法一 將包所在的目錄添加到sys.path路徑
import sys import os sys.path.append(os.getcwd() + '/ORMPackage') from ORM import User u = 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 # 最近發(fā)現(xiàn)這種情況較多,直接 .*
補(bǔ)充知識(shí):python導(dǎo)入兩個(gè)包括同名函數(shù)的模塊
當(dāng)使用的函數(shù)中出現(xiàn)同名函數(shù)時(shí),如果不注意的話,會(huì)造成程序的異常,這個(gè)時(shí)候要仔細(xì)的看程序的報(bào)錯(cuò)信息,會(huì)發(fā)現(xiàn)是函數(shù)的引用出現(xiàn)錯(cuò)誤。如果不仔細(xì)的話會(huì)誤以為是其他原因?qū)е潞瘮?shù)不能正常運(yùn)行,會(huì)浪費(fèi)很多時(shí)間。o(╥﹏╥)o
rectangle和 circular為兩個(gè)不同的模塊,它們都包含girth函數(shù)
如下運(yùn)行函數(shù)時(shí)會(huì)有異常
from rectangle import * #導(dǎo)入矩形模塊 from circular import * #導(dǎo)入圓形模塊 girth(10) #調(diào)用計(jì)算圓形周長(zhǎng)的函數(shù) girth(10,,20) #調(diào)用計(jì)算矩形周長(zhǎng)的函數(shù)
解決辦法是:不使用from....import 導(dǎo)入,而是使用import導(dǎo)入
import rectangle as r import circular as c c.girth(10) #調(diào)用計(jì)算圓形周長(zhǎng)的函數(shù) r.girth(10,,20) #調(diào)用計(jì)算矩形周長(zhǎng)的函數(shù)
也可以直接把函數(shù)起別名,這樣在用函數(shù)的時(shí)候直接使用函數(shù)別名就行了
from... import ....as...
以上這篇python 中不同包 類 方法 之間的調(diào)用詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Pycharm中python調(diào)用另一個(gè)文件類或者函數(shù)
- Python函數(shù)調(diào)用的幾種方式(類里面,類之間,類外面)
- python中類的相互調(diào)用的實(shí)踐
- Python類的定義繼承調(diào)用比較方法技巧
- python 子類調(diào)用父類的構(gòu)造函數(shù)實(shí)例
- Python實(shí)現(xiàn)子類調(diào)用父類的初始化實(shí)例
- python 定義類時(shí),實(shí)現(xiàn)內(nèi)部方法的互相調(diào)用
- python調(diào)用函數(shù)、類和文件操作簡(jiǎn)單實(shí)例總結(jié)
- 調(diào)用其他python腳本文件里面的類和方法過(guò)程解析
- Python中不同類之間調(diào)用方法的四種方式小結(jié)
相關(guān)文章
簡(jiǎn)單實(shí)現(xiàn)Python爬取網(wǎng)絡(luò)圖片
這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)Python爬取網(wǎng)絡(luò)圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04python實(shí)現(xiàn)根據(jù)文件關(guān)鍵字進(jìn)行切分為多個(gè)文件的示例
今天小編就為大家分享一篇python實(shí)現(xiàn)根據(jù)文件關(guān)鍵字進(jìn)行切分為多個(gè)文件的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Python實(shí)現(xiàn)常見(jiàn)限流算法的示例代碼
在系統(tǒng)的穩(wěn)定性設(shè)計(jì)中,需要考慮到的就是限流,避免高并發(fā)環(huán)境下一下子把服務(wù)整垮了,本文為大家整理了一些Python實(shí)現(xiàn)的常見(jiàn)限流算法,希望對(duì)大家有所幫助2024-03-03Django實(shí)現(xiàn)跨域請(qǐng)求過(guò)程詳解
這篇文章主要介紹了Django實(shí)現(xiàn)跨域請(qǐng)求過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07詳解如何使用Python實(shí)現(xiàn)復(fù)制粘貼的功能
pandas?里面有一個(gè)?pd.read_clipboard?函數(shù),可以根據(jù)你復(fù)制的內(nèi)容生成DataFrame。本文就利用這個(gè)函數(shù)實(shí)現(xiàn)復(fù)制粘貼的功能,感興趣的可以了解一下2023-01-01通過(guò)numba模塊給Python代碼提速的方法詳解
numba是Anaconda公司開(kāi)發(fā)的針對(duì)Python的開(kāi)源JIT編譯器,用于提供Python版CPU和GPU編程,速度比原生Python快數(shù)十倍。本文將詳細(xì)介紹一下numba是如何實(shí)現(xiàn)代碼提速的,需要的可以參考一下2022-01-01