1樓:只增笑耳Jason
直觀點的做法可以這麼來。
deftest
(html,a
,**kwargs
):soup
=BeautifulSoup
(html,a
,kwargs
)呼叫:d=
test
(html,a
,d)我算是明白題主想要什麼了,現在深夜,手機打字不方便,我明天白天幫你改改你的test
2樓:resolvewang
soup = BeautifulSoup(html, a, from_encoding=b)
這個語句來說,html就是位置引數,它不傳的話,就會報錯。這裡"a"如果是"parser"字段的話,他就是預設引數,也就是說如果你不傳,它就預設使用"html.parser",如果你傳了,它就會使用你傳遞的字段;from_encoding是乙個關鍵字引數,就是說你在函式中傳遞的時候,必須使用key=value來傳遞它。
還有乙個就是可變引數,可變引數一般都是傳遞的乙個列表,比如
defsum(*
args):i
=0forj
inargs:i
+=jreturn
ilist_one=[
1,2,
3]print
(sum
(list_one
))這個就是可變引數的用法。
針對題主說的
函式b位置的那個引數不是必須的
我想預設引數就可以滿足你的需求,當然你如果用可變引數或者關鍵字引數,也是可以滿足你的需求的,比如用關鍵字引數
def test(html, a, **kwargsb = kwargs.get('key', 'value'soup = Beautifulsoup(html, a, breturn soup
此外,還有一點需要注意,就是不同類引數的位置順序。
如果題主想系統一點了解python的函式傳參相關知識的話,推薦閱讀這篇文章函式的引數
3樓:luwen chen
因為你傳的'from_encoding="gb18030"'是乙個字串
def test(html, a, b):
soup = BeautifulSoup(html, a, from_encoding=b)
return soup
soup = test(html, "html.parser", "gb18030")
這個python問題如何解決
盜藍 只返回第乙個最長的數字字串 import re string 983fh398fh29q83u9283f9299h3 int list re findall r d string int list 983 398 29 83 9283 9299 3 result max int list ke...
Python定義乙個函式時,怎麼確定需要幾個引數 ?
推薦乙個寫法 deffname kwargs 標明處理過程和返回結果 arg1 kwargs get arg1 arg2 kwargs get arg2 滿足 1.引數的可擴充套件 2.函式處理只獲取需要的引數即可 3.pycharm 呼叫函式時會根據arg.提示引數名稱 酒罈壇兒 看實現函式的功能...
小白學習python遇到瓶頸如何解決?
如果以後不打算從事遊戲方向的,可以跳過pygame,直接去下一步 如果以後打算玩玩遊戲的,還是硬著頭皮往下看吧,或者換個同類的demo去看 我個人建議你,先把這個飛機大戰的小遊戲,乙個字乙個字的,自己碼一遍,不求馬上看懂。在碼字和除錯的過程中,會慢慢明白的 joy 關鍵還是要帶著問題,學以致用!這樣...