1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        函數(shù)

        共 1387字,需瀏覽 3分鐘

         ·

        2020-09-02 03:58

        一、引入——代碼復(fù)用情境

        ? ? 有時(shí)候我們需要反復(fù)使用某些代碼,比如組合圖形出現(xiàn)多個(gè)五角星。如果到處拷貝這些代碼,會(huì)出現(xiàn)弊端,一是程序變得冗長,可讀性差;二是一旦需要修改或擴(kuò)充,要在各處同步改代碼,容易出錯(cuò);三是可維護(hù)性差。

        ? ? ? 那么我們可以用什么方法解決呢?


        二、函數(shù)(functions)

        ? ?? 我們把這些重復(fù)代碼單獨(dú)收集起來,組成一個(gè)“函數(shù)”對(duì)象,并賦予一個(gè)名稱,在需要用到這些代碼的時(shí)候就通過名稱加括號(hào)來“呼叫”這些“函數(shù)” 。前者稱為函數(shù)定義(define),后者稱為函數(shù)調(diào)用(call)。

        三、定義函數(shù):def語句

        ? ?? ? 函數(shù)定義語句def:def <函數(shù)名稱>([<參數(shù)表>]):

        ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <語句塊>

        ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? [return <返回值>]

        ?? ? 幾個(gè)要素:def關(guān)鍵字、函數(shù)名稱(后跟一對(duì)圓括號(hào))、(可選的)參數(shù)表、語句塊、(可選的)返回值。




        四、函數(shù)的參數(shù)

        ? ? 如果代碼塊里沒有可供調(diào)節(jié)的選項(xiàng),可以定義沒有參數(shù)的簡(jiǎn)單函數(shù)。一般函數(shù)會(huì)帶有可供調(diào)節(jié)的選項(xiàng)參數(shù),參數(shù)可以有多個(gè),如畫五角星的函數(shù),包含兩個(gè)參數(shù):大小size和顏色color。

        五、函數(shù)的返回值

        有時(shí)候函數(shù)會(huì)有返回值,如math模塊中求平方根的函數(shù)math.sqrt(n)返回n的平方根。return語句負(fù)責(zé)結(jié)束函數(shù)執(zhí)行,并返回。return語句可以根據(jù)需要,出現(xiàn)在語句塊中的任何位置。



        六、函數(shù)定義中的代碼塊

        由于函數(shù)定義def語句僅僅是把代碼塊“打包封裝” ,當(dāng)def語句執(zhí)行的時(shí)候,代碼塊并不會(huì)被執(zhí)行,所以,在執(zhí)行def語句的時(shí)候,除非語句塊中包含了明顯的語法錯(cuò)誤。Python解釋器是不會(huì)檢查語句塊中其它錯(cuò)誤的。



        七、調(diào)用函數(shù):call function

        def定義了函數(shù)之后,函數(shù)名稱僅代表這個(gè)“函數(shù)對(duì)象” ,如果需要執(zhí)行語句塊代碼,需要有如下的要素:函數(shù)名稱(后加括號(hào))、括號(hào)內(nèi)放置參數(shù)的具體值。沒有或者不需要返回值:func(a,b,c) #如調(diào)用star。獲取返回值:v = func(a,b,c)。



        八、拓展——隨機(jī)數(shù)模塊random

        ? 產(chǎn)生一定范圍內(nèi)的隨機(jī)數(shù)

        random.randint(min,max)

        ? 從列表中隨機(jī)選擇

        random.choice(list)



        練一練:畫組合圖形

        ? 定義一個(gè)多邊形函數(shù):

        def polygon(n,size,color):

        ? 繪制正n邊形,邊長為size,填充顏色color

        ? 編寫一個(gè)程序,繪制現(xiàn)代時(shí)尚幾何多邊形色塊抽象裝飾畫

        ? 隨機(jī)模塊random

        ? t.goto(x,y)


        成品圖樣式:

        上期參考答案



        推薦閱讀

        if語句與while語句

        迭代循環(huán):for語句


        《數(shù)據(jù)科學(xué)與人工智能》公眾號(hào)推薦朋友們學(xué)習(xí)和使用Python語言,需要加入Python語言群的,請(qǐng)掃碼加我個(gè)人微信,備注【姓名-Python群】,我誠邀你入群,大家學(xué)習(xí)和分享。


        關(guān)于Python語言,有任何問題或者想法,請(qǐng)留言或者加群討論。

        瀏覽 32
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            18禁国产精品久久久久久久久 | 欧美老妇XXX | 国产情侣一区二区三区 | 俺去也官网| 男女抽插网站 | 日日躁夜夜躁狠狠躁 | 成人秘 高潮片免费视频在线观看 | 亚洲视频完整版在线观看 | 女生裸体无遮挡网站 | 亚洲中文影院 |