位置參數(shù)和關(guān)鍵字參數(shù)

1.位置參數(shù)和關(guān)鍵字參數(shù)(根據(jù)實參的傳遞方式對參數(shù)進行的分類)

a.位置參數(shù):實參位置和形參保持一致,按形參聲明的先后順序一一賦值

b.關(guān)鍵字參數(shù):調(diào)用函數(shù)的時候以 形參=實參的方式來傳參, 這個時候?qū)崊⒌捻樞驘o所謂

def func1(a, b, c):
    print(a, b, c)


# 通過位置參數(shù)傳參
func1(10, 20, 30)
# 通過關(guān)鍵字參數(shù)傳參
func1(c=30, a=10, b=20)
# 通過位置參數(shù)和關(guān)鍵字參數(shù)結(jié)合傳參(注意關(guān)鍵字參數(shù)必須在位置參數(shù)的后面)
func1(10, 20, c=30)

2.參數(shù)默認值

聲明函數(shù)的時候,可以給參數(shù)賦默認值妓肢。
如果一個形參有默認值了者疤,那么調(diào)用函數(shù)的時候這個參數(shù)就可以不用傳參
如果有的形參有默認值,有的形參沒有默認值阔籽,那么有默認值的形參要放在沒有默認值的形參的后面

調(diào)用函數(shù)要保證每個參數(shù)都有值流妻!
# 參數(shù)c有默認值,調(diào)用函數(shù)的時候c可以不用傳參
def func2(a, b, c=0):
    # a=100, b=200
    print(a, b, c)


func2(100, 200, 300)
func2(100, 200)
func2(a=100, c=200, b=150)
func2(b=110, a=220)


def func3(width, color='black', long=10):
    print('畫一條長度是%d寬度是%s的%s線' % (long, width, color))


func3(1)
func3(1, 'red')
func3(2, long=20)

3.參數(shù)的類型說明 - 類型說明只有提示功能笆制,沒有約束功能

a.給參數(shù)設(shè)置默認值绅这, 默認值的類型就是參數(shù)的類型
b.在形參后面加 :類型名,來說明參數(shù)類型。這種方式調(diào)用的時候必須傳參
c.函數(shù)聲明的時候在()后面加 ->類型名, 來說明函數(shù)返回值的類型

類型說明的好處:a.對實參的類型進行指導(dǎo) b.實現(xiàn)函數(shù)功能的時候有類型相關(guān)的語法提示
def list_item(list1: list, index=0)->int:
    print(list1[index])


list_item([2, 34])


def func4(a: list, b):
   a.append(b)

4.不定長參數(shù) - 函數(shù)的參數(shù)個數(shù)不確定

a. 聲明函數(shù)的時候在辆,在參數(shù)名前加,可以用來同時獲取多個實參的值 -- 實質(zhì)是將帶的參數(shù)編程元祖证薇,將多個實參的值作為元祖的元素

注意: a.如果函數(shù)中既有不定長參數(shù)又有普通參數(shù),那么不定長參數(shù)必須放在普通參數(shù)的后邊

b.兩個的參數(shù)要放在一個的后邊

# 寫一個函數(shù)匆篓,計算多個數(shù)的和
def yt_sum(*nums):
    print(nums)


yt_sum()
yt_sum(1)
yt_sum(1, 2)
yt_sum(1, 2, 3)
yt_sum(1, 2, 3, 4, 5)


def func5(name, age, *scores):
    print(name, scores)


func5('夏明', 18, 209)
func5('小花', 10, 20, 30)

c.在參數(shù)名前加兩個*, 會將這個參數(shù)變成一個字典來獲取關(guān)鍵字參數(shù)的值浑度,其他關(guān)鍵字作為key,實參作為value

def func6(**nums):
    print(nums)


func6()
func6(a=10)
func6(a=10, b=20)


def func7(*args, **kwargs):
    print(args, kwargs)


func7(10, 5, 89)
func7(a=90, b=9, c=90)
func7(90, 89, z=0, v=87)

練習(xí):寫一個函數(shù)鸦概,計算多個數(shù)的和(要求可以使用位置參數(shù)也可以使用關(guān)鍵字參數(shù))

def yt_sum(*args, **kwargs):
    sum1 = 0
    # 遍歷元祖
    for num in args:
        sum1 += num

    # 遍歷字典
    for key in kwargs:
        sum1 += kwargs[key]

    print(sum1)


yt_sum(1, 2)
yt_sum(1, 2, 3, a=4, b=5)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末箩张,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子窗市,更是在濱河造成了極大的恐慌先慷,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谨设,死亡現(xiàn)場離奇詭異熟掂,居然都是意外死亡,警方通過查閱死者的電腦和手機扎拣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門赴肚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來素跺,“玉大人,你說我怎么就攤上這事誉券≈秆幔” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵踊跟,是天一觀的道長踩验。 經(jīng)常有香客問我,道長商玫,這世上最難降的妖魔是什么箕憾? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮拳昌,結(jié)果婚禮上袭异,老公的妹妹穿的比我還像新娘。我一直安慰自己炬藤,他們只是感情好御铃,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沈矿,像睡著了一般上真。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上羹膳,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天睡互,我揣著相機與錄音亚茬,去河邊找鬼拱绑。 笑死葛超,一個胖子當著我的面吹牛逆粹,可吹牛的內(nèi)容都是我干的讥蔽。 我是一名探鬼主播猫妙,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼干像,長吁一口氣:“原來是場噩夢啊……” “哼哺徊!你這毒婦竟也來了图贸?” 一聲冷哼從身側(cè)響起蹂季,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疏日,沒想到半個月后偿洁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡沟优,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年涕滋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挠阁。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡宾肺,死狀恐怖溯饵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锨用,我是刑警寧澤丰刊,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站增拥,受9級特大地震影響啄巧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掌栅,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一秩仆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猾封,春花似錦逗概、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卿城。三九已至枚钓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瑟押,已是汗流浹背搀捷。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留多望,地道東北人嫩舟。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像怀偷,于是被迫代替她去往敵國和親家厌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 函數(shù)和對象 1椎工、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念饭于。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,525評論 0 5
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,506評論 1 51
  • 第5章 函數(shù)和函數(shù)式編程 5.1 引言函數(shù)是組織好的维蒙,可重復(fù)使用的掰吕,用來實現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段颅痊。函數(shù)...
    VIVAFT閱讀 947評論 0 5
  • 3. 類設(shè)計者工具 3.1 拷貝控制 五種函數(shù)拷貝構(gòu)造函數(shù)拷貝賦值運算符移動構(gòu)造函數(shù)移動賦值運算符析構(gòu)函數(shù)拷貝和移...
    王偵閱讀 1,790評論 0 1
  • 函數(shù)只定義一次殖熟,但可能被執(zhí)行或調(diào)用任意次。JS函數(shù)是參數(shù)化的斑响,函數(shù)的定義會包括一個稱為形參的標識符列表菱属,這些參數(shù)在...
    PySong閱讀 514評論 0 0