最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法

 更新時間:2014年08月18日 16:53:28   投稿:shichen2014  
這篇文章主要介紹了Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法,是很實(shí)用的功能,需要的朋友可以參考下

本文實(shí)例展示了Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法,具體方法如下:

一、Python函數(shù)默認(rèn)值

Python函數(shù)默認(rèn)值的使用可以在函數(shù)調(diào)用時寫代碼提供方便,很多時候我們只要使用默認(rèn)值就可以了。 所以函數(shù)默認(rèn)值在python中用到的很多,尤其是在類中間,類的初始化函數(shù)中一幫都會用到默認(rèn)值。 使用類時能夠方便的創(chuàng)建類,而不需要傳遞一堆參數(shù)。

只要在函數(shù)參數(shù)名后面加上 ”=defalut_value”,函數(shù)默認(rèn)值就定義好了。有一個地方需要注意的是,有默認(rèn)值的參數(shù)必須在函數(shù)參數(shù)列表的最后,不允許將沒有默認(rèn)值的參數(shù)放在有默認(rèn)值的參數(shù)后,因?yàn)槿绻隳菢佣x的話,解釋器將不知道如何去傳遞參數(shù)。

先來看一段示例代碼:

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
  while True:
    ok = raw_input(prompt)
    if ok in ('y', 'ye', 'yes'): return True
    if ok in ('n', 'no', 'nop', 'nope'): return False
    retries = retries - 1
    if retries < 0: raise IOError, 'refusenik user'
    print complaint

你調(diào)用上面的函數(shù)時,可以修改重試次數(shù)和輸出的提示語言,如果你比較懶得話,那么什么都不用改。

二、python使用函數(shù)默認(rèn)值來實(shí)現(xiàn)函數(shù)靜態(tài)變量的功能

Python中是不支持靜態(tài)變量的,但是我們可以通過函數(shù)的默認(rèn)值來實(shí)現(xiàn)靜態(tài)變量的功能。
當(dāng)函數(shù)的默認(rèn)值是內(nèi)容是可變的類時,類的內(nèi)容可變,而類的名字沒變。(相當(dāng)于開辟的內(nèi)存區(qū)域沒有變,而其中內(nèi)容可以變化)。
這是因?yàn)閜ython中函數(shù)的默認(rèn)值只會被執(zhí)行一次,(和靜態(tài)變量一樣,靜態(tài)變量初始化也是被執(zhí)行一次。)這就是他們的共同點(diǎn)。

再來看下面的程序片段:

def f(a, L=[]):
  L.append(a)
  return L
 
print f(1)
print f(2)
print f(3)
print f(4,['x'])
print f(5)

其輸出結(jié)果是:

[1]
[1, 2]
[1, 2, 3]
['x', 4]
[1, 2, 3, 5]

前面的好理解,為什么最后 “print f(5)”的輸出是 “[1, 2, 3, 5]”呢?

這是因?yàn)?“print f(4,['x'])”時,默認(rèn)變量并沒有被改變,因?yàn)槟J(rèn)變量的初始化只是被執(zhí)行了一次(第一次使用默認(rèn)值調(diào)用),初始化執(zhí)行開辟的內(nèi)存區(qū)(我們可以稱之為默認(rèn)變量)沒有被改變,所以最后的輸出結(jié)果是“[1, 2, 3, 5]”。

相信本文所述實(shí)例對大家Python程序設(shè)計有一定的幫助作用。

相關(guān)文章

  • pygame實(shí)現(xiàn)簡易飛機(jī)大戰(zhàn)

    pygame實(shí)現(xiàn)簡易飛機(jī)大戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)簡易飛機(jī)大戰(zhàn),python版飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 對python調(diào)用RPC接口的實(shí)例詳解

    對python調(diào)用RPC接口的實(shí)例詳解

    今天小編就為大家分享一篇對python調(diào)用RPC接口的實(shí)例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 從零開始學(xué)習(xí)Python與BeautifulSoup網(wǎng)頁數(shù)據(jù)抓取

    從零開始學(xué)習(xí)Python與BeautifulSoup網(wǎng)頁數(shù)據(jù)抓取

    想要從零開始學(xué)習(xí)Python和BeautifulSoup網(wǎng)頁數(shù)據(jù)抓???本指南將為你提供簡單易懂的指導(dǎo),讓你掌握這兩個強(qiáng)大的工具,不管你是初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,本指南都能幫助你快速入門并提升技能,不要錯過這個機(jī)會,開始你的編程之旅吧!
    2024-01-01
  • 使用Python將PDF表格提取到文本,CSV和Excel文件中

    使用Python將PDF表格提取到文本,CSV和Excel文件中

    本文將介紹如何使用簡單的Python代碼從PDF文檔中提取表格數(shù)據(jù)并將其寫入文本、CSV和Excel文件,從而輕松實(shí)現(xiàn)PDF表格的自動化提取,有需要的可以參考下
    2024-11-11
  • python中通過Django捕獲所有異常的處理

    python中通過Django捕獲所有異常的處理

    誠然,每個人都會寫bug,程序拋異常是一件很正常的事;既然異??偸菚仯蔷拖朕k法在拋出后,盡早解決才是王道。不能老是等待用戶反饋異常和問題,萬一用戶懶得反饋了,豈不很尷尬
    2021-09-09
  • Python HTML解析模塊HTMLParser用法分析【爬蟲工具】

    Python HTML解析模塊HTMLParser用法分析【爬蟲工具】

    這篇文章主要介紹了Python HTML解析模塊HTMLParser用法,結(jié)合實(shí)例形式分析了HTMLParser模塊功能、常用函數(shù)及作為爬蟲工具相關(guān)使用技巧,需要的朋友可以參考下
    2019-04-04
  • Python中的is和id用法分析

    Python中的is和id用法分析

    這篇文章主要介紹了Python中的is和id用法,實(shí)例分析了is和id的功能及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Python 對Excel求和、合并居中的操作

    Python 對Excel求和、合并居中的操作

    這篇文章主要介紹了Python 對Excel求和、合并居中的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python實(shí)現(xiàn)的對本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能示例

    Python實(shí)現(xiàn)的對本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的對本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能,可實(shí)現(xiàn)掃描本機(jī)開放端口的功能,涉及Python socket模塊與Thread多線程模塊相關(guān)使用技巧,需要的朋友可以參考下
    2019-02-02
  • Python+Tkinter簡單實(shí)現(xiàn)注冊登錄功能

    Python+Tkinter簡單實(shí)現(xiàn)注冊登錄功能

    這篇文章主要為大家詳細(xì)介紹了Python+Tkinter簡單實(shí)現(xiàn)注冊登錄功能,連接本地MySQL數(shù)據(jù)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論

禹城市| 云南省| 应用必备| 保亭| 曲水县| 乐至县| 镇巴县| 文昌市| 新竹市| 梅河口市| 大化| 信宜市| 团风县| 莒南县| 眉山市| 黑水县| 甘洛县| 潜江市| 湘乡市| 江门市| 册亨县| 三河市| 花莲县| 敖汉旗| 葫芦岛市| 禹州市| 石门县| 武穴市| 赤壁市| 汝城县| 濉溪县| 张北县| 仁布县| 内黄县| 右玉县| 永安市| 永康市| 洛扎县| 泗洪县| 和平县| 蓬安县|