python中的return的返回與執行

2022-04-19 05:04:42 字數 2893 閱讀 5756

author:headsen  chen  

date:2018-03-21  15:12:09

notice:created by  headsen chen himself  and not allowed to copy ,or you count law  questions.

1,列印函式名和列印函式的執行過程的區別:

總結:列印函式名print(a),結果是把該函式的記憶體位址列印出來了。

列印函式的執行:print(a( )),列印該函式的執行程式中的print的部分,最後把return的內容也列印出來,沒有定義return的函式列印none。

擴充套件:函式只有被呼叫或者執行的時候才會產生返回值的,不呼叫的時候就是放在記憶體中的**主體的一部分。

當return中有執行的函式的返回值問題的取值

**過程解析如下:

print(b) 列印變數b(函式)的記憶體位址,不會對b函式有任何的影響,b函式不會執行。

print( b() ) :

《1》先執行b 函式  ,由於b函式沒有定義主體內容,返回空

《2》列印b函式的返回值:return a() ,由於此時的b函式在執行的,所以return裡面的函式也會執行。

《2.1》,執行 a()  ,列印 111出來。

《2.2》,由於a() 函式裡面沒有定義return的值,取none作為a()函式的返回值, 也把這none return 給b函式。此時的b函式的返回值也是none,所以print(b())= none

print(a()):1 列印程式執行時的主體中的print內容

2 列印該函式執行的返回值

將a函式的返回值也做b函式的返回值

2,函式內容主體中執行:

3,在函式的return中執行:

**********===》

總結:當乙個函式執行的時候,當該函式的return內容是乙個可執行的程式的時候,該程式也會正常的執行。不過此時的返回值的概念是:列印該程式中的print部分,並列印該函式的返回值,若沒有定義返回值就返回none

return  a() 的情況: 儘管這次return的是a() ,但由於b()函式並沒有呼叫,仍然還是列印兩個函式的記憶體位址

**********===》

5,函式中的 return中的內容是常量和變數(可執行的函式)的情況下的函式執行問題

return中為乙個常量時: 因為b()函式裡面是空的。而return的a是個變數,就是乙個記憶體位址

return中是乙個變數(可執行的函式),則當b函式執行時,b函式的主體和return裡面的程式都會執行,效果如下:

**********===》

6,列印傳遞引數的高階函式的返回值,一定要理解a(f)就是在執行a函式

解析:列印 a (f)函式的整個過程相當於列印不帶引數的 print(a())的過程!!!!,即a(b)函式會被執行並且列印返回值。

同理:給乙個高階函式傳參後賦值也會執行該函式,例如:

上例中的b =a(f)  分兩步理解:

1,a(f)  ,相當於不帶引數的a(),意思是執行a函式,a(f) 就是匯入引數 f 的情況下執行該函式

2,b= a(f), 就是把a(f)函式執行後的返回值 賦值給b,供後續的變數b來呼叫。

如何理解python中的return

首先要了解,函式是什麼?書上可能會說函式是完成功能的模組之類的話。其實說白了,函式就是個你招來的工人。你給他一些材料,告訴他怎麼用這些材料拼裝,然後他負責把拼裝好的成品交給你。材料就是函式的引數,成品是函式的輸出,而怎麼拼裝就是你寫的函式體 了。比如這段 def worker a b,c x a b...

python中的return如何理解

首先要了解,函式是什麼?書上可能會說函式是完成功能的模組之類的話。其實說白了,函式就是個你招來的工人。你給他一些材料,告訴他怎麼用這些材料拼裝,然後他負責把拼裝好的成品交給你。材料就是函式的引數,成品是函式的輸出,而怎麼拼裝就是你寫的函式體 了。比如這段 def worker a,b,c x a b...

Python中return和print的作用及區別

print的作用是輸出資料到控制端,就是列印在你能看到的介面上 print的作用還是比較容易理解的 print 1 print asdfghj 輸出結果 1asdfghjreturn的作用之一是返回計算的值 沒有return語句 x 1y 2def add x,y z x y print add x...