Python基礎(chǔ)學(xué)習(xí)之簡單理解函數(shù)
一、什么是函數(shù)
注意不要和數(shù)學(xué)中的函數(shù)搞混了
那么到底什么是函數(shù)呢?
函數(shù)其實就是當(dāng)我們在程序中需要大量重復(fù)的代碼塊,我們將其封裝成一個代碼塊,用一個名字來表示,而這個名字是標(biāo)識符。需要遵循標(biāo)識符的規(guī)則。
函數(shù)的優(yōu)點就是避免了代碼重復(fù)率,提高開發(fā)效率。
舉個例子:我們需要讓電腦給我們表白(騷話),輸出一段情話,就比如這一段
"我愛你"
"我要給你生猴子"
"啊啊啊,好喜歡你"
按照之前所學(xué),一個一個的print()就行了嘛
但是我需要你什么時候都能給我來一段表白(騷話)呢?
這個時候恐怕用循環(huán)就不妥了吧,就用我們的函數(shù)了
當(dāng)然,python自帶的有很多內(nèi)置函數(shù),而我們自己定義的函數(shù)叫做自定義函數(shù)。
二、無參函數(shù)
無參函數(shù)是最基本的函數(shù),基本上很少用到,都是拿來練習(xí)理解函數(shù)的。
定義一個無參函數(shù)
def 函數(shù)名字(): 代碼
調(diào)用這個無參函數(shù)
函數(shù)名字()
把我們的例子打出來
# 定義 def Qinghua(): print("我愛你") print("我要給你生猴子") print("啊啊啊,好喜歡你") # 調(diào)用 Qinghua()
運行結(jié)果:
好像,并沒有多大作用嗎!
其實不然,看這個
# 定義 def Qinghua(): print("我愛你") print("我要給你生猴子") print("啊啊啊,好喜歡你") # 調(diào)用 Qinghua() for i in range(10): print("經(jīng)過了{(lán)}秒".format(i)) Qinghua()
他可以在你任何想使用的時候,都可以通過調(diào)用的形式使用,而不需要你再打了。
就像變量一樣,不過函數(shù)要比普通的變量復(fù)雜一些
三、有參函數(shù)
函數(shù)是可以傳遞參數(shù)的,而參數(shù)分為形參和實參
形參就是形式上的參數(shù),就像一家公司有員工,清潔工,董事長等職位,但是有些職位卻空著,這些空著的職位,就相當(dāng)于形參,需要有人去做這個職位,才能發(fā)揮作用,而這個能發(fā)揮職位作用的人,就叫做實參(實際參數(shù))。
而我們定義有參函數(shù)的時候,需要定義形參來表示我們的函數(shù),有這些東西,你想讓我們的函數(shù)去發(fā)揮作用的話,就需要給我們傳遞實際參數(shù)。
定義和調(diào)用
有參有參,在哪里體現(xiàn)的有參呢?
在我們定義的時候,我們需要在括號里面定義形參,用于接收參數(shù)
而在我們調(diào)用的時候,也是通過函數(shù)名后面的括號傳遞實參的
四、實例
我們會定義一個有參函數(shù)來使兩個參數(shù)拼接在一起,并遍歷
def PinJie(a, b): str_ = str(a)+str(b) print(str_) for i in str_: print(i) PinJie("sasa", 4564) #也可以這么寫 """ PinJie(a="sasa",b=4564) 這樣寫的好處是 就算你的位置寫錯了 參數(shù)傳遞的也還是對的 也就是說,參數(shù)傳遞的位置不固定 就像這樣 PinJie (b=4564, a='sasa') 是完全一樣的 """
運行:
五、return的使用
之前說過,return一般是使用在函數(shù)中的,那么他的作用是什么呢?
先根據(jù)見名知意的規(guī)律來解讀:返回
確實,他的作用就是返回,返回值
通過return xxx
來達(dá)到返回值得目的,這里是返回了xxx這個東西,至于xxx 是什么。。眾所周知,xxx可以什么都是!
那么返回的值到了哪里呢?到了函數(shù)的調(diào)用那里,這個函數(shù)名字(參數(shù))
就是返回的值
例子
看上面的那個函數(shù),他顯示拼接后的結(jié)果,使用了print()函數(shù)(內(nèi)置函數(shù))
那么我們使用return試試
def PinJie(a, b): str_ = str(a)+str(b) return str_ for i in str_: print(i) PinJie("sasa", 4564)
那么會怎么樣呢?
答案是,什么都不會顯示!
為什么呢?因為我們沒有使用print()函數(shù)(瞎說,那不是有!)
為什么這么說呢?因為上次講過,return用于結(jié)束一段代碼,而我們在中間return,下面的訓(xùn)話也就不會被執(zhí)行,就直接結(jié)束了。
怎么顯示循環(huán)呢?把return放在函數(shù)最下面,我就不展示了,自己去試試,不然優(yōu)點水字?jǐn)?shù)?。ü奉^保命?。?/p>
那么上面說了返回的值被 **函數(shù)名()**接收了,那么他現(xiàn)在就是一個值了,想要讓它顯示,那么只能用print()了??!
def PinJie(a, b): str_ = str(a)+str(b) return str_ for i in str_: print(i) p = PinJie("sasa", 4564) print(p)
結(jié)果:
他就顯示了返回值,也就是函數(shù)拼接的結(jié)果
六、結(jié)語
先說這么多吧,不早了。
興趣是最好的老師,堅持是不變的真理。
學(xué)習(xí)不要急躁,一步一個腳印,踏踏實實的往前走。
每天進(jìn)步一點點,日積月累之下,你就會發(fā)現(xiàn)自己已經(jīng)變得很厲害了。
到此這篇關(guān)于Python基礎(chǔ)學(xué)習(xí)之簡單理解函數(shù)的文章就介紹到這了,更多相關(guān)Python函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python如何統(tǒng)計字符串漢字?jǐn)?shù)量
這篇文章主要介紹了python如何統(tǒng)計字符串漢字?jǐn)?shù)量問題,2024-05-05Python字符串、整數(shù)、和浮點型數(shù)相互轉(zhuǎn)換實例
今天小編就為大家分享一篇Python字符串、整數(shù)、和浮點型數(shù)相互轉(zhuǎn)換實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Ubuntu 下 vim 搭建python 環(huán)境 配置
這篇文章主要介紹了Ubuntu 下 vim 搭建python環(huán)境配置,需要的朋友可以參考下2017-06-06編寫Python小程序來統(tǒng)計測試腳本的關(guān)鍵字
這篇文章主要介紹了編寫Python小程序來統(tǒng)計測試腳本的關(guān)鍵字的方法,文中的實例不僅可以統(tǒng)計關(guān)鍵字?jǐn)?shù)量,還可以按主關(guān)鍵字來歸類,需要的朋友可以參考下2016-03-03對pandas中兩種數(shù)據(jù)類型Series和DataFrame的區(qū)別詳解
今天小編就為大家分享一篇對pandas中兩種數(shù)據(jù)類型Series和DataFrame的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11