Day7 函數(shù)1

Day7

01.函數(shù)的作用

02.函數(shù)的定義

03.函數(shù)的參數(shù)


01.函數(shù)的作用

發(fā)射子彈,左移,右移
左移-右移-左移-左移-右移-右移

  • 沒(méi)有函數(shù)的時(shí)候,問(wèn)題在哪?
    1.同樣一個(gè)功能的代碼需要重復(fù)很多次
    2.當(dāng)功能發(fā)生改變的時(shí)候,需要修改多個(gè)地方

  • 怎么解決這個(gè)問(wèn)題?
    使用函數(shù)

* 發(fā)射子彈
print('上膛')
print('瞄準(zhǔn)')
print('扣扳機(jī)')
print('======')

# 左移
def left():
    print('看后視鏡')
    print('向左打方向盤(pán)')
    print('踩油門(mén)')
    print('回正方向盤(pán)')
    print('======')

# 右移
def right():
    print('看后視鏡')
    print('向右打方向盤(pán)')
    print('踩油門(mén)')
    print('回正方向盤(pán)')
    print('======')

left()
運(yùn)行結(jié)果:
上膛
瞄準(zhǔn)
扣扳機(jī)
======
看后視鏡
向左打方向盤(pán)
踩油門(mén)
回正方向盤(pán)
======

02.函數(shù)的定義

1.函數(shù):就是對(duì)實(shí)現(xiàn)某一特定功能的代碼塊的封裝

2.作用:封裝(將功能綁定在一個(gè)函數(shù)中,想要使用這個(gè)功能的時(shí)候,直接調(diào)用這個(gè)函數(shù))

3.怎么聲明函數(shù)

 def 函數(shù)名(參數(shù)列表):
    '''函數(shù)說(shuō)明'''
    函數(shù)體

def:是python中聲明函數(shù)的關(guān)鍵字
函數(shù)說(shuō)明:對(duì)函數(shù)的功能和參數(shù)以及返回值進(jìn)行說(shuō)明
函數(shù)名:標(biāo)識(shí)符。PEP8。見(jiàn)名知義
():固定格式
參數(shù)列表:(形參列表)參數(shù)名1,參數(shù)名2,參數(shù)名3....
參數(shù)的功能是用來(lái)接收從函數(shù)外部傳到函數(shù)內(nèi)部的數(shù)據(jù)
函數(shù)體:實(shí)現(xiàn)函數(shù)功能的代碼塊,可能會(huì)包含一個(gè)return語(yǔ)句

4.初學(xué)者聲明函數(shù)的步驟

  • a.確定函數(shù)的功能
  • b.確定函數(shù)名
  • c.確定參數(shù)
    確定需不需要參數(shù)
    確定需要幾個(gè)參數(shù)
    (看實(shí)現(xiàn)函數(shù)的功能需不需要從外面?zhèn)鲾?shù)據(jù)到函數(shù)里面)
  • d.實(shí)現(xiàn)函數(shù)的功能
  • e.確定返回值

5.函數(shù)的調(diào)用
函數(shù)名(實(shí)參列表)
函數(shù)名:調(diào)用的函數(shù)一定是已經(jīng)聲明過(guò)的,想要使用什么功能就調(diào)用對(duì)應(yīng)的函數(shù)
實(shí)參列表:實(shí)參是用來(lái)給形參賦值的

函數(shù)的調(diào)用過(guò)程:
0.回到函數(shù)聲明的地方
1.使用實(shí)參給形參輔助
2.執(zhí)行函數(shù)體
3.函數(shù)體執(zhí)行完成后,回到函數(shù)調(diào)用的位置

注意:

  • 1.函數(shù)只有在調(diào)用的時(shí)候才會(huì)執(zhí)行

  • 2.函數(shù)調(diào)用的時(shí)候一定要保證每個(gè)形參都有值

  • 3.函數(shù)的調(diào)用一定是在函數(shù)的聲明后面

  • 4.一個(gè)函數(shù)可以調(diào)用多次

  • 寫(xiě)一個(gè)函數(shù),計(jì)算兩個(gè)數(shù)的和

def my_sum(number1,number2):
    """
    (這兒寫(xiě)函數(shù)的功能的描述)求兩個(gè)數(shù)的和
    :param number1: 提供第一個(gè)數(shù)據(jù),int
    :param number2: 提供第二個(gè)數(shù)據(jù),int
    :return:對(duì)返回值進(jìn)行說(shuō)明
    """
    print(number1 + number2)

