1. 程式人生 > >Python實現接受任意個數引數的函式

Python實現接受任意個數引數的函式

       這個功能倒也不是我多麼急需的功能,只是恰好看到了,覺得或許以後會用的到。功能就是實現函式能夠接受不同數目的引數。

       其實,在C語言中這個功能是熟悉的,雖說實現的形式不太一樣。C語言中的main函式是可以實現類似的功能的,可以通過這種方式實現一個支援命令列引數的程式。

       先寫一段python實現相應功能的示範程式碼:

defFuncDemo(*par):

       print("number of pars: %d" %len(par))

       print("type of par: %s" %type(par))

       i = 0

       if len(par) != 0:

              for p in par:

                     i = i + 1

                     print("%d par is:%s" %(i,p))

       載入後執行測試互動記錄:

>>>FuncDemo()

number of pars: 0

type of par:<class 'tuple'>

>>>FuncDemo(1,2,3)

number of pars: 3

type of par:<class 'tuple'>

1 par is: 1

2 par is: 2

3 par is: 3

>>>FuncDemo(1,2,3,'abc')

number of pars: 4

type of par:<class 'tuple'>

1 par is: 1

2 par is: 2

3 par is: 3

4 par is: abc

       這基本上就是Python實現接受任意引數函式的方法以及應用,接下來小結一下相應的知識。

       實現Python接受任意個數引數的函式,在形式上比較簡單。就是在引數前面加上一個星號,這樣相應的引數位置就能夠接受任意個引數。相應的引數在函式中是一個元組,從上面互動的結果也能夠看得出。

       其實,這個功能還能能夠支援字典的傳入。如果是字典的傳入,那麼就需要傳入成對兒的引數。

       暫時看來,這個功能在我的工作以及生活中用處並不是很大,作為一個後備的功能再觀其效吧!

相關推薦

Python實現接受任意個數引數函式

       這個功能倒也不是我多麼急需的功能,只是恰好看到了,覺得或許以後會用的到。功能就是實現函式能夠接受不同數目的引數。        其實,在C語言中這個功能是熟悉的,雖說實現的形式不太一樣。C語言中的main函式是可以實現類似的功能的,可以通過這種方式實現一個支援

Python基礎之可接受任意數量引數函式

1. 可接受任意數量位置引數的函式 為了能讓一個函式接受任意數量的位置引數,可以在引數部分使用“*”。 def avg(first, *rest): return (first + sum(rest) / (1 + len(rest))) print(avg(1, 2)) #1

