PYTHON 4級等級考試資料
一.計算機基礎(chǔ)知識
1.?????? 第一臺計算機
第一臺計算機(ENIAC)于1946年2月在美國誕生。提出程序存儲的是美國的數(shù)學(xué)家約翰馮諾依,美國陸軍部的資助下,與1943年 ENIAC開始的研制,1946年完成。
?
約翰馮諾依曼(John von Neumann),美籍匈牙利數(shù)學(xué)家、計算機科學(xué)家、物理學(xué)家,現(xiàn)代電子計機與博弈論的重要創(chuàng)始人,被后人稱為現(xiàn)代“計算機之父”、“博弈論之父,
?
精髓貢獻:2進制思想、程序內(nèi)存思想五大基本組件
2、EDVAC報
1945年,以馮諾依曼為首的 ENIAC機研制小組發(fā)表了一個全新的“存儲程序通用電子計算機方案”EDVAC這份報告是計算機發(fā)展史上一個劃時代的文獻,它向世界宣告:電子計算機的時代開始了。
? ? ? ?? ? ? ?

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
2.?????? 計算機本質(zhì)功能
從計算機的工作原理上來說,計算機的本質(zhì)功能就是代替人類做極高速運算,解決了人類繁重的計算工作,從而使一切事物的數(shù)字化成為可能。
3.?????? 計算機中的數(shù)據(jù)
計算機中的數(shù)據(jù)、信息都是二進制的形式表示的
4、計算機中的數(shù)據(jù)
計算機中的數(shù)據(jù)、信息都是二進制的形式表示的
5、二進制
二進制:是計算技術(shù)中廣泛采用的一種數(shù)制
二進制數(shù)據(jù)是用0和1兩個數(shù)碼來表示的數(shù)
當(dāng)前的計算機系統(tǒng)使用的基本上是二進制系統(tǒng)
6、二進制的優(yōu)點
在計算機中采用二進制的原因:
1)技術(shù)實現(xiàn)簡單

2)簡化運算規(guī)則
?
加法:0+0=0??? 0+1 =1? 1+1=10
?
乘法:0x0=0???? 0x1=0??? 1x1=1
?
3)適合邏輯運算-真假
?
太陽從西邊升起???? 假
?
地球進行自轉(zhuǎn)????? 真
?
馮諾依曼被稱為“現(xiàn)代計算機之父?? 真
?
月亮圍繞水星轉(zhuǎn)??? 假
?
恐龍是虛構(gòu)的???? 假
?
鉆木可以取火???? 真
?
4)易于進行轉(zhuǎn)換
7、計算機存儲單位

?
b→B→KB→MB→GB→TB
從大到小順序為TB、GB、MB(兆)、KB、B、b
位bit(比特):存放一位二進制數(shù),即0或1,是最小的存單位[英文縮寫:b(固定小寫)]
字節(jié)byte:8個二進制位為一個字節(jié)(B),是最常用的存儲單位

換算關(guān)系
?
1 Byte(B)=8 bit
?
1 Kilo Byte (KB)=1024B
?
1 Mega Byte (MB )=1024 KB
?
1 Giga Byte(GB)=1024Mb
?
1 Tera Byte(tB)=1024GB
?
“兆”為百萬級數(shù)量單位
8.摩斯密碼

9、ASCII表

