国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python函數定義和調用過程詳解

2020-02-15 21:18:31
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了python函數定義和調用過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

我們可以創建一個函數來列出費氏數列

>>> 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

函數的調用會為函數局部變量生產一個新的符號表。確切說,所有函數中的變量賦值都是將值存儲在局部符號表。變量引用首先在局部符號表中查找,然后是包含函數的局部符號表,然后是全局符號表,最后是內置名字表。因此,局部變量不能在函數中直接賦值(除非用global),盡管他們可以被引用。

函數引用的實參在函數被調用的時候引入局部符號表,因此實參總是傳值調用(該值通常指的是對象的引用,而不是該對象的值),一個函數被另一個函數調用的時候,一個新的局部符號表在調用過程中被創建。python的函數是以傳址的方式工作,當調用一個函數的時候,改變指針指向。

一個函數定義的時候會講函數名引入當前子都表。函數名指代的值會被解析器當作用戶定義函數的類型。這個值可以賦予其他的名字,然后其他的名字也可以被當作函數使用,這可以作為通用的重命名機制:

>>> fib<function fib at 10042ed0>>>> f = fib>>> f(100)0 1 1 2 3 5 8 13 21 34 55 89

你可能覺得fib不是一個函數而是一個方法,因為他沒有返回值,實際上,沒有帶return的函數也返回了一個值,就是none(內建名稱),如果你想看到這個值,可以打印出來:

>>> fib(0)>>> print(fib(0))None

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 垫江县| 四川省| 临沭县| 鲁山县| 抚州市| 梁平县| 浏阳市| 舒兰市| 青河县| 汉寿县| 隆化县| 汶川县| 唐山市| 吴川市| 博湖县| 东乌珠穆沁旗| 江川县| 长白| 大安市| 浦城县| 鄂州市| 榕江县| 称多县| 敦煌市| 勐海县| 玉林市| 嘉鱼县| 咸宁市| 榆社县| 台东市| 安塞县| 北流市| 陈巴尔虎旗| 临武县| 恩施市| 贵德县| 宜兴市| 城口县| 德令哈市| 枝江市| 尼玛县|