python解決Missing 1 required positional argument報(bào)錯問題
1. 報(bào)錯描述

2. 報(bào)錯原因
從報(bào)錯代碼能夠看出,我這里涉及了兩個類,我用A類和B類來進(jìn)行描述。
A類:一個方法類,其中報(bào)錯的 get_element() 就是這個類下的一個方法。在該類我沒有實(shí)例化
B類:在 get_element() 中調(diào)用了A的 get_element() 方法。只在開頭 from A import A.
因?yàn)锳類沒有實(shí)例化,B類我也沒有進(jìn)行實(shí)例化,只是直接引入了這個類。所以我最后的調(diào)用其實(shí)是 A類直接調(diào)用類方法 get_element() 。所以就報(bào)錯了。
3. 解決方案
有兩種解決方案:
3.1 實(shí)例化
在A類中我們實(shí)例化,例如 :a = A().
然后在B類引入A類的實(shí)例化對象而非A這個類。例:from A import a
如果要調(diào)用A類的方法,調(diào)用方式如下:a.get_element(傳參)
3.2 加上修飾符 @classmethod
該修飾符的作用:
1、@classmethod聲明一個類方法,而對于平常我們見到的則叫做實(shí)例方法。
2、類方法的第一個參數(shù)cls(class的縮寫,指這個類本身),而實(shí)例方法的第一個參數(shù)是self,表示該類的一個實(shí)例
3、可以通過類來調(diào)用,就像C.f(),相當(dāng)于java中的靜態(tài)方法’’’
例:
class A(object):
# 屬性默認(rèn)為類屬性(可以給直接被類本身調(diào)用)
num = "類屬性"
# 實(shí)例化方法(必須實(shí)例化類之后才能被調(diào)用)
def func1(self): # self : 表示實(shí)例化類后的地址id
print("func1")
print(self)
# 類方法(不需要實(shí)例化類就可以被類本身調(diào)用)
@classmethod
def func2(cls): # cls : 表示沒用被實(shí)例化的類本身
print("func2")
print(cls)
print(cls.num)
cls().func1()
# 不傳遞傳遞默認(rèn)self參數(shù)的方法(該方法也是可以直接被類調(diào)用的,但是這樣做不標(biāo)準(zhǔn))
def func3():
print("func3")
print(A.num) # 屬性是可以直接用類本身調(diào)用的
# A.func1() 這樣調(diào)用是會報(bào)錯:因?yàn)閒unc1()調(diào)用時需要默認(rèn)傳遞實(shí)例化類后的地址id參數(shù),如果不實(shí)例化類是無法調(diào)用的
A.func2()
A.func3()
那么對于我這個例子,直接在A類要被調(diào)用的方法 get_element() 前加上修飾符 @classmethod :

代碼就能夠成功運(yùn)行了。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python輕松實(shí)現(xiàn)PDF轉(zhuǎn)圖片
PDF文件是我們在日常工作和學(xué)習(xí)中常用的文檔格式之一,但你知道嗎,你可以將PDF文件轉(zhuǎn)換為圖像,讓文檔變得更加生動有趣,下面我們就來看看具體的實(shí)現(xiàn)方法吧2023-08-08
python 實(shí)現(xiàn)一個簡單的線性回歸案例
這篇文章主要介紹了python 實(shí)現(xiàn)一個簡單的線性回歸案例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12
Python實(shí)現(xiàn)功能完整的個人員管理程序
這篇文章主要介紹了Python實(shí)現(xiàn)功能完整的個人員管理程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12
Python max內(nèi)置函數(shù)詳細(xì)介紹
這篇文章主要介紹了Python MAX內(nèi)置函數(shù)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11
利用Python連接Oracle數(shù)據(jù)庫的基本操作指南
由于之前的在職的公司沒有機(jī)會接觸到Oralce數(shù)據(jù)庫,所以就沒有用python連接過Oralce,之前大多集中在連接mysql和sql server,最近在做一下web自動化的工作,所以簡單的記錄一下,下面這篇文章主要給大家介紹了關(guān)于利用Python連接Oracle數(shù)據(jù)庫的基本操作,需要的朋友可以參考下2022-06-06
Python自動發(fā)送郵件的方法實(shí)例總結(jié)
這篇文章主要介紹了Python自動發(fā)送郵件的方法,結(jié)合實(shí)例形式總結(jié)分析了Python使用smtplib和email模塊發(fā)送郵件的相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2018-12-12
Python中的錯誤和異常處理簡單操作示例【try-except用法】
這篇文章主要介紹了Python中的錯誤和異常處理簡單操作,結(jié)合實(shí)例形式分析了Python中try except在錯誤與異常處理中的用法,需要的朋友可以參考下2017-07-07

