python函数如何实现可变参数_【已解决】Python中实现可变参数的函数
【問題】
Python中,希望實現一個可變參數的函數。
【解決過程】
相關代碼如下:(extractOK, extractedBlogUser, generatedBlogEntryUrl) = callCommonBlogFunc(extractBlogUser, inputUrl=inputUrl);
#------------------------------------------------------------------------------
def callCommonBlogFunc(funcToCall, **paraDict):
blogProvider = "BlogNetease";
paras = "";
for i, para in enumerate(paraDict):
if ( i == 0) :
paras += para + "=" + paraDict[para];
#print dir(para);
#paras += para.__str__;
else :
paras += " ," + para + "=" + paraDict[para];
#paras += " ," + para.__name__;
print dir(funcToCall);
print "funcToCall.func_name=",funcToCall.func_name;
#print funcToCall.__dict__;
funcCallStr = blogProvider + "." + funcToCall.func_name + "(" + paras + ")";
print "funcCallStr=",funcCallStr;
return;
【總結】
1. 可變參數是一個星號*的,那么傳入的是List類型變量;
注意:調用者,必須用直接給參數,即"hello", 123等形式的調用。
2. 可變參數是兩個星號**的,那么傳入的是Dictionary類型變量;
注意:調用者,必須用b="hello", c=123的形式調用。
看下面代碼,就很容易懂了:def funcParaList(a, *paraList) :
print "paraList=",paraList; # paraList= ('hello', 123)
def funcParaDict(a, **paraDict) :
print "paraDict=",paraDict; # paraDict= {'c': 123, 'b': 'hello'}
def testFuncPara():
funcParaList('abc', "hello", 123);
funcParaDict('abc', b="hello", c=123);
總結
以上是生活随笔為你收集整理的python函数如何实现可变参数_【已解决】Python中实现可变参数的函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 百度地图离线sdk,Andr
- 下一篇: 用python编写最简单的记事本_Pyt