python學習筆記:函數參數

1. 位置參數:通常的參數spa

2. 默認參數:    code

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

參數裏有默認賦值,調用時用power(5)就是平方,若是power(5, 3)就是立方了blog

若是有多個默認參數,調用時前面用默認參數,後面不是用默認參數,則須要在調用語句中寫出「參數名 = 參數值」,好比下面這個狀況ci

1 def enroll(name, gender, age=6, city='Beijing'):
2     print('name:', name)
3     print('gender:', gender)
4     print('age:', age)
5     print('city:', city)

enroll('bob','M',7)這樣沒有參數名是能夠的,city就是用默認參數'beijing',age沒有用,enroll('sary','F','hangzhou')這樣是錯誤的,由於'hangzhou'不是age,是city,所以須要這樣使用:enroll('sary','F',city='hangzhou'),這樣age=6, city='hangzhou'it

3. 可變參數class

1 def calc(numbers)
2       sum = 0
3       for n in numbers:
4           sum = sum + n * n
5       return sum

若是使用上面這個代碼,對於一個list或者tuple輸入值,好比[1,2,3],調用的時候須要這麼寫:calc([1,2,3])或者calc((1, 2, 3)),很麻煩命名

因此可變參數須要在numbers前加*dict

1 def calc(*numbers)
2       sum = 0
3       for n in numbers:
4           sum = sum + n * n
5       return sum

這樣就能夠這樣調用了:calc(1, 2, 3)。di

對於nums = [1, 2, 3]這個list時,若是用上面這個可變參數,則不能寫成calc(nums),須要寫成calc(nums[0], nums[1], nums[2])或者calc(*nums)while

4. 關鍵字參數

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

**kw是一個dict,調用語句爲person('jackson', 30, gender='M', city='beijing')後,結果爲name: jackson age:30 other:{'gender' : 'M', 'city' : 'beijing'}

對於extra = {'gender' : 'M', 'city' : 'beijing'}這種已經定義好的dict,能夠這麼調用:person('jackson', 30, **extra)

5. 命名關鍵字參數

這個感受用處不大

相關文章
相關標籤/搜索