2 - Python基本圖形繪制

深入理解Python語言

計(jì)算機(jī)發(fā)展階段
1946-1981 計(jì)算機(jī)結(jié)構(gòu)時(shí)代(35年):計(jì)算能力問題
1981-2008 網(wǎng)絡(luò)和視窗時(shí)代(27年):交互問題。Windows視窗操作系統(tǒng)
2008年,安卓操作系統(tǒng)誕生
2008-2016 復(fù)雜信息系統(tǒng)時(shí)代(8年):數(shù)據(jù)問題芽世。大數(shù)據(jù)碧注、云計(jì)算
2016- 人工智能時(shí)代(新計(jì)算時(shí)代):人類的問題遂跟。2017年户辱,柯潔和Alpha Go

不同編程語言的初心和適用對(duì)象

語言 學(xué)習(xí)內(nèi)容 語言本質(zhì) 解決問題
C 指針咒钟、內(nèi)存卢肃、數(shù)據(jù)類型 理解計(jì)算機(jī)系統(tǒng)結(jié)構(gòu) 性能
Java 對(duì)象疲迂、跨平臺(tái)、運(yùn)行時(shí) 理解主客體關(guān)系 跨平臺(tái)
C++ 對(duì)象莫湘、多態(tài)尤蒿、繼承 理解主客體關(guān)系 大規(guī)模程序,如大規(guī)模圖像處理程序
VB 對(duì)象幅垮、按鈕腰池、文本框 理解交互邏輯 桌面應(yīng)用
Python 編程邏輯、第三方庫 理解問題求解 各類問題

Python特點(diǎn)與優(yōu)勢(shì)

  1. 語法簡(jiǎn)潔
    1. C代碼量的10%
    2. 強(qiáng)制可讀性
    3. 較少的底層語法元素
    4. 多種編程方式
    5. 支持中文字符
  2. 生態(tài)高產(chǎn)
    1. 13W+第三方庫
    2. 快速增長(zhǎng)的計(jì)算生態(tài)
    3. 避免重復(fù)造輪子
    4. 開放共享
    5. 跨操作系統(tǒng)平臺(tái)

C/C++:Python歸Python忙芒,C歸C
Java:針對(duì)特定開發(fā)和崗位需求
HTML/CSS/JS:不可替代的前端技術(shù)示弓,全棧能力
其他語言:R/Go/Matlab等,特定領(lǐng)域

編程語言的種類

  1. 超級(jí)語言:粘性整合已有程序匕争,具備龐大計(jì)算生態(tài)避乏,可以很容易利用已有代碼功能,如Python
  2. 高級(jí)語言:接近自然語言甘桑,編譯器/解釋器拍皮,與CPU型號(hào)無關(guān)
  3. 匯編語言:有助記符,匯編器跑杭,與CPU型號(hào)有關(guān)
  4. 機(jī)器語言:代碼直接執(zhí)行铆帽,與CPU型號(hào)有關(guān)

Python計(jì)算生態(tài) = 標(biāo)準(zhǔn)庫 + 第三方庫

  1. 標(biāo)準(zhǔn)庫:隨解釋器直接安裝到操作系統(tǒng)中的功能模塊
  2. 第三方庫:需要經(jīng)過安裝才能使用的功能模塊
  3. 庫Library、包Package德谅、模塊Module爹橱,統(tǒng)稱模塊

turtle庫的使用

turtle庫基本介紹

  1. 有一只海龜,在窗體正中心窄做。
  2. 在畫布上游走愧驱,走過的軌跡形成了繪制的圖形。
  3. 海龜由程序控制椭盏,可以變換顏色组砚、改變寬度等。

turtle繪圖窗體布局

  1. 畫布空間掏颊,畫布最小單位是像素
  2. turtle.setup(width, height, startx, starty)設(shè)置窗體大小及畫布左上角的位置糟红,非必須

turtle空間坐標(biāo)體系

  • 絕對(duì)坐標(biāo):turtle.goto(x, y)
  • 海龜坐標(biāo):turtle.circle(r, angle)

turtle角度坐標(biāo)體系
turtle.seth(angle)

  • seth()改變海龜行進(jìn)方向
  • angle為絕對(duì)度數(shù)
  • seth()只改變方向但不行進(jìn)

RGB色彩體系

  1. RGB指紅藍(lán)綠三個(gè)通道的顏色組合
  2. 覆蓋視力所能感知的所有顏色
  3. RGB每色取值范圍0-255整數(shù)或0-1小數(shù)

turtle的RGB色彩模式
默認(rèn)采用小數(shù)值 可切換為整數(shù)值:turtle.colormode(mode)

  • 1.0:RGB小數(shù)值模式
  • 255:RGB整數(shù)值模式

turtle程序語法元素