my_sum(10,300)
運(yùn)行結(jié)果:
310
  • 練習(xí):聲明一個(gè)函數(shù),功能是打印10個(gè) *
def x():
    print('*' * 10)
x()
運(yùn)行結(jié)果:
**********

03.函數(shù)的參數(shù)

  • 參數(shù)的作用:從函數(shù)的外面給函數(shù)傳值

1.位置參數(shù)

傳參的時(shí)候,實(shí)參按順序給形參賦值

def func1(a,b,c):
    print(a,b,c)

func1(10,20,30)
運(yùn)行結(jié)果:
10 20 30

2.關(guān)鍵字參數(shù)

調(diào)用函數(shù)的時(shí)候:
函數(shù)名(參數(shù)=值)

func1(b=20,a=10,c=30)

# 說(shuō)明:位置參數(shù)和關(guān)鍵字參數(shù)可以混著來(lái)
print('====')
func1(10,c=30,b=20)

def func3(a,b='cc',c='bb',d='a'):
    print(a,b,c,d)

func3(10,d='100')
運(yùn)行結(jié)果:
10 20 30
====
10 20 30
10 cc bb 100

3.參數(shù)的默認(rèn)值

  • python中函數(shù)聲明的時(shí)候參數(shù)可以設(shè)置默認(rèn)值,有默認(rèn)值的參數(shù)必須放在參數(shù)列表的最后
  • 調(diào)用參數(shù)有默認(rèn)值的函數(shù),有默認(rèn)值的參數(shù)可以傳參也可以不傳參。
def func2(a,b,c=100):
    print(a,b,c)
func2(10,20,30)
func2(10,20)
運(yùn)行結(jié)果:
10 20 30
10 20 100

4.參數(shù)個(gè)數(shù)不定

  • 參數(shù)的個(gè)數(shù)不確定的時(shí)候,就在聲明函數(shù)的時(shí)候,形參的前面加一個(gè)*,將形參變成元組

  • 調(diào)用函數(shù)的時(shí)候,這個(gè)參數(shù)會(huì)將相應(yīng)的實(shí)參作為元組的元素保存起來(lái)

  • 寫(xiě)一個(gè)程序,求多個(gè)數(shù)的和

def my_sum(*numbers):
    print(numbers)
    sum1 = 0
    for item in numbers:
        sum1 += item
    print(sum1)

my_sum(10,20,30,40,50)
運(yùn)行結(jié)果:
(10, 20, 30, 40, 50)
150
# 注意:參數(shù)個(gè)數(shù)不定,可以是形參中的一部分是不定的,個(gè)數(shù)不確定的參數(shù)要放在參數(shù)的最后
def func1(char,*numbers):
    print(char,numbers)

func1('a',10,20,39)

# 參數(shù)個(gè)數(shù)不定,也可以不傳參,對(duì)應(yīng)的參數(shù)是一個(gè)空的元組
運(yùn)行結(jié)果:
a (10, 20, 39)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、初識(shí)函數(shù) 左移、右移、發(fā)射子彈 怎么解決函數(shù)使用函數(shù) 二、函數(shù)的定義 1.函數(shù):就是對(duì)實(shí)現(xiàn)某一特定功能的代碼塊...
    舊時(shí)初_2e8d閱讀 298評(píng)論 0 5
  • 01-函數(shù)的定義 1.函數(shù):就是對(duì)實(shí)現(xiàn)某一特定功能的代碼塊的封裝 2.作用:封裝(將功能綁定在一個(gè)函數(shù)中,想要使用...
    KingJX閱讀 217評(píng)論 0 4
  • 【幸福女孩 糖糖 一年級(jí) 堅(jiān)持原創(chuàng)分享第149天 2018.1.29 星期一】 我特別愛(ài)畫(huà)畫(huà),課間十分鐘,...
    何亞珂閱讀 346評(píng)論 0 0
  • 沉陷 同題詩(shī) 看不見(jiàn)的傷最深 聽(tīng)不見(jiàn)的哭最悲 落不下的淚最苦 見(jiàn)不到的人最念 看不到的笑最戀 這世間 終歸是一場(chǎng) ...
    蘋(píng)果紅閱讀 292評(píng)論 0 1
  • 家人和我還有家寵都健康快樂(lè) 我有喜歡的工作多多的錢(qián) 我還是有多多多多多多多多多多多的moneymoney??????
    王十三3閱讀 74評(píng)論 0 0

友情鏈接更多精彩內(nèi)容