0~31及127(共33個)是控制字符或通信專用字符(其余為可顯示字符)
?
32~126(共95個)是字符(32是空格),
48~57為0到9十個阿拉伯?dāng)?shù)字,65~90為26個大寫英文字母,97-122號為26個小寫英文字母,其余為一些標(biāo)點符號、運算符號等
數(shù)字的ASC碼<大寫字母的ASC碼<小寫字母的ASC碼? (數(shù)大?。?/strong>
10、Unicode
?
為每種語言的每個字符設(shè)定了統(tǒng)一且唯一的二進制編碼
?
1、滿足跨語言進行文本轉(zhuǎn)換、處理
?
2、滿足跨平臺進行文本轉(zhuǎn)換、處理
11、計算機應(yīng)用

12、計算機解決問題過程

二、計算機系統(tǒng)

三、五大基本組件

控制器:控制程序執(zhí)行
?
存儲器:記憶程序和數(shù)據(jù)
?
輸入設(shè)備:輸入的數(shù)據(jù)和程序
?
輸出設(shè)備:輸出程序結(jié)果
1、中央處理器
?
中央處理器:英文 Central Processing Unit簡稱(CPU),由運算邏輯部件,寄存器部件和控制部件組成,他的功能主要是解釋計算機指以及處理計算機軟件中的數(shù)據(jù),是一臺計算機的核心和控制核心。cpu中包括控制器和運算器
2、運算器和控制器

3、存儲器


4、外部設(shè)備
?
外部設(shè)備:也稱外圍設(shè)備,是除了本機以外的能直接或間接與計算機交換信息的裝備
分類:
外存設(shè)備:除了計算機內(nèi)存及CPU緩存以外的存儲器,如u盤,磁帶等
?
輸入設(shè)備:用于向計算機系統(tǒng)輸入命令和文本,數(shù)據(jù)等信息的部件,
?
鍵盤和鼠標(biāo)是最基本的輸入設(shè)備
?
輸出設(shè)備:用于將計算機系統(tǒng)中的信息輸出到計算機外部進行顯示交換等的郵件顯示器和打印機是最基本的輸出設(shè)備
5、關(guān)聯(lián)
三、Python知識
?
1、Python語言特點
?
1、簡單易學(xué)
?
2、面向?qū)ο?交互性)
?
3、跨平臺
?
4、解釋型
?
5、開源
?
?Python是一種腳本語言、多模型語言、通用語言
2、Python應(yīng)用
?
Web應(yīng)用開發(fā)
?
科學(xué)計算和統(tǒng)計
?
人工智能
?
游戲開發(fā)
?
自動化運維
?
金融量化
?
3、文件格式
?
.jpg、.ppt、.doc? 、.py
4、Python文件書寫注意:
?
1.嚴格注意代碼的縮進
?
2、代碼的縮進是一個Tab鍵或四個空格鍵
5、Python文件運行方式:
1、 windows命行
2調(diào)用IDLE啟動
3、使用集成開發(fā)環(huán)境
4、文本譯保存運行
6、Python模塊
模塊包含定義的函數(shù)和變量的文件,其后綴名是py
常用模塊:
?
1、 pygame:用于電子游戲設(shè)計
2. random:用于生成隨機數(shù)
3、time:提供各種操作時間的函數(shù)
4os:對大量文件和大量徑進行操作
5.sys:系統(tǒng)模塊
6. pyttsx3:文本到語音轉(zhuǎn)換庫
7、算法
在數(shù)學(xué)和計算機科學(xué)之中,算法為一個計算的具體步驟,常用于計算數(shù)據(jù)處理和自動推理
算法的特征:
1.?????? 有窮性2.確切性3.輸入項4.輸出項5可行性
8、python數(shù)據(jù)類型

布爾值為 False的對象:
?
?False(布爾類型)、 None、值為零的數(shù)(0,0.0)
?
空字符串、[]空列表、()(空元組)、{}(空字典)
9、字符串

1)字符串拼接符:
?
將多個字符串進行連接 +
?
注:+號左右兩邊必須為字符串
?
2)字符串復(fù)制符:
?
將字符串進行復(fù)制
?
注:號后邊緊跟復(fù)制的次數(shù)
4)成員運算符:in
?
判斷字符串中是否包含給定的字符
?
注:字符串中包含字符返回True
?
?
?
5)字符串長度 len()方法
?
10、轉(zhuǎn)義字符和非轉(zhuǎn)義字符
?
\n:換行
?
\t:相當(dāng)一個空tab鍵
?
可以再字符前面添加一個r,來阻止反斜杠轉(zhuǎn)義
?
?
?
11、字符串占位符
?
語法:“字符串 占位符”%(實際值)
?
語法:“字符串 占位符1 占位符2"%(值1,值2)
?
注:占位符的個數(shù)與真實值的個數(shù)對應(yīng)
?
常見占位符:
?
%d:整型占位符? %f:浮點型占位符?? %s:字符串占位符
?
?
?
12、列表
?
列表(list)定義:[元素1,元素2,元素3...]
?
注意
?
空列表定義:list = []
?
列表中的元素可以為任何數(shù)據(jù)型,包括本身列表類型
13、列表的插入和刪除
?
append:在列表的末尾添加一個元素
?
insert:在指定的下標(biāo)位置添加一個元素
?
remove:刪除列表中的指定的元素
?
pop:刪除列表中指定下標(biāo)的元素
?
?
?
14、列表的運算
?
+:列表拼接符
?
用于拼接兩個列表,加號兩邊必須都是列表才可以
?
*:列表復(fù)制符
?
用作和數(shù)字連接,表示該列表復(fù)制幾次
?
in:成員運算符
?
用來判斷列表中是否包含給定的列表
?
15、二維列表
?
維列表定義:[[元素1],[元素2],[元素3]]
?
注意:
?
二維列表中元素也為列表形式
?
二維列表元素的獲取、添加、刪除方式相與列表相似
?
?
?
獲取二維列表的元素
?
列表名[一維下標(biāo)][二維下標(biāo)]
?
?
?
16、元組
?
元組(tuple)定義:(元素1,元素2,元素3...)
?
注意:
?
空元組定義:tuple =()
?
單個元元組定義:tuple =(1,)元察后需要加逗號
?
?
?
17、字典
?
字典(dictionary)定義:( key1: value1, key2: value2)
?
注意:
?
空字典定義:dict =0
?
在同一個字典中,鍵(key)必須是唯一的。
?
18、字典的獲取
?
字典名[key]
19、數(shù)據(jù)類型轉(zhuǎn)換
?
int():轉(zhuǎn)換為整型
?
float():轉(zhuǎn)換為浮點型
?
str():轉(zhuǎn)換為字符型
?
bool():轉(zhuǎn)換為布爾類型
20、變量
?
變量就是存儲信息的容器
?
注意:
?
變量無須聲明就可以直接賦值
?
變量必須先賦值才能使用
?
變量的數(shù)據(jù)類型可以隨時改變,所以無需指定
變量的命名規(guī)則
?
以數(shù)字、字母、下劃線組成、
?
區(qū)分大小寫
?
不能包含空格
?
不能以數(shù)字開頭
21、算術(shù)運算符
?
==(等于):比較兩個對象是否相等
?
!=(不等于):比較兩個對象是否不相等
?
>(大于):返回左側(cè)值是否大于右側(cè)值
?
<(小于):返回左側(cè)值是否小于右側(cè)值
?
>=(大于等于):返回左側(cè)值是否大于等于右
?
<=(小于等于):返回左側(cè)值是否小于等于右
?
結(jié)果返回布爾類型
22、賦值運算
?
=(賦值):c=10 將10賦值給C
?
+=(加等):c+=a 等效于c=c+a
?
=(減等):C-=a 等效于c=C-a
?
*=(乘等):c*=a 等效于c=c*a
?
/=(除等):c/=a 等效于c=c/a
?
%=(取余等):c%= a 等效于c =c % a
23、邏輯運算符
?
not(非):真假互換
?
and(與):都真才真
?
or(或):有真就真
?
24、分支結(jié)構(gòu)
?
if 語句
if…else…語句
?
if elif else 語句
?
25、循環(huán)結(jié)構(gòu)
?
while循環(huán)(其中while True循環(huán)使用比較多)
?
for in循環(huán)
?
26、range函數(shù)
?
range函數(shù)可以創(chuàng)建一個整數(shù)列表,一般用在for循環(huán)中
?
range0函數(shù)格式:range( start , stop , step )
?
參數(shù)說明:
?
start:計數(shù)從start開始,默認是從0開始
?
stop:計數(shù)到stop結(jié)束,但不包括stop
?
step:步長,默認為1
27、
?
break和continue
?
break:跳出循環(huán)
?
continue:跳出本次循環(huán)進行下一次循環(huán)
?
28、嵌套循環(huán)
?
在一個循環(huán)里嵌套另一個循環(huán)
?
for循環(huán)嵌套語法:
?
for 變置1 in 列表/字符串/字典:
?
for 變通2 in 列表/字符串/字典:
?
執(zhí)行的代碼2
?
執(zhí)行的代碼1
?
?
?
29、函數(shù)
?
函數(shù):是組織好的,可以重復(fù)使用的,用來實現(xiàn)單一,或者相關(guān)聯(lián)功能的代碼段,我們可以稱之為是方法。
?
調(diào)用函數(shù)的格式:
?
函數(shù)名()
?
def name():
?
print(“大家好,我是張三”)
?
name()
方法的執(zhí)行順序
?
def name(): ②
?
Print(‘大家好,我是張三’) ③
?
name() ①
①:調(diào)用方法
?
②:根據(jù)方法名找到對應(yīng)的方法
?
③:執(zhí)行方法中的每一行代碼
函數(shù)的返回值:關(guān)鍵字: return
定義:選擇性的向調(diào)用方返回一個表達式
def name():
return? "大家好!我是xxx "say = name()
print(say)
?
傳遞函數(shù)
?
當(dāng)進行函數(shù)調(diào)用的時候,要填入與函數(shù)形式參數(shù)個數(shù)相同的實際參數(shù),在程序運行的過程中,實參會將參數(shù)值傳遞給形參,這就是函數(shù)的參數(shù)傳遞。
?
def name(str):
?
return ‘大家好!我是’+str
?
say = name(“xxx")
?
print(say)
?
?
?
30、流程圖
?
流程圖的概念︰
?
流程圖也叫程序圖,是人們將思考的過程和工作的順序進行分析,整理,用規(guī)定的文字,符號,圖形組合加以直觀描述的方法。
?
流程圖構(gòu)造:
?
表示相應(yīng)操作的程序框
?
框中的文字以及符號表示內(nèi)容
?
帶箭頭的流程線
?
程序框外必要的文字說明
流程圖符號:

流程圖規(guī)則:
1.使用標(biāo)準(zhǔn)的圖形符號
2.框圖一般按照從上到下,從左到右的方向畫圖
?
3.除判斷框外,大多數(shù)流程圖符號只有一個進入點和一個退出點判斷框可具有超過一個的退出點
4.判斷框分為兩大類,一類判斷框True與False兩個分支的判斷,而且僅有兩種結(jié)果;另一類是多條分支判斷,有幾種不同的結(jié)果
5.在圖形符號內(nèi)描述的語言要非常簡練清楚
31、turtle庫:
專門用來繪制圖像在平面中移動,在它爬行的路徑上繪制了圖形
import turtle
海龜繪圖特質(zhì):
1、海龜?shù)奶刭|(zhì),它會在屏幕上爬行留下痕跡
2、繪圖的特質(zhì),也就是在繪圖之前需要抬筆和落筆
Turtle方法:
設(shè)置繪圖窗口的大小位置:
turtle.setup(width,height)
例:設(shè)置一個寬90高60的繪圖窗口:
turtle.setup(width=90,height=60)
畫筆落下:
turtle.pd()
turtle.pendown()
turtle.down()
畫筆抬起:;
turtle.pu()
turtle.penup()
turtle.up()
設(shè)置畫筆移動到某一個位置:
turtle.goto( -100,70 )
設(shè)置畫筆前進的距離:
turtle.forward ( 100 )
關(guān)閉turtle :
turtle.done( )
?
繪制直線的過程:
抬筆?--> 移動位置 --> 落筆 --> 前進 --> 結(jié)束
?
設(shè)置畫筆顏色∶
turtle.pencolor (‘red’)
顏色單詞?-- blue yellow red black white 等
設(shè)置畫筆向左轉(zhuǎn):
turtle.left ( 90 )
設(shè)置畫筆向右轉(zhuǎn):
turtle.right ( 90 )
設(shè)置填充顏色:
turtle.fillcolor ('yellow')
設(shè)置畫筆開始填充:
turtle.begin_fill()
設(shè)置畫筆結(jié)束填充∶
turtle.end_fill()
設(shè)置畫筆不可見:
turtle.hideturtle( )
設(shè)置畫筆可見:
turtle.showturtle()
同時設(shè)置畫筆顏色和填充顏色∶
turtle.color ('blue', 'red')
設(shè)置畫筆移動的速度:
turtle.speed( 5)
設(shè)置畫筆屬性:
turtle.pen (speed = 1,pencolor = 'red')
?