7.python的函數(shù)

認(rèn)識(shí)函數(shù)

help() 查看內(nèi)部函數(shù)的幫助
import this 查看python之禪

特性:
1.功能性
2.隱藏細(xì)節(jié)
3.避免編寫(xiě)重復(fù)的代碼
次要特性:組織代碼 -> 面向?qū)ο蟾侠?/p>

函數(shù)的定義及運(yùn)行特點(diǎn):

函數(shù)的基本結(jié)構(gòu)

def func(**param):
    pass
  1. 參數(shù)列表可以沒(méi)有
    2.return 用來(lái)返回函數(shù)返回值
  2. 函數(shù)需要調(diào)用才會(huì)起作用
  3. 函數(shù)調(diào)用需要在定義之后
    函數(shù)的取值根據(jù)順序來(lái)決定,主要是位置參數(shù)、還有可變參數(shù),命名關(guān)鍵詞參數(shù),關(guān)鍵詞參數(shù)。
python設(shè)置最大遞歸層數(shù)
import sys
sys.setrecursionlimit(10000) 

循環(huán)實(shí)現(xiàn)的fab數(shù)列,遞歸也能實(shí)現(xiàn),而且更簡(jiǎn)單。
廖雪峰--遞歸與尾遞歸--汗諾塔

# 遞歸函數(shù) -- 別人寫(xiě)的汗諾塔
class Tower(object):
    def __init__(self):
        self.counter = 0

    def hanoi(self, n, org, aux, dst):
        if n == 1:
            self.counter += 1
            print('{0}->{1}'.format(org, dst))
        else:
            self.hanoi(n - 1, org, dst, aux)
            self.hanoi(1, org, aux, dst)
            self.hanoi(n - 1, aux, org, dst)

def homework(*args):
    tower = Tower()
    print('移動(dòng)步驟如下:')
    tower.hanoi(*args)
    print('總共移動(dòng)次數(shù)為: {0}'.format(tower.counter))

homework(100,'a','b','c')  # 100基本算不出來(lái),10還差不多

如何讓函數(shù)返回多個(gè)結(jié)果

def damage(skill1, skill2):
    return skill1*3, skill2*3  # 默認(rèn)返回值為tuple

print(damage(1, 2))  
#獲取返回結(jié)果的正確方法
# 序列解包
skill1_damage, skill2_damage = damage(1, 2)
#不推薦通過(guò)索引獲取,會(huì)造成可讀性變差

序列解包和鏈?zhǔn)秸{(diào)用

d = 1, 2, 3 序列
a, b, c = d 類似這種的賦值形式就是序列解包,解包的變量個(gè)數(shù)要和序列數(shù)相等,否則會(huì)報(bào)錯(cuò)。
a = b = c = [1, 2] 鏈?zhǔn)秸{(diào)用,會(huì)同id。

必須參數(shù)與關(guān)鍵字參數(shù)

必須參數(shù):位置參數(shù),必須要傳入。
形參、實(shí)參的概念。
通過(guò)關(guān)鍵字參數(shù)沒(méi)必要通過(guò)位置參數(shù)順序調(diào)用函數(shù)。指定參數(shù)給哪個(gè)形參。
必須參數(shù)和關(guān)鍵字參數(shù)的區(qū)別主要在調(diào)用上,定義上沒(méi)區(qū)別。

默認(rèn)參數(shù)

從而使參數(shù)不是必須輸入的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫(xiě)文章,發(fā)現(xiàn)簡(jiǎn)書(shū)還為我保存起的...
    Jenaral閱讀 3,186評(píng)論 2 9
  • 函數(shù)和對(duì)象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對(duì)于任何一門(mén)語(yǔ)言來(lái)說(shuō)都是核心的概念。通過(guò)函數(shù)可以封裝任意多條語(yǔ)句,而且...
    道無(wú)虛閱讀 4,968評(píng)論 0 5
  • 雷雁雄6月11日總結(jié):今天出差,開(kāi)了半天的車(chē),有點(diǎn)累了,各位晚安。
    雷雁雄閱讀 188評(píng)論 0 0
  • 現(xiàn)象:夜間模式第一次進(jìn)入activity時(shí),顏色等資源未正常加載為夜間模式資源,第二次進(jìn)入后正常調(diào)查過(guò)程:經(jīng)過(guò)了解...
    蕭笑嘯閱讀 386評(píng)論 0 0
  • ■曉晨花露 看看整齊的柏油馬路 通向新村 感慨萬(wàn)千 以前,一條彎彎曲曲的 泥濘小路 伴我上學(xué) 伴我看風(fēng)景 美好的童...
    鐘的呼喚閱讀 192評(píng)論 0 6

友情鏈接更多精彩內(nèi)容