1.函式是完成某個特定功能的一組語句,是標準的**塊。
這段**是用來解決乙個問題或一類問題。
2.函式是功能,解決某乙個問題的乙個過程。
將乙個大過程(目標)分解成 n 個小過程。如沒有函式,完成任務可能需要很多的**。這時我們就可以把完成特定功能的**塊放到乙個函式裡,直接呼叫或者復用函式。
編寫**的過程中都避免編寫重複**的操作,這時候會將有可能重複的**封裝起來並命名,當用到這個名字時,即是呼叫這段**,就省了重複輸入大量**的麻煩。
def
fun_name
([引數列表]):
#def function 函式名
#此時要注意函式名稱定義和變數的命名規則保持一致
#任何傳入引數和自變數必須放在圓括號中,圓括號可以用於定義引數。
#引數列表可以沒有,也可以有多個
#函式內容以冒號開始,並且縮排
函式** #由一行或者多行完成特定功能**組成
return
#結束函式,不帶表示式的return相當於返回none
>>
>
help()
#利用help(function_name) 檢視函式的幫助資訊
help on built-
in function abd in module builyins:
abs(x,/)
return the absolute value of the arguement.
>>
>
分類可以通過三種方式來分類:
1.通過判斷有無引數進行分類
意義:隨著**量的增加,函式定義者和函式的呼叫者不一定是同乙個人,進行分類會簡化操作。
2.通過判斷有無返回值進行分類
意義:如果函式執行完成,需要將某個結果給呼叫者 return 結果。
3.通過定義者來分類
將這第一和第二種分類分別組合起來:
1.有參函式,有返回值:
>>
>
def test1(x, y)
:>>
> c = x + y
>>
>
return
(c)>>
>b = test1(3,
4)>>
>
print
(b)結果為:7
2.有參函式,無返回值:
>>
>
def test2(x, y)
:>>
> c = x + y
>>
>
print
(c)>>
>test2(2,
1)結果為:3
3.無參函式,有返回值:
>>
>
def test3():
>>
> a,b =3,
4>>
> c = a + b
>>
>
return
(c)>>
>d = test(3)
>>
>
print
(d)結果為:7
4.無參函式,無返回值:
這類函式不需要傳入函式,也不需要返回值,呼叫這類函式的時候直接就輸出結果。
1.全域性變數
含義:在函式外定義的變數。
範圍:即在乙個函式內部定義的變數,只在本函式範圍內有效。
1.1如何在函式中使用全域性變數?
一定要宣告 global 全域性變數。
不要將全域性變數的使用和傳參當成一回事!
2.區域性變數
含義:在函式內定義的變數。
範圍:即從定義變數的位置到本原始檔結束都有效。
函式內部會優先使用區域性變數再使用全域性變數。
呼叫函式也就是執行函式,在記憶體中函式的呼叫叫做壓棧、彈棧。等函式執行完成後,函式就立刻出棧。
函式呼叫的基本格式如下:
[返回值]
= 函式名(
[形參]
)#形参指的是當初建立函式時要求傳入的各個形參的值
#如果該函式有返回值,我們可以通過乙個變數來接收,當然也可以不接收。
注意:
建立函式有多少個形參,那麼呼叫時就需要傳入多少個值,且順序必須和建立函式時一致。
即使該函式沒有引數,函式名後的小括號不能省略。
解釋性的語言**是從上而下執行的。
python中的變數是沒有型別的,但變數是可以指向任何物件的,而物件才是有型別的。
python中的物件有可變物件(number,string,tuple等)和不可變物件之分(list,dict等)。 區別可戳這篇文章,python入門——四大容器解析
1.值傳遞
如果你傳入的引數物件是不可變的物件:數字,元組,字串,這個時候就是值傳遞。那麼源物件是不會改變的。(被調函式新開闢記憶體空間存放的是實參的副本值)
2.引用傳遞意義:當函式引數特別多的時候,為了解決呼叫時傳參麻煩。python函式預設值的使用可以在函式呼叫時寫**提供方便,很多時候我們只要使用預設值就可以了。使用類時能夠方便的建立類,而不需要傳遞一堆引數。
函式自身呼叫自身,叫做遞迴。
遞迴必須有終止條件,否則是乙個死迴圈。
>>
>
lambda
[引數1
, 引數2..
. n]
:語句》
>
lambda x,y:x + y
>>
>
def add(x, y)
:>>
>
return x + y
注意:
在python中,lambda雖然簡化了**書寫,增強了**維護成本,但**的可讀性下降了。
人生苦短,我用python。
python函式的學習還比較淺顯,今天就先寫到這裡。
Python函式專題 函式的基本概念
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。定義乙個函式 你可以定義乙個由自己想要功能的函式,以下是簡單的規則 任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義參 數。函式的第一行語句可以選擇性地使用文件字串 用於存放函式說明。函式內容以冒號起始,並且縮排。retu...
函式專題 CASE WHEN
case when 語句 一 概述 1.這個語句使用起來像decode函式加強版,9i之後的多重條件分支語句,decode配合例如sign類似的函式也能達到case when的效果,但是case when效率更高,需要注意的是,每個值返回的型別需要一致。2.case語句可以實現if語句的功能。3.c...
函式專題(簡介)
函式專題 簡介 一 引入 在數學中有表示關係函式 f x f x 中的 x 是自變數 f x 的值是因變數.例1 f x x y 二 概述 在c語言中,f x 同樣表示關係函式,x就是傳入的值,若x 1,那麼在例1中f x f 1 1 y 那麼1 y的結果就是返回值。三 說明 1.乙個源程式檔案 c...