python函數(shù)定義和調(diào)用過程詳解
這篇文章主要介紹了python函數(shù)定義和調(diào)用過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
我們可以創(chuàng)建一個函數(shù)來列出費氏數(shù)列
>>> def fib(n): # write Fibonacci series up to n ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a < n: ... print(a, end=' ') ... a, b = b, a+b ... print() ... >>> # Now call the function we just defined: ... fib(2000) 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
函數(shù)的調(diào)用會為函數(shù)局部變量生產(chǎn)一個新的符號表。確切說,所有函數(shù)中的變量賦值都是將值存儲在局部符號表。變量引用首先在局部符號表中查找,然后是包含函數(shù)的局部符號表,然后是全局符號表,最后是內(nèi)置名字表。因此,局部變量不能在函數(shù)中直接賦值(除非用global),盡管他們可以被引用。
函數(shù)引用的實參在函數(shù)被調(diào)用的時候引入局部符號表,因此實參總是傳值調(diào)用(該值通常指的是對象的引用,而不是該對象的值),一個函數(shù)被另一個函數(shù)調(diào)用的時候,一個新的局部符號表在調(diào)用過程中被創(chuàng)建。python的函數(shù)是以傳址的方式工作,當(dāng)調(diào)用一個函數(shù)的時候,改變指針指向。
一個函數(shù)定義的時候會講函數(shù)名引入當(dāng)前子都表。函數(shù)名指代的值會被解析器當(dāng)作用戶定義函數(shù)的類型。這個值可以賦予其他的名字,然后其他的名字也可以被當(dāng)作函數(shù)使用,這可以作為通用的重命名機(jī)制:
>>> fib <function fib at 10042ed0> >>> f = fib >>> f(100) 0 1 1 2 3 5 8 13 21 34 55 89
你可能覺得fib不是一個函數(shù)而是一個方法,因為他沒有返回值,實際上,沒有帶return的函數(shù)也返回了一個值,就是none(內(nèi)建名稱),如果你想看到這個值,可以打印出來:
>>> fib(0) >>> print(fib(0)) None
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python中函數(shù)的定義及其調(diào)用
- python def 定義函數(shù),調(diào)用函數(shù)方式
- Python函數(shù)必須先定義,后調(diào)用說明(函數(shù)調(diào)用函數(shù)例外)
- Python 跨.py文件調(diào)用自定義函數(shù)說明
- python調(diào)用自定義函數(shù)的實例操作
- Python自定義函數(shù)定義,參數(shù),調(diào)用代碼解析
- Python自定義函數(shù)的創(chuàng)建、調(diào)用和函數(shù)的參數(shù)詳解
- python函數(shù)的定義和調(diào)用案例講解
相關(guān)文章
Python IDE環(huán)境之 新版Pycharm安裝詳細(xì)教程
這篇文章主要介紹了Python IDE環(huán)境之 新版Pycharm安裝教程,本文教程給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
python實現(xiàn)圖像檢索的三種(直方圖/OpenCV/哈希法)
這篇文章主要介紹了python實現(xiàn)圖像檢索的三種(直方圖/OpenCV/哈希法),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python flashtext文本搜索和替換操作庫功能使用探索
本文將深入介紹Python flashtext庫,包括其基本用法、功能特性、示例代碼以及實際應(yīng)用場景,以幫助大家更好地利用這個有用的工具2024-01-01
python 使用pygame工具包實現(xiàn)貪吃蛇游戲(多彩版)
這篇文章主要介紹了python 使用pygame工具包實現(xiàn)貪吃蛇游戲,本篇給大家分享的是一個多彩版,通過實例代碼給大家講解,非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10
Python實現(xiàn)連接兩個無規(guī)則列表后刪除重復(fù)元素并升序排序的方法
這篇文章主要介紹了Python實現(xiàn)連接兩個無規(guī)則列表后刪除重復(fù)元素并升序排序的方法,涉及Python針對列表的合并、遍歷、判斷、追加、排序等操作技巧,需要的朋友可以參考下2018-02-02

