我的Python學習之路十二:函數(一)

取精華.去糟粕:重基礎,促創新

一.定義函數,調用函數

1.函數概述

 

函數是組織好的、可重複使用的、用戶實現單一或者關聯功能的代碼段.函數能夠提高應用的模塊性和代碼的重複利用率.Python提供了很多內置的函數,比如len等等,另外也可以根據自己的業務需求進行用戶自定義函數的創建

2.函數定義規則

 

微笑函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括號()

微笑任何傳入參數和自變量必須放在圓括號中間

微笑函數的第一行語句可以選擇性地使用文檔字符串---用於存放函數說明

微笑函數內容以冒號起始,並且縮進

語法格式:

 

def函數名([參數列表])    #參數列表可選項

  函數體

示例:

3.調用函數

 

def函數名([參數列表])    #參數列表可選項

  函數體

語法格式:

 

函數名([參數列表])

函數名其實就是指向一個函數對象的引用,完全可以把函數名賦值給一個變量,相當於給這個函數起了一個別名

示例:

二.函數參數

1.形參和實參的概念

示例:

2.函數參數的分類

必備參數:

 

函數定義中允許擁有多個形參,因此函數在調用的時候,也可能包含多個實參。向函數傳遞參數的方式有很多,通過實參和形參的順序對應,這就是位置實參。只有位置一致,才能被正確匹配。位置實參是最簡單也最常用的關聯方式

關鍵字參數:

 

默認值參數:

 

    函數定義的時候,設置的參數是形參。那麼也可以給每個形參指定一個默認值。當調用函數時,如果沒有傳入實參,就使用形參的默認值。如果調用的時候傳入了實參,那麼程序將使用傳入的實參

不定長參數:

需要一個函數能處理比當初聲明時更多的參數,這些參數叫做不定長參數.

語法格式:

示例:

 

注意:加了星號(*)的變量名會存放所有未命名的變量參數。加了(**)會存放所有命名的變量參數

3.可變對象與不可變對象的傳遞

 

       在 python中,strings, tuples, 和 numbers 是不可更改的對象,而list,dict,set等則是可以修改的對象。         

       不可變類型:變量賦值 a=5後再賦值 a=10,這裏實際是新生成一個 int值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當於新生成了a。

       可變類型:變量賦值 la=[1,2,3,4]後再賦值 la[2]=5則是將 listla 的第三個元素值更改,本身la沒有動,只是其內部的一部分值被修改了

4.函數參數--可變對象與不可變對象(傳遞的時候)

 

      不可變類型:如整數、字符串、元組。如fun(a),傳遞的只是a的值,沒有影響a對象本身。比如在 fun(a)內部修改 a 的值,只是修改另一個複製的對象,不會影響 a本身。

      可變類型:如列表,字典。如 fun(la),則是將 la 真正的傳過去,修改後fun外部的la也會受影響

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章