程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> python動態參數用法實例分析

python動態參數用法實例分析

編輯:更多關於編程

       本文實例講述了python動態參數用法。分享給大家供大家參考。具體分析如下:

      先來看一段代碼:

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 class Person: def __init__(self,*pros,**attrs): self.name = "jeff" self.pros = pros for (key,value) in attrs.items(): stm = "self.%s = /"%s/""% (key,value) exec(stm) if __name__ == "__main__": jeff = Person(1,2,3,sex="boy") print jeff.pros print jeff.sex print dir(jeff)

      打印出來的內容是:

      ?

    1 2 3 (1, 2, 3) boy ['__doc__', '__init__', '__module__', 'name', 'pros', 'sex']

      python不定參數:

      參數以一個*號開頭的代表著一個任意長度的數組,可以接收連續一串參數,如上面代碼裡傳的是1,2,3,你可以更多。

      參數以兩個*號開頭的代表著一個字典,參數的形式是“key=value”,接受連續任意多個參數。

      在函數內,我們就可以把前者當作一個元組來處理,打印結果看得出來是一個元組。注意,調用方法是參數不定長,而在方法執行的時候,長度已定了,所以是元組。同時,我們可以把後者當作一個字典來處理。

      示例代碼裡使用可變長參數實現了一個類屬性的個性化定制,對於一個Person類,你可以通過傳入字典類型的參數使這個類有更多原來不存在的屬性,實現方法 是用了exec方法,目前只能通過字符串的參數。這裡只是展示了可變參數的使用及exec的神奇力量。真正的函數不應該允許任意用戶自定義屬性的,可變參 數的目的是為定義函數方便及調用函數時,參數傳入形式更自由而已。

      希望本文所述對大家的Python程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved