深入理解Python語(yǔ)言
計(jì)算機(jī)技術(shù)的演進(jìn)
- 1946-1981:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)時(shí)代——計(jì)算能力問(wèn)題
- 1981-2008:網(wǎng)路與視窗時(shí)代——交互問(wèn)題
- 2008-2016:復(fù)雜信息系統(tǒng)時(shí)代——數(shù)據(jù)問(wèn)題
- 新計(jì)算時(shí)代
- 2016-:人工智能時(shí)代——人類的問(wèn)題
編程語(yǔ)言的多樣初心
超過(guò)600種編程語(yǔ)言余境。
- C
- 學(xué)習(xí)內(nèi)容:指針瘦馍、內(nèi)存衅枫、數(shù)據(jù)類型
- 語(yǔ)言本質(zhì):理解計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)
- 解決問(wèn)題:性能
- 適用對(duì)象:計(jì)算機(jī)類專業(yè)
- Java
- 學(xué)習(xí)內(nèi)容:對(duì)象涕俗、跨平臺(tái)肥惭、運(yùn)行時(shí)
- 語(yǔ)言本質(zhì):理解主客體關(guān)系
- 解決問(wèn)題:跨平臺(tái)
- 適用對(duì)象:軟件類專業(yè)
- C++
- 學(xué)習(xí)內(nèi)容:對(duì)象锰什、多態(tài)首有、繼承
- 語(yǔ)言本質(zhì):理解主客體關(guān)系
- 解決問(wèn)題:大規(guī)模程序
- 適用對(duì)象:計(jì)算機(jī)類專業(yè)
- VB
- 學(xué)習(xí)內(nèi)容:對(duì)象锻梳、按鈕抖棘、文本框
- 語(yǔ)言本質(zhì):理解交互邏輯
- 解決問(wèn)題:桌面應(yīng)用
- 適用對(duì)象:不確定
- Python
- 學(xué)習(xí)內(nèi)容:編程邏輯茂腥、第三方庫(kù)
- 語(yǔ)言本質(zhì):理解問(wèn)題求解
- 解決問(wèn)題:各類問(wèn)題
- 適用對(duì)象:各類專業(yè)
2018年后:
計(jì)算機(jī)性能不再是解決一般問(wèn)題的瓶頸。
移動(dòng)互聯(lián)網(wǎng)廣泛普及切省。
大數(shù)據(jù)最岗、云計(jì)算、物聯(lián)網(wǎng)朝捆、人工智能等需求日益增大般渡。
深入理解Python語(yǔ)言
Pyhton語(yǔ)言是通用語(yǔ)言。
特點(diǎn)與優(yōu)勢(shì):
語(yǔ)法簡(jiǎn)潔
- 強(qiáng)制可讀性
- 較少的底層語(yǔ)法元素
- 多種編程方式
- 支持中文字符
提高將近10倍效率芙盘。
生態(tài)高產(chǎn)
- 13萬(wàn)第三方庫(kù)
- 快速增長(zhǎng)的計(jì)算生態(tài)
- 避免重復(fù)造輪子
- 開(kāi)放共享
- 跨操作系統(tǒng)平臺(tái)
人生苦短驯用,我學(xué)Python
- C/C++:Python歸Python,C歸C
- Java:針對(duì)特定開(kāi)發(fā)和崗位
- HTML/CSS/JS:不可替代的前端技術(shù)儒老,全棧能力
- 其他語(yǔ)言:R/Go/Matlab等蝴乔,特定領(lǐng)域
Python 語(yǔ)言:
- 掌握抽象并求解計(jì)算問(wèn)題綜合能力的語(yǔ)言
- 了解產(chǎn)業(yè)界解決復(fù)雜計(jì)算問(wèn)題方法的語(yǔ)言
- 享受利用編程將創(chuàng)新變?yōu)闃?lè)趣實(shí)現(xiàn)的語(yǔ)言
“超級(jí)語(yǔ)言”的誕生
編程語(yǔ)言的種類
- 機(jī)器語(yǔ)言
- 二進(jìn)制語(yǔ)言,直接使用二進(jìn)制代碼表達(dá)指令
- 計(jì)算機(jī)硬件(CPU)可以直接執(zhí)行驮樊,與具體CPU型號(hào)有關(guān)
- 匯編語(yǔ)言
- 將二進(jìn)制代碼對(duì)應(yīng)助記符
- 與CPU型號(hào)有關(guān)薇正,程序不通用,需要匯編器轉(zhuǎn)換
- 高級(jí)語(yǔ)言
- 更接近自然語(yǔ)言囚衔,更容易描述計(jì)算問(wèn)題
- 與具體CPU型號(hào)無(wú)關(guān)挖腰,編譯后運(yùn)行
- 超級(jí)語(yǔ)言
- 具有龐大計(jì)算生態(tài),可以很容易利用已有代碼功能
- 編程思維不再是刀耕火種练湿,而是集成開(kāi)發(fā)
Python:唯一的超級(jí)語(yǔ)言
實(shí)例2:Python蟒蛇繪制
設(shè)計(jì)蟒蛇基本形狀猴仑。
實(shí)例編寫:
#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()
舉一反三
- 改變形狀
- 改變顏色
- 繪制其他圖像
模塊1:turtle庫(kù)的使用
turtle庫(kù)概述
turtle(海龜)庫(kù)是turtle繪圖體系的Python體現(xiàn)
- 標(biāo)準(zhǔn)庫(kù)之一
- 入門級(jí)繪圖函數(shù)庫(kù)
標(biāo)準(zhǔn)庫(kù):隨解釋器直接安裝到操作系統(tǒng)中的功能模塊
第三方庫(kù):通過(guò)安裝才能使用的功能模塊
庫(kù)Library,包Package肥哎,模塊Module辽俗,統(tǒng)稱模塊
turtle庫(kù)的原理
turtle(海龜)是一種真實(shí)的存在。
- 有一只海龜篡诽,在窗體正中間榆苞,在畫布上游走
- 走過(guò)的軌跡變成了圖形
- 可以改變大小和顏色
turtle繪圖窗體布局
turtle的繪圖窗體
turtle的一個(gè)畫布空間,最小單位為像素霞捡。
屏幕坐標(biāo)系
- 屏幕左上角坐標(biāo)為(0,0)
- 使用
turtle.setup(width, height, startx, starty)
設(shè)置窗體大小及位置,后兩個(gè)參數(shù)可選薄疚。后兩個(gè)參數(shù)去掉碧信,窗體在屏幕中居中赊琳。
turtle空間坐標(biāo)體系
絕對(duì)坐標(biāo)
- 以海龜起始為原點(diǎn),往上為+y砰碴,往右為+x躏筏。
- 使用
turtle.goto(x,y)
使任意位置的海龜?shù)竭_(dá)(x,y)
海歸坐標(biāo)
- 前進(jìn)方向,左側(cè)方向呈枉,右側(cè)方向趁尼,后退方向。
- 前進(jìn):
turtle.fd(d)
后退:turtle.bk(d)
左轉(zhuǎn):turtle.circle(r,angle)
turtle角度坐標(biāo)體系
絕對(duì)角度
- +x方向:0/360度猖辫;+y方向:90/-270度
- 使用
turtle.seth(angle)
改變當(dāng)前海龜行進(jìn)方向酥泞,只改變方向但不行進(jìn)。angle
為絕對(duì)度數(shù)
海龜角度
-
turtle.left(angle)
和turtle.right(angle)
啃憎,改變海龜?shù)姆较?br> 例:
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
RGB色彩體系
由三種顏色構(gòu)成的萬(wàn)物色
- 指紅綠藍(lán)三個(gè)通道的顏色組合
- 覆蓋實(shí)力所能感知的所有顏色
- RGB每色取值范圍0-255整數(shù)或0-1小數(shù)
常用RGB顏色
英文名稱 | RGB整數(shù)值 | RGB小數(shù)值 | 中文名稱 |
---|---|---|---|
white | 255芝囤,255,255 | 1辛萍,1悯姊,1 | 白色 |
yellow | 255,255贩毕,0 | 1悯许,1,0 | 黃色 |
magenta | 255辉阶,0先壕,255 | 1,0睛藻,1 | 洋紅 |
cyan | 0启上,255,255 | 0店印,1冈在,1 | 青色 |
blue | 0,0按摘,255 | 0包券,0,1 | 藍(lán)色 |
black | 0炫贤,0溅固,0 | 0,0兰珍,0 | 黑色 |
默認(rèn)采用小數(shù)值標(biāo)時(shí)顏色侍郭。可切換為整數(shù)值
使用turtle.colormode(mode)
可改變模式顏色模式。1.0為小數(shù)模式亮元,255為整數(shù)模式猛计。
庫(kù)引用與import
turtle程序語(yǔ)法元素分析
擴(kuò)充Pyhton程序功能的方式
- 使用
import
保留字完成,采用<a>.<b>()
的編碼風(fēng)格
import <庫(kù)名>
<庫(kù)名>.<函數(shù)名>(<函數(shù)參數(shù)>)
使用from
和import
保留字共同完成
from <庫(kù)名> import <函數(shù)名>
或
from <庫(kù)名> import *
<函數(shù)名>(<函數(shù)參數(shù)>)
不需要加<庫(kù)名>.
了
<庫(kù)名>.<函數(shù)名>(<函數(shù)參數(shù)>)
不會(huì)出現(xiàn)函數(shù)重名的問(wèn)題爆捞。
使用import
和as
保留字共同完成
import <庫(kù)名> as <庫(kù)別名>
<庫(kù)別名>.<函數(shù)名>(<函數(shù)參數(shù)>)
- 關(guān)聯(lián)一個(gè)更短奉瘤、更適合的名字,同時(shí)避免重名
turtle畫筆控制函數(shù)
畫筆操作后一直有效煮甥,一般成對(duì)出現(xiàn)
-
turtle.penup()
別名turtle.pu()
盗温,抬起畫筆,海龜在飛行 -
turtle.pendown()
別名turtle.pd()
成肘,放下畫筆卖局,海龜在爬行
畫筆設(shè)置有一直有效,直到下一次重新設(shè)置
-
turtle.pensize(width)
別名turtle.width(width)
艇劫,設(shè)置畫筆寬度吼驶,海龜?shù)难鼑?/li> -
turtle.pencolor(color)
設(shè)置畫筆顏色,color
為顏色字符串或r店煞,g蟹演,b值- 顏色字符串:
turtle.pencolor("purple")
- RGB的小數(shù)值:
turtle.pencolor(0.63,0.13,0.94)
- RGB的元組值:
turtle.pencolor((0.63,0.13,0.94))
- 顏色字符串:
turtle運(yùn)動(dòng)控制函數(shù)
控制海龜行進(jìn):走直線&走曲線
-
turtle.forward(d)
別名turtle.fd(d)
,向前行進(jìn)顷蟀,海龜走直線-
d
為距離酒请,可以為負(fù)數(shù)
-
-
turtle.circle(r,extent=None)
根據(jù)半徑r
繪制extent
角度的弧形,圓心在海龜左側(cè)鸣个。默認(rèn)角度為360度羞反。半徑為負(fù)數(shù)時(shí),圓心在海龜右側(cè)
turtle方向控制函數(shù)
控制海龜面對(duì)方向:絕對(duì)角度&海龜角度
-
turtle.setheading(angle)
別名turtle.seth(angle)
改變行進(jìn)方向囤萤,海龜走角度昼窗。角度值為絕對(duì)角度 -
turtle.left(angle)
或turtle.right(angle)
讓海龜向左或向右轉(zhuǎn)。角度為海龜角度 - 僅改變方向涛舍,不會(huì)使海龜行進(jìn)
循環(huán)語(yǔ)句與range()
函數(shù)
循環(huán)語(yǔ)句:按一定次數(shù)循環(huán)執(zhí)行一組語(yǔ)句
for <變量> in range(<參數(shù)>)
<被循環(huán)執(zhí)行的語(yǔ)句>
-
<變量>
表示每次循環(huán)的計(jì)數(shù)澄惊,0到次數(shù)-1 -
<參數(shù)>
為次數(shù)
range()
產(chǎn)生循環(huán)計(jì)數(shù)序列
-
range(N)
產(chǎn)生0到N-1的整數(shù)序列,共N個(gè)數(shù)字 -
range(M,N)
產(chǎn)生從M到N-1的整數(shù)序列富雅,共N-M個(gè)數(shù)字
turtle.done()
繪圖完成后窗口不會(huì)自動(dòng)關(guān)閉