函數的基本內容總結

函數
 函數是對功能的封裝
 語法:
     def函數名(形參列表)
        函數體(代碼塊,return)

 調用:函數名(實參列表)

2,返回值
  return: 在函數執行的時候,若是遇到return,直接返回
  1,若是函數什麼都不寫,不寫return,就沒有返回值,獲得的是none
  2,在函數中間或者末尾寫return,返回的是none
  3,在函數中寫return 值,返回一個值
  4,在函數中能夠返回多個返回值,return 值1,值2,值3...,接收的是元組

3,參數
  參數執行的時候給參數傳遞信息
  *形參:函數聲明的位置的變量
  *實參:函數調用的時候給的具體的值
  傳參:把實參交給形參的過程

  1,實參:
    位置參數:按照形參的參數位置,給形參傳值
    關鍵字參數:按照形參的名字給形參傳值
    混合參數:既用位置參數,也用關鍵參數
  2,形參:
    位置參數
    默認值參數: 先位置參數,後默認值參數
    動態參數

 

1,函數的動態參數
  1, *args  位置參數動態傳參
  2, *kwargs  關鍵字參數動態傳參
  順序: 位置參數 *args 默認值參數 *kwargs
  
  dec func(*args,*kwargs):
      pass
      
  形參的位置*,** : 聚合
  實參的位置*,** : 打散
2,命名空間
  1,內置名稱空間
  2,全局名稱空間
  3,局部名稱空間  
  
  做用域:
      1,全局做用域: 內置 + 全局
      2,局部做用域: 局部(函數被調用)
      globals():查看全局中的內容
      locals():查看做用域中的內容
3,函數的嵌套
  函數能夠互相的嵌套
4,global和nonlocal的關鍵
  global:在局部訪問全局中的內容  
  nonlocal:在局部訪問外層函數離它最近的那個變量

 

函數名的應用:(第一類對象)
    函數名的命名規範和變量是同樣的
    函數名其實就是變量名

    能夠做爲列表中的元素進行存儲
    def func1():
        pass
    def func2():
        pass
    list = [func1,func2]
    for el in list:
        el()

    能夠做爲參數傳遞給函數
    def func():
        pass
    def proxy(fn):
        fn()
    proxy(func)

    能夠做爲函數的返回值
    def func():
        def inner():
            pass
        return inner)
    func()()
2,閉包
    在內層函數中訪問外層函數的局部變量
    好處:
        1,保護你的變量不受外界影響
        2,可讓變量常駐內存
    寫法:
        def outer():
            a = 10
            def inner():
                print(a)
            return inner
相關文章
相關標籤/搜索