欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python函數(shù)定義和調(diào)用過程詳解

 更新時(shí)間:2020年02月09日 14:58:44   作者:郭雪原  
這篇文章主要介紹了python函數(shù)定義和調(diào)用過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python函數(shù)定義和調(diào)用過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

我們可以創(chuàng)建一個(gè)函數(shù)來列出費(fèi)氏數(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)用會(huì)為函數(shù)局部變量生產(chǎn)一個(gè)新的符號(hào)表。確切說,所有函數(shù)中的變量賦值都是將值存儲(chǔ)在局部符號(hào)表。變量引用首先在局部符號(hào)表中查找,然后是包含函數(shù)的局部符號(hào)表,然后是全局符號(hào)表,最后是內(nèi)置名字表。因此,局部變量不能在函數(shù)中直接賦值(除非用global),盡管他們可以被引用。

函數(shù)引用的實(shí)參在函數(shù)被調(diào)用的時(shí)候引入局部符號(hào)表,因此實(shí)參總是傳值調(diào)用(該值通常指的是對(duì)象的引用,而不是該對(duì)象的值),一個(gè)函數(shù)被另一個(gè)函數(shù)調(diào)用的時(shí)候,一個(gè)新的局部符號(hào)表在調(diào)用過程中被創(chuàng)建。python的函數(shù)是以傳址的方式工作,當(dāng)調(diào)用一個(gè)函數(shù)的時(shí)候,改變指針指向。

一個(gè)函數(shù)定義的時(shí)候會(huì)講函數(shù)名引入當(dāng)前子都表。函數(shù)名指代的值會(huì)被解析器當(dāng)作用戶定義函數(shù)的類型。這個(gè)值可以賦予其他的名字,然后其他的名字也可以被當(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不是一個(gè)函數(shù)而是一個(gè)方法,因?yàn)樗麤]有返回值,實(shí)際上,沒有帶return的函數(shù)也返回了一個(gè)值,就是none(內(nèi)建名稱),如果你想看到這個(gè)值,可以打印出來:

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python+wxPython實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音樂播放器

    Python+wxPython實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音樂播放器

    這篇文章主要為大家詳細(xì)介紹了如何使用Python編程語言和wxPython模塊創(chuàng)建一個(gè)簡(jiǎn)單的音樂播放器,文中的示例代碼講解詳細(xì),感興趣的可以了解下
    2023-09-09
  • 淺析Python中的賦值和深淺拷貝

    淺析Python中的賦值和深淺拷貝

    Python中,對(duì)象的賦值,拷貝(深/淺拷貝)之間是有差異的,如果使用的時(shí)候不注意,就可能產(chǎn)生意外的結(jié)果。接下來通過本文給大家分享Python中的賦值和深淺拷貝,感興趣的朋友一起看看吧
    2017-08-08
  • Python 實(shí)現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換

    Python 實(shí)現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換

    這篇文章主要介紹了Python 實(shí)現(xiàn)list,tuple,str和dict之間的相互轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python的信號(hào)庫Blinker用法詳解

    Python的信號(hào)庫Blinker用法詳解

    在本篇文章里小編給大家整理了一篇關(guān)于Python的信號(hào)庫Blinker用法詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • python中通過預(yù)先編譯正則表達(dá)式提高效率

    python中通過預(yù)先編譯正則表達(dá)式提高效率

    Python是一個(gè)很酷的語言,因?yàn)槟憧梢栽诤芏痰臅r(shí)間內(nèi)利用很少的代碼做很多事情,再加上正則表達(dá)式就更能體現(xiàn)其效果,下面這篇文章主要給大家介紹了關(guān)于python中通過預(yù)先編譯正則表達(dá)式提高效率的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • 四個(gè)Python操作Excel的常用腳本分享

    四個(gè)Python操作Excel的常用腳本分享

    在數(shù)字化時(shí)代,很多人工作中經(jīng)常和excel打交道。本文和大家分享四個(gè)Python操作excel的腳本,讓你工作效率更高,需要的小伙伴可以參考一下
    2022-11-11
  • python文件名批量重命名腳本實(shí)例代碼

    python文件名批量重命名腳本實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于python文件名批量重命名腳本的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python爬蟲scrapy基于CrawlSpider類的全站數(shù)據(jù)爬取示例解析

    python爬蟲scrapy基于CrawlSpider類的全站數(shù)據(jù)爬取示例解析

    這篇文章主要介紹了python爬蟲scrapy基于CrawlSpider類的全站數(shù)據(jù)爬取示例解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • python實(shí)戰(zhàn)游戲之史上最難最虐的掃雷游戲沒有之一

    python實(shí)戰(zhàn)游戲之史上最難最虐的掃雷游戲沒有之一

    這篇文章主要介紹了使用 python 實(shí)現(xiàn)掃雷游戲,不同于傳統(tǒng)過時(shí)的掃雷,今天我們用 Python 增加了新花樣,文中給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • java直接調(diào)用python腳本的例子

    java直接調(diào)用python腳本的例子

    有時(shí)需求使用JAVA直接調(diào)用python腳本,執(zhí)行一些服務(wù)器監(jiān)控的事情。 本文給出一個(gè)java直接調(diào)用python腳本的例子
    2014-02-02

最新評(píng)論