Python中data函數(shù)不能直接使用。這是因為data函數(shù)是內(nèi)置函數(shù),它的作用是從序列中構(gòu)建字典,只能在類和對象的定義中使用。如果想使用它,你需要寫一個類并定義data函數(shù),然后才能使用它。
創(chuàng)新互聯(lián)是一家專業(yè)提供祥云企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為祥云眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
Python中data函數(shù)不能直接使用。這是因為data函數(shù)是內(nèi)置函數(shù),它的作用是從序列中構(gòu)建字典,只能在類和對象的定義中使用。如果想使用它,你需要寫一個類并定義data函數(shù),然后才能使用它。
很高興我能為你解答
先為你普及下*args和**kwargs的知識
在python中*args的使用是在你不知道有幾個參數(shù)會傳進(jìn)函數(shù)時使用,這些任意數(shù)量的參數(shù)是被封裝進(jìn)tuple里的
而**kwargs允許你處理那些你在函數(shù)中未定義的帶命名的參數(shù),它是個字典
在你的代碼中,你傳進(jìn)的是list對象,經(jīng)過函數(shù)lowerstr的參數(shù)打包后就是這樣的:
(['Hello', 'World', 134, 'IBM', 825, 'NicE'],)
你也可以在你的函數(shù)中輸出L0即可驗證
所以在遍歷過程中第一個ss的變量類型就是tuple,在isinstance的判斷中l(wèi)ist肯定不是str類型,所以就添加進(jìn)了你的L2的列表中了,也就是列表中有列表
要改成你要的功能很簡單
你將listStr2 = lowerstr(listStr)改成listStr2 = lowerstr(*listStr)即可
listStr2 = lowerstr(*listStr)#此處對listStr進(jìn)行解包
使用dir(turtle)先查看一下有哪些函數(shù)可用,也可以直接輸入turtle.c+tab鍵查看可用的相似指令。如果找不到,建議去看官問,有些函數(shù)隨版本更新會被廢棄或合并。
我在Win XP上,執(zhí)行樓主的代碼,可以的,沒有任何問題的;所以我懷疑:
t.write(commands + '\n') #命令無法執(zhí)行--------對應(yīng)的Commands,不是routeros軟路由的有效命令,或者格式不對?