13 python初学(函数)
函數:
必備參數:
# name,age 是必備參數;調用此函數時必須按順序傳入值。 def print_info(name, age):?
關鍵字參數:
# 調用函數時可以不按順序傳入參數,但必須說明關鍵字 print_info(age=17, name='su')?
默認參數:
# 聲明參數時指定一個默認值:sex='female',這樣在調用該函數時如果不傳參數值就會使用默認值。默認參數必須放在所有參數后面(不包括不定長參數)#?默認參數后面如果跟了不定長參數,那么會先把第一個參數值給默認參數def print_info(name, age, sex='female'):passprint_info('lily', 18) # 指定默認性別為女 print_info('xiaoming', 18, 'male') #傳入參數:性別為男
?
不定長參數:
?
?
# 不定長參數有兩種:一種是不會給傳入的參數命名,第二種是傳入的參數有命名。?*args?放左邊,?**kwargs?放右邊# 第一種 def add(*args): # 不定長參數一,*args不會給傳入的參數命名,聲明時不會命名print(args)sum = 0for i in args: # args = (1, 2, 3, 4, 5),元組類型sum += iprint(sum)add(1, 2, 3, 4, 5)#第二種: **kwargs 來接收超出的命名參數,是一個字典類型 def print_info(name, age, **kwargs):print(kwargs)print('name: %s' % name)print('age is: %d'% age)for i in kwargs:print('%s: %s' % (i, kwargs[i]))print_info('lily', 18, sex='female', locate='beijing',)?
5.?return:
作用:a. 結束函數 b.返回某個對象
如果函數沒有 return,會默認 return 一個 None
如果return 多個對象,那么python 會幫我們把多個對象封裝成一個元組返回
?
def test(a, b):return a+b, a*bprint(test(1, 2))>>> (3, 2)?
?
6.?定義域:
built_in , global, enclosing, local
局部作用域如果要修改全局變量,需要加 global : ??global count
global 關鍵字聲明的變量必須在全局作用域上,不能在嵌套作用域上。
當要修改嵌套作用域(enclosing)中的變量,需要使用 nonlocal 關鍵字:nonlocal count
?
變量查找順序:LEGB,作用域局部>外層作用域>當前模塊中的全局>python內置作用域
只有模塊、類及函數才能引入新作用域
對于一個變量,內部作用域先聲明就會覆蓋外部變量,不聲明直接使用,就會使用外部作用域的變量
內部作用域要修改外部作用域變量的值時,全局變量要使用 global 關鍵字,嵌套作用域變量要使用 nonlocal 關鍵字,nonlocal 是 python3 新增的關鍵字,有了這個關鍵字,就能完美實現閉包了??
7. 作用: a.減少重復代碼 b. 方便修改,便于擴展 c. 保持代碼一致性
轉載于:https://www.cnblogs.com/mlllily/p/10252715.html
總結
以上是生活随笔為你收集整理的13 python初学(函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法笔记(胡凡)刷题笔记目录
- 下一篇: CSS 组合选择符