python的關鍵字與引數名衝突的解決方法

2021-08-21 10:42:37 字數 611 閱讀 6842

在呼叫beautifulsoup模組中的find的函式時,由於需要指定tag中name的屬性,而與find函式的位置引數產生了衝突。

find函式原型如下:

find( name, attrs, recursive, text, **kwargs)

而需要呼叫它的**如下:

lt = soup_login.find( "input",  name = 'lt' )

上面的**是為了找到name='lt'的input標籤,然而input的name屬性和find函式原型的第乙個位置引數產生了衝突,會報錯:

typeerror: select() got an unexpected keyword argument 'name'

在beautifulsoup的官方文件上面只講了部分與python關鍵字衝突的解決辦法,這種情況我沒找到。

不過,以上問題可以通過find函式中的attrs來解決,將以上**修改如下:

lt = soup_login.find( "input", attrs = )

執行後,能正確找出該input便簽。

ps:這種方法對於其他引起衝突的關鍵字也適用,直接將引起衝突的加入到attrs字典裡面即可

python關鍵字引數與可變引數

關鍵字引數可以傳入0或者多個引數名的引數,這些引數在函式定義中並沒有出現,這些引數在函式內部自動封裝整合乙個字典 dict 通常來講關鍵字引數是放在函式引數列表的最後,通過乙個demo 來看 def write msg id,kwargs msg for key,val in kwargs.item...

Python中關鍵字引數和命名關鍵字引數的區別

python中函式的引數有位置引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數,這個順序也是定義函式時的必須順序。本文主要是講講命名關鍵字引數和關鍵字引數的區別 可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許你傳入0個或任意個含引數名的引數...

Python引數之關鍵字引數

關鍵字引數允許我們在傳入必選引數外,還可以接受關鍵字引數kw def person name,age,kw prit name name,age age,other kw 這裡的name,age是必須的,kw可選,意味著第三個引數開始我們可以傳入任意個數的關鍵字引數 person bob 35,ci...