? ? 已經(jīng)開(kāi)始了正式的課程礼患,是不是覺(jué)得一下就一點(diǎn)兒枯燥了寨昙,沒(méi)有了前兩天那種輕松的心情,不過(guò)這就是學(xué)習(xí)嘛老翘。因?yàn)樽约哼€在學(xué)習(xí)這方面的內(nèi)容芹啥,所以不好在此基礎(chǔ)上發(fā)揮過(guò)多,當(dāng)然會(huì)盡量的加一些輕松的內(nèi)容來(lái)豐富一下氣氛吧铺峭。
? ? 周末兩天花時(shí)間看了李開(kāi)復(fù)老師的《AI未來(lái)》一書(shū)墓怀,因此這兩天我也沒(méi)有更內(nèi)容。我覺(jué)得這本書(shū)講的蠻好的卫键,它是李老師對(duì)AI未來(lái)的一些分析預(yù)測(cè)傀履,分析了AI帶來(lái)了什么?將會(huì)改變什么莉炉?威脅和機(jī)會(huì)都會(huì)是什么……如果有時(shí)間钓账,我會(huì)把我對(duì)這本書(shū)的理解和感悟?qū)懗鰜?lái),到時(shí)候鏈接會(huì)po在此地絮宁。
? ? 好了梆暮,還是回歸繼續(xù)我們的學(xué)習(xí)吧。
? ? Python語(yǔ)言應(yīng)該大家都知道绍昂,它是目前現(xiàn)有包最多的語(yǔ)言啦粹,我們可以直接調(diào)取現(xiàn)有的包進(jìn)行操作,這時(shí)候就是發(fā)揮我們最優(yōu)勢(shì)的地方了——懶治专。比如我們以下面這個(gè)實(shí)例作為我們調(diào)用包的實(shí)例來(lái)學(xué)習(xí)圖形繪制卖陵。
Python這個(gè)單詞的英文意思為“蟒蛇”遭顶,那我們就以繪制python圖形作為我們的實(shí)例吧张峰。(講道理,我是怕蛇的棒旗,也就是因?yàn)檫@個(gè)簡(jiǎn)單喘批,大家可以試試其他的圖形,比如花)
? -問(wèn)題1? ? 計(jì)算機(jī)繪圖是什么原理铣揉?
? ? ? ?一段程序?yàn)楹文軌虍a(chǎn)生窗體饶深?為何能在窗體上繪制圖形?
-問(wèn)題2? ? Python蟒蛇繪制從哪里開(kāi)始呢逛拱?
? ? ? 如何繪制一條線敌厘?如何繪制一個(gè)弧形?如何繪制一個(gè)蟒蛇朽合?
話不多說(shuō)俱两,先放代碼饱狂。代碼如圖:
import?保留字,引入一個(gè)繪圖庫(kù)宪彩,名字叫:turtle?
1. turtle 庫(kù)的使用
? ? -turtle 庫(kù)基本介紹
? ? -turtle 繪圖窗體布局
? ? -turtle 空間坐標(biāo)體系
? ? -turtle 角度坐標(biāo)體系
? ? -RGB 色彩體系
2.turtle 程序語(yǔ)法元素分析
? ? -庫(kù)引用與 import
? ? -turtle 畫(huà)筆控制函數(shù)
? ? -turtle 運(yùn)動(dòng)控制函數(shù)
? ? -turtle 方向控制函數(shù)
? ? -循環(huán)語(yǔ)句與 range() 函數(shù)?
1. turtle 庫(kù)的使用
1.1 turtle 庫(kù)概述
????turtle(海龜)庫(kù)是turtle繪圖體系的Python實(shí)現(xiàn)??
? ? ? -turtle 繪圖體系:1969年誕生休讳,主要用于程序設(shè)計(jì)入門(mén)
? ? ? -Python語(yǔ)言的標(biāo)準(zhǔn)庫(kù)之一
? ? ? -入門(mén)級(jí)的圖形繪制函數(shù)庫(kù)
? ? Python計(jì)算生態(tài) = 標(biāo)準(zhǔn)庫(kù) + 第三方庫(kù)
? ? ? -標(biāo)準(zhǔn)庫(kù):隨解釋器直接安裝到操作系統(tǒng)中的功能模塊
? ? ? -第三方庫(kù):需要經(jīng)過(guò)安裝才能使用的功能模塊
? ? ? -庫(kù)Library、包Package尿孔、 模塊Module 俊柔,統(tǒng)稱模塊
? ? turtle的原理
? ? turtle(海龜)是一種真是的存在
? ? -可以想象有一只海龜,其實(shí)在窗體的正中心活合,在畫(huà)布上游走
? ? -走過(guò)的軌跡形成了繪制的圖形
? ? -海龜由程序控制雏婶,可以變換顏色、改變寬度等
? ? 由turtle庫(kù)開(kāi)始我們學(xué)習(xí)引入庫(kù)白指,接下來(lái)我們就像圖片的小海龜一樣尚骄,一步步走出自己的足跡,走向python的海洋侵续。記住倔丈,我們的征途是星辰大海……
1.2 turtle繪圖窗體
? ? turtle.setup(寬度状蜗, 高度需五,起始點(diǎn)橫坐標(biāo),起始點(diǎn)縱坐標(biāo))??
????-setup() 設(shè)置窗體大小及位置?
? ? -4個(gè)參數(shù)中后兩個(gè)可選轧坎,若未設(shè)定窗體坐標(biāo)宏邮,則默認(rèn)窗體在屏幕中心(以屏幕左上角為原點(diǎn)的相對(duì)坐標(biāo))
? ? -setup() 不是必須的 (需要窗體時(shí)才有創(chuàng)建窗體的操作)
1.3 turtle 空間坐標(biāo)體系
turtle 絕對(duì)坐標(biāo)即窗體的坐標(biāo),turtle.goto(x, y) 表示海龜向(x缸血,y)這一點(diǎn)前進(jìn)
turtle 相對(duì)坐標(biāo)表示的是以海龜?shù)慕嵌瘸霭l(fā)的相對(duì)位置
? ? -turtle.fd(d) 向前蜜氨,turtle.bk(d) 后退,turtle.circle(r, angle) 以海龜當(dāng)前位置左側(cè)某點(diǎn)為圓心進(jìn)行曲線運(yùn)行
1.4 turtle 角度坐標(biāo)體系? ?
turtle.seth(angle)
? ? -seth() 改變海龜行進(jìn)方向
? ? -seth() 只改變方向但不行進(jìn)
? ? -angle 為絕對(duì)度數(shù)
以海龜面朝方向的左右側(cè)做相對(duì)角度選擇
? ? ? 例如以下案例:
? ? turtle 運(yùn)行軌跡為:向左轉(zhuǎn)45度捎泻,前進(jìn)150飒炎,向右轉(zhuǎn)135度,向前行進(jìn)300笆豁,向左轉(zhuǎn)135度郎汪,前進(jìn)150。 圖中的角度均為相對(duì)角度闯狱,即與海龜面向所形成的角度
1.5 RGB色彩模式
由三種顏色構(gòu)成的萬(wàn)物色
? ? -RGB 指紅綠藍(lán)三個(gè)通道的顏色組合
? ? -覆蓋視力所能感知的所有顏色
? ? -RGB 每色取值范圍0-255 整數(shù)或 0-1 小數(shù)
turtle.colormode(mode)
? ? -1.0:RGB 小數(shù)值模式
? ? -255:RGB 整數(shù)值模式
2. turtle 庫(kù)語(yǔ)法元素分析
2.1 turtle 程序語(yǔ)法元素分析
?庫(kù)引用:擴(kuò)充python程序功能的方式
? ? -使用import 保留字完成煞赢,采用<a>.<b>() 編碼風(fēng)格,
? ? ? ? import<庫(kù)名>
? ? ? ? <庫(kù)名>.<函數(shù)名>(<函數(shù)參數(shù)>)
? ? -使用from 和 import 保留字共同完成
? ? ? ? from <庫(kù)名> import <函數(shù)名>
? ? ? ? from <庫(kù)名> import *
? ? ? ? <函數(shù)名>(<函數(shù)參數(shù)>)
兩種引用函數(shù)方法:
兩種方法比較:
? ? -第一種方法不會(huì)出現(xiàn)函數(shù)重名問(wèn)題
? ? -第二種方法會(huì)出現(xiàn)
import 更多用法
? ?使用import 和as 保留字共同完成
? ? ?import <庫(kù)名> as <庫(kù)別名>
? ? ?<庫(kù)別名>.<函數(shù)名>(<函數(shù)參數(shù)>)
? ? ? ? -給調(diào)用的外部庫(kù)關(guān)聯(lián)一個(gè)更短哄孤、更適合自己的名字
2.2 turtle 畫(huà)筆控制函數(shù)
畫(huà)筆操作后一直有效照筑,一般成對(duì)出現(xiàn)
? ? -turtle.penup()? ?別名turtle.pu()? ? ?抬起畫(huà)筆,海龜在飛行(不在畫(huà)布形成圖案)
? ? -turtle.pendown()? ?別名turtle.pd()? ? 落下畫(huà)筆,海龜在爬行
? ? -turtle.pensize(width)? ?別名turtle.width(width)? ? 畫(huà)筆寬度凝危,海龜?shù)难鼑?/p>
? ? -turtle.pencolor(color)? ?color為顏色字符串或r,g,b值? ? 畫(huà)筆顏色饭弓,海龜在涂裝
? ? ? -顏色字符串? :turtle.pencolor("purple")
? ? ? -RGB的小數(shù)值:turtle.pencolor(0.63,? 0.13, 0.94)
? ? ? -RGB的元組值:turtle.pencolor((0.63,? 0.13, 0.94))??
2.3 turtle 運(yùn)動(dòng)控制函數(shù)
控制海龜行進(jìn):走直線&走曲線
? ? -turtle.forward(d)? ?別名turtle.fd(d)? ? ?向前行進(jìn),海龜走直線? ?d為行進(jìn)距離媒抠,可為負(fù)
? ? -turtle.circle(r, extent = None)? ?根據(jù)半徑r繪制extent角度的弧形
? ? ? ?r為默認(rèn)圓心在海龜左側(cè)r距離的位置弟断, extent為繪制角度,默認(rèn)是360度整圓
2.4 turtle 方向控制函數(shù)
?控制海龜面對(duì)方向:絕對(duì)角度&海龜角度
? ? -turtle.setheading(angle)? ?別名turtle.seth(angle)? ?改變行進(jìn)方向趴生,海龜走角度(絕對(duì)角度)
? ? -turtle.left(angle) 和turtle.right(angle)? ?改變行進(jìn)方向阀趴,海龜走角度(相對(duì)角度)
2.5循環(huán)語(yǔ)句與range()函數(shù)
按照一定次數(shù)循環(huán)執(zhí)行一組語(yǔ)句
? ? for <變量> in range(<函數(shù)名>)
? ? ? ? ?<被循環(huán)執(zhí)行的語(yǔ)句>
? ? -<變量>表示每次循環(huán)的計(jì)數(shù),0到<次數(shù)> -1
range()函數(shù)? 產(chǎn)生循環(huán)計(jì)數(shù)序列
? ? -range(N)? ?產(chǎn)生 0 到 N-1 的整數(shù)序列苍匆,共N個(gè)
? ? -range (M,N)? 產(chǎn)生 M 到 N-1 的整數(shù)序列刘急,共N-M個(gè)
? ? 這一天課程寫(xiě)完到底還是花了一些時(shí)間,也不扯多的理由浸踩,其實(shí)就是懶勁又起來(lái)了叔汁,還有一些課程會(huì)盡快更完(不敢立flag了)。不給自己壓力了检碗,要不然其他事情做不好又拿這個(gè)作借口安慰自己据块。