Python_自定義函數_使用_運行流程


一,自定義函數

Python有自帶的函數,而自己定義新的函數也是可以的。

函數定義要指定這個新函數的名字,還需要一系列語句放到這個函數里面,當調用這個函數的時候,就會運行這些語句了。

>>> def print_new():

...     print('I am ok')

...     print('I am very fine')

...                                        #交互模式必須要多敲一行空格,Python才知道賦值結束。

>>>

這里的def就是一個關鍵詞,意思是這是在定義一個函數。

函數的名字就是print_new,函數的命名規則和變量命名規則基本差不多,都是字幕梳子或者下划線,但是不能用數字打頭。另外也不能用關鍵詞做函數名,還要注意盡量避免函數名和變量名發生重復。

函數名后面的括號是空的,意思是這個函數不需要參數。

語法:函數定義的第一行叫做頭部,剩下的叫做函數體。函數頭部的末尾必須有一個冒號,函數體必須是相對函數頭部有縮進的,

距離行首相對於函數頭要有四個空格的距離,留意上面的示例中print前面是有空格的。函數體可以有任意長度的語句。注意:縮進是Python最強制的要求,這個很重要。

在打印語句中,要打印的字符串需要用雙引號或單引號括着。單引號和雙引號效果一樣,除非是字符串中已經出現了單引號,一般都用單引號。

定義函數會創建一個函數類的對象,有type函數。

>>> type(print_new)

<class 'function'>

調用新函數的語法和調用內置函數是一樣的,直接打印函數名:

>>> print_new()

I am ok

I am very fine

一旦定義了一個函數,就可以在其它函數里面來調用這個函數,比如我們寫個repeat_new的函數來測試一下。

>>> def repeat_new():

...     print_new()

... 

>>> repeat_new()   #調用

I am ok

I am very fine

二,定義並使用

 整合一下前面的小塊代碼:

>>> def print_new():

...     print('I am ok')

...     print('I am very fine')

... 

>>> def repeat_new():

...     print_new()

... 

>>> repeat_new()

I am ok

I am very fine

這個代碼塊包含兩個函數的定義:print_new以及repeat_new,函數定義的執行就和其他語句一樣,但是效果是創建函數對象。

函數定義中的語句直到函數被調用的時候才會運行,函數的定義本身不會有任何輸出。

三,運行流程

為了確保一個函數在首次被調用之前已經定義,我們必須要明白語句運行的順序,也就是所謂"運行流程"。

一個Python程序都是從第一個語句開始運行的。從首至尾,每次運行一個語句。函數的定義並不會改變程序的運行流程,但要注意,函數體內部的語句只有在函數被調用的時候才會運行。

函數調用就像是運行流程有了繞道的行為,沒有直接去執行下一個語句,運行流跳入到函數體內,運行里面的語句,然后再回來從離開的地方繼續執行。

簡要說,就是跳出跳入互相調用,完成整個程序的執行。

Python本身會實時追蹤應該執行的位置,所以每次一個函數執行完畢了,程序都會回到當時跳出的位置,然后繼續運行,等執行到了程序的末尾,就終止了。

有時候,我們要按照運行流程來讀代碼,才更好理解一些。

結束。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM