999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

創造新文明

2018-08-23 02:07:56王麗麗
中國信息技術教育 2018年13期
關鍵詞:定義

王麗麗

● 情境導入

上期文章提到阿派破解了羊皮卷的咒語。當他(她)大聲朗讀出咒語時,只見一道金光閃現,現出一副金色卡牌。阿派取出第一張卡牌,上面畫了一朵玫瑰。他(她)隨手一揚,卡牌就化作了一朵紅玫瑰。

:在這一課中,學生將了解自定義函數的作用和創建方法,并利用自定義函數實現從一朵到一簇玫瑰花的繪制。學生還將了解到類的特點,使用類和對象描述玫瑰的特征。

● 解密玫瑰卡牌——高級海龜與函數

在之前的《神秘的圖騰》一文中,我們已經了解了Python中海龜畫圖的基本使用方法。如圖1的方法一,利用turtle繪制一朵紅玫瑰。其中的for語句,我們曾在《過招守護使》一文中接觸過,在這里利用for i in range(20)語句,實現繪制20瓣花瓣的效果。另外,circle的語法為turtle.circle(radius, extent=None, steps=None)。參數radius表示半徑,為正數時逆時針畫圖,負數時順時針。extent表示圓的弧度,如果缺省則表示畫完整的圓。參數steps用于設定邊數,如果steps為6,則表示畫六邊形,缺省為畫圓。圖1中的t.circle(i,80)表示逆時針繪制半徑為i、弧度為80的圓弧,這樣就繪制了玫瑰葉子的一條邊緣線。

Python定義函數使用def關鍵字,def是define的縮寫,表示“定義”的意思,一般格式如下:

def函數名(參數列表):函數體

函數名最好能見名知意,體現函數的功能,以字母、數字以及下畫線組成,不能以數字開始。如圖1的方法二,利用def Rose()自定義一個名為Rose的函數,函數體即左側的一大塊代碼塊,注意函數體要比def縮進四個空格,因為Python使用縮進表示結構層次。調用自定義函數和調用內建函數一樣,只需要函數名和參數即可。如圖1中的Rose()表示調用一次函數,繪制一朵玫瑰。如果需要反復多次繪制玫瑰,那我們可以多次調用自定義函數來完成快速繪制。

:Python提供了許多內建函數實現指定功能,如print()用于屏幕打印。我們也可以自己創建函數,實現特定的功能。在函數體內的變量,其作用域只限該函數內,在函數執行結束后就不能再用了。函數是重復利用代碼、提高效率的一種方式。

● 設計玫瑰花簇卡牌——函數的多次調用

如果需要繪制50朵玫瑰花,那上文的重復調用函數的方法,顯然還是不方便。我們可以利用for語句來實現函數的多次調用。如上頁圖2,一條for語句繪制50朵玫瑰花,且出現在畫布的隨機位置。

:結合函數和for語句,可以很方便地重復利用代碼。本例中,除了設置玫瑰的隨機位置,還可以試一試隨機大小、隨機顏色等,讓運行效果更好。

● 表述玫瑰的特征——類和對象

玫瑰有很多品種,植株生長的高度也各不相同。如圖3,將所有的玫瑰定義為rose這一類。不同的玫瑰具有各自的特征,如品名(name)和植株高度(height),這就是類的屬性。玫瑰還可以有不同的狀態,如植株正在生長(grow),這就是類的方法。

依據花朵大小來分類,玫瑰一般可分為:蔓性種、迷你種、中輪種和大輪種。我們可以在玫瑰(rose)這一父類下創建四個子類。其中的“大輪種(Hybrid)”這一子類的玫瑰,又有著不同的花朵顏色(color)屬性,而且花朵可能處在不同的狀態,如正在綻放(bloom)。

:類是具有相似屬性和方法的對象的集合。一個對象就是某個類的實例。每個對象的屬性值,根據對象的不同而不同,如不同品種的玫瑰花的顏色可能不同。通過類的創建,將事物分類,在編程時,更符合人的認知習慣,且結構清晰,易于維護。

接下來,在Python中代碼實現。首先,所有的玫瑰可以定義為一個類。如圖4,利用class關鍵字來定義類,后面跟上類名rose。然后,定義基本屬性,即品名(name)和植株高度(height)。再定義一個名為__init__( )的特殊方法,在類的實例化操作時會自動調用該方法。接著,將玫瑰的生長狀態定義為grow方法。這里,我們用簡單的print函數輸出玫瑰的當前狀態。如果有需要,還可以嘗試其他效果。

