python動(dòng)態(tài)參數(shù)用法實(shí)例分析
本文實(shí)例講述了python動(dòng)態(tài)參數(shù)用法。分享給大家供大家參考。具體分析如下:
先來看一段代碼:
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)
打印出來的內(nèi)容是:
(1, 2, 3) boy ['__doc__', '__init__', '__module__', 'name', 'pros', 'sex']
python不定參數(shù):
參數(shù)以一個(gè)*號(hào)開頭的代表著一個(gè)任意長(zhǎng)度的數(shù)組,可以接收連續(xù)一串參數(shù),如上面代碼里傳的是1,2,3,你可以更多。
參數(shù)以兩個(gè)*號(hào)開頭的代表著一個(gè)字典,參數(shù)的形式是“key=value”,接受連續(xù)任意多個(gè)參數(shù)。
在函數(shù)內(nèi),我們就可以把前者當(dāng)作一個(gè)元組來處理,打印結(jié)果看得出來是一個(gè)元組。注意,調(diào)用方法是參數(shù)不定長(zhǎng),而在方法執(zhí)行的時(shí)候,長(zhǎng)度已定了,所以是元組。同時(shí),我們可以把后者當(dāng)作一個(gè)字典來處理。
示例代碼里使用可變長(zhǎng)參數(shù)實(shí)現(xiàn)了一個(gè)類屬性的個(gè)性化定制,對(duì)于一個(gè)Person類,你可以通過傳入字典類型的參數(shù)使這個(gè)類有更多原來不存在的屬性,實(shí)現(xiàn)方法 是用了exec方法,目前只能通過字符串的參數(shù)。這里只是展示了可變參數(shù)的使用及exec的神奇力量。真正的函數(shù)不應(yīng)該允許任意用戶自定義屬性的,可變參 數(shù)的目的是為定義函數(shù)方便及調(diào)用函數(shù)時(shí),參數(shù)傳入形式更自由而已。
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
- Python實(shí)現(xiàn)動(dòng)態(tài)加載模塊、類、函數(shù)的方法分析
- Python動(dòng)態(tài)加載模塊的3種方法
- python 動(dòng)態(tài)獲取當(dāng)前運(yùn)行的類名和函數(shù)名的方法
- Python中使用動(dòng)態(tài)變量名的方法
- Python中動(dòng)態(tài)獲取對(duì)象的屬性和方法的教程
- Python實(shí)現(xiàn)動(dòng)態(tài)添加類的屬性或成員函數(shù)的解決方法
- 在python的類中動(dòng)態(tài)添加屬性與生成對(duì)象
- python動(dòng)態(tài)加載變量示例分享
- python動(dòng)態(tài)加載包的方法小結(jié)
- Python中動(dòng)態(tài)創(chuàng)建類實(shí)例的方法
- Python動(dòng)態(tài)導(dǎo)入模塊的方法實(shí)例分析
相關(guān)文章
python使用requests?POST提交一個(gè)鍵多個(gè)值方式
這篇文章主要介紹了python使用requests?POST提交一個(gè)鍵多個(gè)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
虛擬環(huán)境下搭建一個(gè)Django項(xiàng)目
這篇文章主要為大家介紹了虛擬環(huán)境下搭建一個(gè)Django項(xiàng)目的實(shí)現(xiàn)過程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Python使用shelve模塊實(shí)現(xiàn)簡(jiǎn)單數(shù)據(jù)存儲(chǔ)的方法
這篇文章主要介紹了Python使用shelve模塊實(shí)現(xiàn)簡(jiǎn)單數(shù)據(jù)存儲(chǔ)的方法,涉及shelve模塊實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的技巧,需要的朋友可以參考下2015-05-05
修復(fù)Python縮進(jìn)錯(cuò)誤的方法實(shí)現(xiàn)
在Python中,縮進(jìn)是非常重要的,因?yàn)樗鼪Q定了代碼塊的層次結(jié)構(gòu),本文主要介紹了修復(fù)Python縮進(jìn)錯(cuò)誤的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
python中matplotlib實(shí)現(xiàn)最小二乘法擬合的過程詳解
這篇文章主要給大家介紹了關(guān)于python中matplotlib實(shí)現(xiàn)最小二乘法擬合的相關(guān)資料,文中通過示例代碼詳細(xì)介紹了關(guān)于最小二乘法擬合直線和最小二乘法擬合曲線的實(shí)現(xiàn)過程,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07
python基于pexpect庫自動(dòng)獲取日志信息
這篇文章主要介紹了python基于pexpect庫自動(dòng)獲取日志信息的方法,幫助大家更好的利用python高效辦公,感興趣的朋友可以了解下2021-02-02
基于Python實(shí)現(xiàn)二維圖像雙線性插值
雙線性插值,又稱為雙線性內(nèi)插。在數(shù)學(xué)上,雙線性插值是有兩個(gè)變量的插值函數(shù)的線性插值擴(kuò)展,其核心思想是在兩個(gè)方向分別進(jìn)行一次線性插值。本文將用Python實(shí)現(xiàn)二維圖像雙線性插值,感興趣的可以了解下2022-06-06
python flask開發(fā)的簡(jiǎn)單基金查詢工具
基于python flask開發(fā)的簡(jiǎn)單基金查詢工具,支持大盤指數(shù)實(shí)時(shí)情況查看,總持倉實(shí)際漲幅、預(yù)估漲幅等功能,感興趣的朋友可以下載該項(xiàng)目來查看使用2021-06-06

