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