SVM引數引數介紹以及python實現GA對SVM引數的優化

  最近開始玩起了機器學習,以前都是用matlab做一些機器學習的東西,畢竟要真正放到工程上應用還是python用起來比較好,所以今天就開始學習下使用SVM進行迴歸(分類)預測。 SVM 使用的一般步驟是: 1)準備資料集,轉化為 SVM支援的資料格式 : [label] [ind

python實現給定一個數和陣列,求陣列中兩數之和為給定的數

給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例:給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[1] = 2 + 7 = 9 所以返

python實現 從一個數組中找到完全含有另一個數組元素的最短子陣列

#找出陣列strW中包含strA所有元素的最少情況 strA=['testing','pattern'] strW=['hello','this','is','a','testing','page','description','testing','pattern','al

python進階學習筆記(三)——實現python任意個數的關鍵字引數

class Person(object): def __init__(self, name, gender, birth, **kw): self.name = name self.gender = gender self.birth = birth

python實現列表排序sort函式,要求支援任意型別元素的排序,也支援降序

def list_sort(lt, key=None, reverse=True): a = len(lt) for i in range(a-1): for j in range(a-1-i): if key:

編寫一求兩個數的最大值的函式Max, 要求用模板實現任意資料型別資料都可應用該函式求取結果,

/*編寫一求兩個數的最大值的函式Max, 要求用模板實現對任意資料型別資料都可應用該函式求取結果, 在main()函式中分別用整型、實型、字元型資料進行測試。 */ #include<iostream> #include<string.h> us

C++中可以接受任意多個引數函式定義方法

        能夠接受任意多個引數的函式,可以利用過載來實現。這種函式的執行過程類似於遞迴呼叫,所以必須要有遞迴終止條件。 #include <iostream> #include &l

Python函式中輸入任意數量引數

有時候,預先不知道函式需要接受多少個實參,好在Python允許函式從呼叫語句中呼叫語句中收集任意數量的實參。在引數前加上*號。 來看一個製作披薩的函式,它需要接受很多配料,但你無法預先確定顧客要多少種配料。下面的函式只有一個形參*toppings,但不管呼叫語

js編寫一個函式實現計算任意個數的各個位數的和

編寫一個函式 :實現計算任意一個數的各個位數的和 function fnSum(num){ var sum = 0; while( num != 0 ){ sum += num % 10;

python 像C語言樣的函式引數引用實現..

python中有傳參需求,好像也沒有像C一樣傳參(引用)設計,可以採用一種變形方式,函式返回值來實現。 def test(): t1 = "123123" t2 = "test" t3 = 122 t

Python正則表示式 re.sub()函式:標誌位flags與引數個數問題

這兩天在寫爬蟲程式,涉及英文文字處理,需要規範化英文標點符號的寫法。正常情況下,英文句號「.」後面需要保證有且只有一個空格,但也有例外情況,比如「i.e.」、「e.g.」、「P.S.」這種。由於無法預測大小寫,因此在正則表示式中使用了「標誌位」flags,卻死活不生效。 一開始,我的函式是這樣寫的: 1 d

Python實現正則表達式匹配任意的郵箱

blog too toc print python實現 簡單的 python blank 郵箱 首先來個簡單的例子,利用Python實現匹配163郵箱的代碼: [python] view plain copy print? #-*- coding:ut

JS實現計算任意個數的各個位數的和

pro box rip 返回 實現 urn func int 函數 <script>   var m = parseInt(prompt("請輸入一個數"));   function box(m) {     var a = 0;     while (m) {

Python實現R包brainwaver中的compute.FDR函式

FDR(false discovery rate),是統計學中常見的一個名詞,翻譯為偽發現率,其意義為是 錯誤拒絕(拒絕真的(原)假設)的個數佔所有被拒絕的原假設個數的比例的期望值。 compute.FDR {brainwaver}使用圖論進行視覺化和引數化的多變數時間序列的基本小波分析  

SpringMVC RedirectAttributes 實現重定向帶引數 Controller接受引數

springmvc 在3.1版本後提供了 重定向帶引數,之前不知道,使用的是session重定向後又清除這個機智而又粗魯的方法。 在知道RedirectAttributes能做這件事後,這還能忍?立馬回去把程式碼改了,順便發個部落格 /** * 頁面跳轉 至上傳不成功excel 以及li

java--Fibonacc由數字1、1、2、3...組成的,從第三個數字起每一個數字為前兩個數字的和。建立一個方法,接受一個整數引數,顯示從第一個元素開始總共由該引數指定的個數所構成的所有斐波那契數

題目完整描述:一個斐波那契數列是由數字1、1、2、3、5、8、13、21、34等等組成的,其中每一個數字(從第三個數字起)都是前兩個數字的和。建立一個方法,接受一個整數引數,並顯示從第一個元素開始總共由該引數指定的個數所構成的所有斐波那契數字。例如,如果執行 java Fibonacci 5(Fib

python實現atoi函式

思路: 1、過濾掉字串開頭的一個或多個空格,用strip()函式實現; 2、判斷過濾之後的字串是否為空,如果為空,返回0; 3、當字串不為空,判斷第一個字元是否為+/-,即獲取並儲存正負號sign; 4、遍歷字串,如果子串僅僅包含連續的0~9之間的數字,那麼記錄該子串並轉換為數字,一

python實現strStr()函式

思路: 1、如果待查詢子串為空,返回0(與c/c++的庫函式保持一致); 2、如果大字串的長度小於待查詢子串的長度,返回-1; 3、計算需要編譯的字串下標位置:l = l1 - l2 + 1;  4、從下標0到下標l遍歷長字串,擷取與待查詢子串長度相同的子字串,判斷內容是否