您好,登錄后才能下訂單哦!
如何在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
1、云計算,典型應用OpenStack。2、WEB前端開發,眾多大型網站均為Python開發。3.人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。4、系統運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數據分析。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。