庫引用與import
庫引用是擴(kuò)充Python程序功能的方式艾帐,使用import保留字完成。

  1. 用法1:采用<a>.<b>()編碼風(fēng)格
    import <庫名>
    <庫名>.<函數(shù)名>( <函數(shù)參數(shù)>)
  2. 用法2:使用from和import保留字共同完成
    from <庫名> import <函數(shù)名>
    from <庫名> import *
    <函數(shù)名>(<函數(shù)參數(shù)>)
  3. 用法3:使用import和as保留字共同完成盆偿,
    import <庫名> as <庫別名>
    <庫別名>.<函數(shù)名>( <函數(shù)參數(shù)>)
  4. 用法比較:
    1. 第一種方法不會(huì)出現(xiàn)函數(shù)重名的問題
    2. 第二種方法會(huì)出現(xiàn)函數(shù)重名問題柒爸,帶來問題
    3. 第三種方法冗余代碼量較少,還能防止函數(shù)重名

turtle畫筆控制函數(shù)
畫筆設(shè)置后一直有效事扭,直至下次重新設(shè)置

  • turtle.penup()別名turtle.pu():抬起畫筆捎稚,海龜在飛行
  • turtle.pendown()別名 turtle.pd():落下畫筆,海龜在爬行
  • turtle.pensize(width) 別名 turtle.width(width):畫筆寬度句旱,海龜?shù)难鼑?/li>
  • turtle.pencolor(color)color為顏色字符串或r,g,b值:畫筆顏色阳藻,海龜在涂裝

turtle運(yùn)動(dòng)控制函數(shù)

  • turtle.forward(d)別名 turtle.fd(d):向前行進(jìn),海龜走直線谈撒。d: 行進(jìn)距離,可以為負(fù)數(shù)
  • turtle.circle(r, extent=None):根據(jù)半徑r繪制extent角度的弧形匾南。r: 默認(rèn)圓心在海龜左側(cè)r距離的位置啃匿;extent: 繪制角度,默認(rèn)是360度整圓蛆楞。

turtle方向控制函數(shù)

  • turtle.setheading(angle) 別名 turtle.seth(angle):改變行進(jìn)方向溯乒,海龜走角度。angle: 行進(jìn)方向的絕對(duì)角度豹爹。
  • turtle.left(angle):海龜向左轉(zhuǎn)裆悄;turtle.right(angle) 海龜向右轉(zhuǎn)。angle: 在海龜當(dāng)前行進(jìn)方向上旋轉(zhuǎn)的角度臂聋。

基本循環(huán)語句
按一定次數(shù)循環(huán)執(zhí)行的語句:
for <變量> in range(<參數(shù)>)
<被循環(huán)執(zhí)行的語句>

# 從0開始打印光稼,打印5次
for i in range(5):
print(i)

range()函數(shù):產(chǎn)生循環(huán)計(jì)數(shù)序列
range(N):產(chǎn)生從0到N-1的整數(shù)序列,共N個(gè)

實(shí)例:Python蟒蛇繪制

#PythonDraw. py
import turtle
turtle. setup(650, 350, 200, 200)
turtle. penup()
turtle. fd(-250)
turtle. pendown()
turtle. pensize(25)
turtle. pencolor("purple")
turtle. seth(-40)
for i in range(4):
    turtle. circle(40, 80)
    turtle. circle(-40, 80)
turtle. circle(40, 80/2)
turtle. fd(40)
turtle. circle(16, 180)
turtle.fd(40*2/3)
turtle. done()
運(yùn)行結(jié)果.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末孩等,一起剝皮案震驚了整個(gè)濱河市艾君,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肄方,老刑警劉巖冰垄,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異权她,居然都是意外死亡虹茶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門隅要,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝴罪,“玉大人,你說我怎么就攤上這事拾徙≈薮叮” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)暂衡。 經(jīng)常有香客問我询微,道長(zhǎng),這世上最難降的妖魔是什么狂巢? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任撑毛,我火速辦了婚禮,結(jié)果婚禮上唧领,老公的妹妹穿的比我還像新娘藻雌。我一直安慰自己,他們只是感情好斩个,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布胯杭。 她就那樣靜靜地躺著,像睡著了一般受啥。 火紅的嫁衣襯著肌膚如雪做个。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天滚局,我揣著相機(jī)與錄音居暖,去河邊找鬼。 笑死藤肢,一個(gè)胖子當(dāng)著我的面吹牛太闺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嘁圈,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼省骂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了丑孩?” 一聲冷哼從身側(cè)響起冀宴,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎温学,沒想到半個(gè)月后略贮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仗岖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年逃延,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轧拄。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揽祥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出檩电,到底是詐尸還是另有隱情拄丰,我是刑警寧澤府树,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站料按,受9級(jí)特大地震影響奄侠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜载矿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一垄潮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闷盔,春花似錦弯洗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溺拱,卻和暖如春果正,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盟迟。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留潦闲,地道東北人攒菠。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像歉闰,于是被迫代替她去往敵國和親辖众。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351