python函數知識點,你掌握幾個?

python函數的簡單介紹和用法

python 函數
構成:由若干語句組成的語句塊、函數名稱、參數列表構成,他是組織代碼的最小單位。
作用:1、結構化編程對代碼的最基本的封裝,一般按照功能組織一段代碼
2、復用
3、代碼更加簡潔美觀,可讀易懂

def語句定義函數:
def 函數名(參數列表)
函數體(代碼塊)
return 返回值
可以沒有return語句,隱式會返回None值
函數調用:函數名(),括號內寫參數

 

參數:
定義中的參數為形參,只是一種符號的表達。調用中的參數為實參,是真正的值。定義要在調用前。
函數參數:分為 位置參數、關鍵字參數、可變參數(可變位置參數 *,可變關鍵字參數 **)、????? keyword-only參數(可變位置參數之后)。
位置可變參數收集實參形成一個tuple,關鍵字可變參數收集實參形成一個dict
參數默認值:可以在未傳入足夠的實參的時候,對沒有給定的參數賦值為默認值
位置參數要在關鍵字參數之前傳入,可變參數要放在最后,keyword-only在位置可變參數后。
參數結構:
給函數提供實參時,可以在集合類型前使用*或者**,把集合類型的結構解開,提取出所有元素作為函數的實參。提取出的元素數目和類型要和參數的要求匹配。

 

函數的返回值:
用return語句返回 返回值,如果沒有return,默認返回None
return語句并不一定是函數語句塊的最后一條語句
一個函數可以存在多個return語句,但只會執行一條
如果函數執行了return語句,函數就會返回,之后的語句就不會被執行
函數不能同時返回多個值

 

函數嵌套:
在一個函數中定義了另外一個函數。
作用域:
一個表示符的可見范圍,就是表示符的作用域,一般常說的是變量的作用域。
全局作用域:在整個程序運行環境中可見
局部作用域:在函數、類等內部可見。局部變量使用范圍不能超過其所在的局部作用域。
外層變量作用域在內層作用域可見,相反不可見。
全局變量global:使用global關鍵字的變量,將內部作用域的變量聲明為全局作用域中定義的變量。
閉包:出現在嵌套函數中,指的是內層函數引用到了外層函數的自由變量(自由變量:本層沒有定義定??? 義在外層)但外層不能是全局,形成閉包。使用nonlocal關鍵字。

默認值的作用域:用(標識符.__defauits__)查看默認值。默認值本身不會變,但是默認值引用一個可變 類型(如list),引用類型的元素可以變動。
可以使用None作為默認參數,通過值的判斷就可以靈活的選擇創建或者修改傳入對象 。
例子:def foo(x=None):
if x is None:
x=[]

函數的銷毀:
全局函數銷毀:重新定義同名函數、del 語句刪除、程序結束時
局部函數銷毀:重新在上一級作用域定義同名函數、del語句刪除、上級作用域銷毀時

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87808

(0)
10590628461059062846
上一篇 2017-10-14 17:31
下一篇 2017-10-14 21:44

相關推薦

  • 樹 概念


    二叉樹

    2018-04-16
  • python快速入門之數據類型

        Python 是 90 年代初由 Guido Van Rossum 為了打發圣誕節而創建的語言。如今它已是當前最流行的程序語言之一.     Python的關鍵要素有以下幾點:1.基本數據類型;2.對象引用;3.組合數據類型;4.邏輯操作符;5.控制流語句;6.算數操作符…

    Python干貨 2015-12-10
  • mysql慢查詢日志進行按庫切割重寫文件然后分析

    需求: 把每天的慢查詢日志進行按庫切割 對每個庫的慢查詢日志進行分析 思路: 工具/功能 一般統計信息 高級統計信息 腳本 優勢 mysqldumpslow 支持 不支持 perl mysql官方自帶 mysqlsla 支持 支持 perl 功能強大,數據報表齊全,定制化能力強. mysql-explain-slow-log 支持 不支持 perl 無 my…

    Linux干貨 2015-04-03
  • 封裝與解構 集合

    封裝和解構 封裝:將多個值進行分割,結合在一起,本質上返回元組,只是省掉了小括號 ‘==‘意思為內容一致,‘=’意思為內存空間一致 解構:把線性結構的元素解開,并順序的賦值給其他變量,左邊接納的變量數要和左邊解開的元素數量一致 集合不是非線性 解構中使用*變量名接收,但不能單獨使用,被*變量名收集后組成一個列表 第一個下劃線為9,結果被第二個下劃線重新賦值為…

    Python筆記 2018-04-01
  • python中 ‘is’ 和 ‘==’ 區別

    id –> 唯一身份標識符,?is比較的是id, ==比較的是value?

    2018-04-16
欧美性久久久久