Python學(xué)習(xí)筆記一

這兩天看了看Python,覺得要做一下筆記,其他方面沒什么難點(diǎn),但看了函數(shù)的參數(shù)那一塊兒之后發(fā)現(xiàn)還是要理清楚的,因此從函數(shù)參數(shù)開始寫。

函數(shù)的參數(shù)

位置參數(shù)

def power(x, n):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

這段代碼中x和n是兩個位置參數(shù),傳入值按照位置賦值給x和n。

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

當(dāng)只傳入一個參數(shù)時,會導(dǎo)致另一個參數(shù)為空而報錯,因此需要有一個默認(rèn)值。

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

當(dāng)只傳入x一個參數(shù)時,那么就是計算平方值。

注意

  1. 必選參數(shù)在前,默認(rèn)參數(shù)在后。
  2. 有多個默認(rèn)參數(shù)時,可以按順序提供參數(shù);也可以指明參數(shù)名稱和值,如name=‘tian’,其他參數(shù)使用默認(rèn)參數(shù)。
  3. 定義參數(shù)時默認(rèn)參數(shù)必須指向不變對象

可變參數(shù)

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

這個參數(shù)numbers就是可變參數(shù),可以傳入1個、2個到任意個,還可以是0個參數(shù)。

>>> nums = [1, 2, 3]
>>> calc(*nums)
14

*nums表示把這個list的所有元素輸入,然后進(jìn)行計算。

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

可變參數(shù)允許傳入0個或任意個參數(shù),可變參數(shù)會組裝成tuple。關(guān)鍵字參數(shù)允許傳入0個或任意個含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict。

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

這個函數(shù)中kw就是關(guān)鍵字參數(shù)

>>> extra = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, **extra)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}

與可變參數(shù)類似,extra把extra的所有元素傳到了參數(shù)kw中,且對kw的修改不會影響函數(shù)外的extra。

命名關(guān)鍵字參數(shù)

  1. 用*限制
def person(name, age, *, city, job):
    print(name, age, city, job)

這樣city和job必須傳入并且是以city=''和job=''的形式。
2.已有可變參數(shù)

def person(name, age, *args, city, job):
    print(name, age, args, city, job)

那么不需要再加*了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • Python教程Python指南 終于知道為什么有中文字符的頁面要設(shè)置編碼格式為UTF-8了編碼 python的條...
    心徹閱讀 321評論 0 0
  • Python 是一種相當(dāng)高級的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 1,942評論 0 3
  • 1.函數(shù)參數(shù) 1.1 位置參數(shù) 我們先寫一個計算x2的函數(shù): 對于power(x)函數(shù),參數(shù)x就是一個位置參數(shù)。當(dāng)...
    時間之友閱讀 382評論 0 2
  • 1.定義函數(shù): 沒有return,默認(rèn)返回None 2.定義空函數(shù) 相當(dāng)于什么也不做,可以用來做函數(shù)體占位符,沒有...
    maskwang520閱讀 338評論 0 0
  • 隨心所欲,隨遇而安,歲月靜好,一切都是最好的安排
    小紫蘇閱讀 150評論 0 0