剛開始學習python,之前只有一些c的基礎,也忘得差不多了,現在想邊學習邊總結和分享收獲~
看書時看了return的用法,可是后來和print混了,老是感覺可以將函數return值直接顯示,但不是這樣的。
看到知道上的一個例子:
代碼 (1) ++++++++++++++++++++++++++++++++++
x = 1
y = 2
def add (x, y):
z = x + y
return z
print (add(x,y))
代碼 (2) ++++++++++++++++++++++++++++++++++
x = 1
y = 2
def add (x, y):
z = x + y
print z
print (add(x,y))
輸出結果 (相同) ++++++++++++++++++++++++++++++++++
>>> 3
這里代碼1的結果是打印返回值而得到的,而代碼2的結果是在打印函數add (x, y)時,add (x, y)執行print z語句而得到的,其返回值是None,所以輸出結果應為
3
None
返回值只有打印才能得到,例如
def a():
print('ss')
def b():
return 'ss'
直接運行a(),是有結果的,而直接運行b()是沒有結果的,只有運行print(b())才可以顯示'ss'。
另外,將函數賦值給變量可以獲得返回值,如上函數b(),加上
c=b()
c
是有結果的,因為c得到了b()的返回值'ss'。
另外,在交互模式下,return的結果會自動打印出來,而作為腳本單獨運行時則需要print函數才能顯示。