python自定義函數(shù)中的return和print使用及說明
首先,先來了解一下return
以下所有代碼都是在jupyter notebook中運行的.
自定義函數(shù)時
用return語句指定返回值,即函數(shù)運行最后得出的結(jié)果
舉個例子:
def Add(x,y): z = x+y return z
def Ad(x,y): z = x+y return x
上邊是我定義的兩個函數(shù),除了名字不一樣之外,唯一不同的就是return后的返回值,那么運行的結(jié)果是怎樣的呢?
Add(1,2)
返回值 3
Ad(1,2)
返回值1
形成這樣結(jié)果的原因就在于Add函數(shù)的返回值是兩個參數(shù)的和,Ad函數(shù)返回的是第一個參數(shù)的值,所以函數(shù)運行最后的返回值是什么,除了函數(shù)內(nèi)部代碼塊的運行之外,很重要得意一點在于自定義函數(shù)最后要求返回的值是什么。
函數(shù)代碼塊執(zhí)行到return語句時,會退出函數(shù),就算后邊還有屬于自定義函數(shù)的代碼,也不會被執(zhí)行
再舉個例子:
def Add_1(x,y): z = x+y return z print(x,y)
在前邊例子的基礎(chǔ)上,加了一行代碼,這行代碼要達到的效果是打印出傳入的參數(shù)值,我們看下執(zhí)行效果
Add_1(1,2)
返回值3
并沒有打印傳入的參數(shù)值,因為代碼執(zhí)行到return語句就結(jié)束了,后邊的代碼不會被執(zhí)行。
如果return后還有代碼需要被執(zhí)行怎么辦?
可以將return語句放在try…finally語句中,return語句被執(zhí)行后會繼續(xù)執(zhí)行finally后的語句。
來,還是舉個例子:
def Add_2(x,y): try: z = x+y return z finally: print(x,y)
依然是在上一個例子的基礎(chǔ)上進行了一點點改動,那么來看一下運行的結(jié)果吧
(這里加上In[]和Out[]方便看)
In[2]: Add_2(1,2)
返回結(jié)果
1 2
Out[2]: 3
很明顯return后的代碼也被執(zhí)行了!
不加return語句會有怎樣的結(jié)果
不加return語句,就沒有返回值
舉個例子:
def Add_3(x,y): x+y
這樣自定義函數(shù)不會報錯,也可以運行,我們看一下調(diào)用函數(shù)的結(jié)果
Add_3(1,2)
執(zhí)行后,不會顯示結(jié)果。那么不用return是不是就不能看到函數(shù)運行結(jié)果了?
當(dāng)然不是,用print也可以顯示結(jié)果,還是舉個例子來看:
def Add_4(x,y): print(x+y)
來看下函數(shù)調(diào)用的結(jié)果:
Add_4(1,2)
返回值3
可以顯示結(jié)果,但是和其他print函數(shù)打印出來的結(jié)果一樣,沒有Out[]標(biāo)識。
如果不是很理解這句話的意思也沒關(guān)系,我來看一個迷糊很多人的問題
在自定義函數(shù)中,return和print有什么區(qū)別
很重要的一點區(qū)別就在與兩者顯示出來的值的結(jié)果。
下邊直接上傳圖片了,更直觀一點
是不是能清楚的看出區(qū)別了,雖然用return和print都可以顯示交互結(jié)果,但是如果要把函數(shù)作為參數(shù)傳入別的函數(shù)時,就需要return的返回值了.
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中時間datetime的處理與轉(zhuǎn)換用法總結(jié)
今天小編就為大家分享一篇關(guān)于Python中時間datetime的處理與轉(zhuǎn)換用法總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02python批量設(shè)置多個Excel文件頁眉頁腳的腳本
這篇文章主要介紹了python批量設(shè)置多個Excel文件頁眉頁腳的源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03Keras搭建Mask?R-CNN實例分割平臺實現(xiàn)源碼
這篇文章主要為大家介紹了Keras搭建Mask?R-CNN實例分割平臺實現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05Python基于sftp及rsa密匙實現(xiàn)遠程拷貝文件的方法
這篇文章主要介紹了Python基于sftp及rsa密匙實現(xiàn)遠程拷貝文件的方法,結(jié)合實例形式分析了基于RSA秘鑰遠程登陸及文件操作的相關(guān)技巧,需要的朋友可以參考下2016-09-09pytorch教程resnet.py的實現(xiàn)文件源碼分析
torchvision.models這個包中包含alexnet、densenet、inception、resnet、squeezenet、vgg等常用的網(wǎng)絡(luò)結(jié)構(gòu),并且提供了預(yù)訓(xùn)練模型,可以通過簡單調(diào)用來讀取網(wǎng)絡(luò)結(jié)構(gòu)和預(yù)訓(xùn)練模型2021-09-09