:與定義一般的函數不同,定義類方法必須包含參數self,而且self為第一個參數,代表類的實例。self參數可以從類中的一個函數調用類中或者父類中的另外一個函數。此外,Python支持參數的格式化輸出。如圖4,%s是字符串對應的格式通配符,%d是數值整型對應的格式通配符。

依據圖3的分類,繼續創建子類hybrid(大輪種)。當然,大輪種和其他三類都屬于rose類,因此均繼承了父類rose的特征。同時,它又具備自己的特征,如顏色屬性(如圖5)。

:現在,我們已經創建了兩個類。注意在定義子類hybrid時,需要在類的參數(括號中)注明父類rose的名稱,表明隸屬關系。這樣,子類可以繼承父類的特征。

將hybrid類“實例化”后,就得到了一個對象。如圖6,flower1屬于hybrid類的一朵玫瑰,品名是“卡羅拉”,植株高度為90厘米,顏色為紅色。同一個類,還可以創建多個對象,如通過實例化產生其他玫瑰,有不同的顏色和高度等特征。

最后,運行程序,效果如圖7。

● 設計新卡牌

之后的卡牌牌面都是空白,你可以利用類和函數來設計新卡牌,快速建造其他物品,創造一個新的文明世界。

猜你喜歡
定義
以愛之名,定義成長
活用定義巧解統計概率解答題
例談橢圓的定義及其應用
題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
嚴昊:不定義終點 一直在路上
華人時刊(2020年13期)2020-09-25 08:21:32
定義“風格”
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
有壹手——重新定義快修連鎖
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 欧洲欧美人成免费全部视频| 在线无码九区| jizz国产视频| 91精品啪在线观看国产60岁| 波多野结衣中文字幕一区二区| 91久久精品日日躁夜夜躁欧美| 国产亚洲欧美日韩在线一区| 午夜日b视频| 青青操视频在线| 久久网综合| 久草青青在线视频| 97se亚洲综合在线天天| 亚洲成人高清无码| 伊人久综合| 中文字幕av一区二区三区欲色| 亚洲综合香蕉| 毛片免费在线视频| 国模粉嫩小泬视频在线观看| 亚洲色图综合在线| 亚洲区一区| 国产毛片不卡| 精品夜恋影院亚洲欧洲| 免费国产好深啊好涨好硬视频| 99国产在线视频| AV在线麻免费观看网站 | AV在线天堂进入| Aⅴ无码专区在线观看| 亚洲精品波多野结衣| 这里只有精品在线播放| 91国内视频在线观看| 成年女人18毛片毛片免费| 综合成人国产| 久久久四虎成人永久免费网站| 凹凸国产分类在线观看| 国产精品美女免费视频大全| 午夜精品国产自在| 久久精品国产电影| 国产一级在线播放| 国产免费久久精品99re丫丫一| 色欲综合久久中文字幕网| 久久www视频| 国产丝袜啪啪| 高清视频一区| 欧美日韩激情在线| 国产成人乱无码视频| 91欧洲国产日韩在线人成| 亚洲香蕉在线| 午夜一区二区三区| 91国内在线观看| 久久亚洲美女精品国产精品| 免费观看国产小粉嫩喷水| 国产欧美日韩专区发布| 精品国产中文一级毛片在线看| 嫩草影院在线观看精品视频| 欧美日韩中文国产| 麻豆AV网站免费进入| 久久动漫精品| 久久青草热| 日韩欧美网址| 毛片免费试看| 欧美日韩在线亚洲国产人| 亚洲日韩精品伊甸| 最新国产你懂的在线网址| 亚洲AⅤ无码日韩AV无码网站| av性天堂网| 国产精鲁鲁网在线视频| 久久伊伊香蕉综合精品| 久久综合结合久久狠狠狠97色 | 一本久道久久综合多人| 一级片免费网站| 色偷偷一区| 在线观看无码a∨| 欧美不卡二区| 国产性生大片免费观看性欧美| 日韩免费毛片| 热久久这里是精品6免费观看| 国产第一页亚洲| 免费人欧美成又黄又爽的视频| 在线色国产| 日本三级欧美三级| 国产视频一二三区| 99精品伊人久久久大香线蕉|