1.計算機組成
計算機由硬體系統與軟體系統組成。
計算機硬體系統包含:
- 運算器:CPU內計算的硬體
- 控制器:CPU內用於控制部件工作
- 儲存器(記憶體儲器(記憶體條)/外儲存器(U盤))
- 輸入裝置:滑鼠,鍵盤等
- 輸出裝置:螢幕等
計算機軟體系統包含:
- 系統軟體:Windows、Linux、Unix等
- 應用軟體:QQ、Word等
2.Python語音
Python語言是一種物件導向的解釋型計算機程式設計語言。
Python語言創始人為吉多•範羅蘇姆(Guido van Rossum)
Python語言的特點
優點:
簡單、易學、免費、開源、高層語言、可移植性、解釋性、物件導向、可擴充性、豐富的庫、規範的程式碼等。
缺點:
執行速度慢、目前國內市場小、中文資料匱乏、構架選擇太多等。
基礎語法
1. 註釋
1.1 單行註釋
語法格式: #[空格]說明性文字資訊
新增快捷鍵: Ctrl+/
取消快捷鍵: Ctrl+/
1.2 多行註釋
語法格式: """說明性文字資訊"""
快捷鍵:<無>
1.3 工作日誌說明
語法格式: # TODO 說明文字
快捷鍵:<無>
1.4 註釋的使用場景
- 新增說明性的文字
- 除錯程式,將制定程式碼行的功能取消,使其在程式碼中不生效
- 記錄工作日誌,方便資訊查詢
2. pycharm中提示性資訊
- 語法錯誤:文字底部紅色波浪線
- 語法不符合規範:文字底部灰色波浪線
- 單詞拼寫提示:文字底部綠色波浪線
3. 算數運算子
3.1 算數運算子
符號 | 作用 | 說明 |
---|---|---|
+ | 加 | 計算兩個數的和 |
- | 減 | 計算兩個數的差 |
* | 乘 | 計算兩個數的乘積 |
/ | 除 | 計算兩個數的商 |
// | 整除 | 兩個整數相除後,取結果的整數部分 |
% | 取餘 | 兩個整數相除後,取結果的餘數部分 |
** | 乘方 | 計算a的b次方 |
3.2 算術優先順序
- 乘方 > 乘、除、整除、取餘 > 加、減
- 相同等級的運算順序為從左到右
- 可以使用括號改變運算順序
4. 關鍵字
4.1 概念
關鍵字是python中已佔用,具有特殊含義的符號
4.2 關鍵字表
and | as | assert | break |
---|---|---|---|
class | continue | def | del |
elif | esle | except | finally |
---|---|---|---|
for | from | global | if |
import | in | is | lambda |
---|---|---|---|
nonlocal | not | or | pass |
raise | return | try | while |
---|---|---|---|
with | yield | False | None |
True |
5. 識別符號
5.1 概念
識別符號是指用來標識某個實體的符號
5.2 識別符號規範
1.只能由數字,字母,_(下劃線)組成
2.不能以數字開頭
3.不能是關鍵字
4.區分大小寫
複製程式碼
5.3 命名約束
- 下劃線分割法(推薦):first_name
- 駝峰命名法:首字母大寫,或每個單詞首字母大寫
6.變數
6.1 變數概念
變數用於描述計算機中的資料儲存空間
6.2 變數作用
在計算機記憶體中儲存資料
6.3 變數語法格式
定義變數: 變數名 = 值 使用變數: 變數名
6.4 特殊使用格式
a = b = 1 相當於 b = 1 , a = 1
7. 變數的型別
7.1 變數型別
名稱 | 中文名稱 | 作用 |
---|---|---|
int | 整型 | 表示所有整數 |
float | 浮點型 | 表示所有的小數 |
bool | 布林型 | 表示邏輯值 |
str | 字串 | 表示字串資訊 |
7.2 變數型別獲取
使用type(資料)即可獲取資料對應的型別
7.3 注意事項
變數的型別在變數使用過程中隨時發生改變,以最後一次執行=操作的結果為準
8. 賦值運算子
8.1賦值運算子
符號 | 作用 | 格式 |
---|---|---|
= | 賦值 | a=b,將b的值給a |
+= | 加後賦值 | a+=b,將a+b的值給a |
-= | 減後賦值 | a-=b,將a-b的值給a |
*= | 乘後賦值 | a*=b,將a*b的值給a |
/= | 除後賦值 | a/=b,將a/b的值給a |
//= | 整除後賦值 | a//=b,將a//b的值給a |
%= | 取餘後賦值 | a%=b,將a%b的值給a |
**= | 次方後賦值 | a**=b,將a**b的值給a |
8.2 注意事項
- 基本賦值運算=操作,左側只能是變數,右側可以是任意資料或變數
- 特殊賦值運算的左側只能是變數,右側可以是變數,也可以是數字
9. 字串運算
9.1 字串連線運算
字串之間可以使用+運算子完成多個字串之間的拼接操作
9.2 字串反覆連線運算
字串可以使用*運算子完成單個字串的連續拼接操作
9.3 注意事項
字串連線運算+不能在字串型別與其他型別間進行操作
案例:計算圓的面積
"""
案例:計算圓面積
圓面積 = 圓周率 × 半徑的平方
分析:
半徑需要設定變數 r
圓周率需要設定變數 pi
計算結果圓的面積需要設定變數 area
"""
# r表示半徑
r = 3.5
# pi表示圓周率
pi = 3.14
# area表示面積
area = pi * r ** 2
print(area)
複製程式碼
10. 標準輸入輸出
10.1 輸入
10.1.1 語法格式
格式一: input()
格式二: input(“提示資訊”)
10.1.2 輸入資料的接收
格式一:變數 = input()
格式二:變數 = input(“提示資訊”)
10.1.3 注意事項
控制檯執行到input()操作後,會將程式掛起,等待使用者輸入資料,在使用者未完成資料輸入之前,程式不向下執行,一旦控制檯接收到使用者輸入的資料後,繼續向下執行
10.2 輸出
10.2.1 語法格式
格式一:直接輸出變數 print(變數)
格式二:輸出包含單個佔位符字串的資訊 print(“包含1個佔位符的格式化字串” % 變數 )
格式三:輸出包含多個佔位符字串的資訊 print(“包含多個佔位符的格式化字串” % (變數1,變數2,…) )
10.2.2 輸出佔位符
10.3 資料型別轉換
10.3.1 輸入資料的型別
input函式接收的資料預設為字串型別
10.3.2 轉換函式
通過轉換函式實現接收其他型別的資料
1.接收整數:字串→整型資料: int(“整數格式的字串”)
2.接收小數:字串→浮點型資料:float(“小數格式的字串”)
10.3.3 注意事項
1.字串型別資料可以轉換成其他型別資料,但是資料必須是可轉換的。 例如:“123”可以轉化成123 例如:“23x”不可以轉化
2.整型(int)資料可以轉換成浮點型(float)資料,在原始整型資料後面補.0 例如:123可以轉化成123.0
- 浮點型(float)資料無法轉換成整型(int)資料,無論原始資料是不是整數 例如:123.0不可以轉化成123
案例:計算圓面積(輸入輸出版)
"""
完成“輸入輸出”版計算圓面積程式
需求:
1.圓的半徑需要通過鍵盤錄入,半徑值必須相容小數
2.輸出格式:半徑為10的圓形面積為314。
分析:
1.input 最終型別要使用float
2."半徑為%.2f的圓形面積為%.4f。"
"""
# 定義圓周率
pai = 3.14
# 從鍵盤錄入半徑值
r = float(input("請輸入您要計算的圓的半徑值(最多2位小數):"))
# 計算圓的面積
area = pai * r ** 2
#格式化輸出
print("半徑為%.2f的圓形面積為%.4f。" % (r , area))
複製程式碼
11. 分支語句
11.1 比較運算子
比較運算是發生在兩個同型別資料間的一種操作,比較運算是使用固定的比對規則對兩個資料進行比對,如果比較運算式子成立得到結果True,如果不成立,得到結果False
11.1.1 常用的比較運算子
符號 | 說明 |
---|---|
= = | 判斷兩個運算元的值是否相等,成立為True |
!= | 判斷兩個運算元的值是否不相等,成立為True |
> | 判斷左運算元是否大於右運算元,成立為True |
< | 判斷左運算元是否小於右運算元,成立為True |
>= | 判斷左運算元是否大於等於右運算元,成立為True |
<= | 判斷左運算元是否小於等於右運算元,成立為True |
11.1.2 字元進行比較運算的排序規則
0..數字..9 < A..大寫字母..Z < a..小寫字母..z
11.1.3 字串比較運算規則
1.對兩個字串中對應位置每個字元逐一比對
2.排序較小的整體字串值小
3.如果比較結果相等,比較下一個字母
4.直到比對到最後一個字母
5.若比對的一方沒有字元,則整體字串值小
11.2 關係運算子
11.2.1 關係運算
關係運算是發生在兩個布林型資料間的一種操作,關係運算是根據固定規則對兩個布林值進行運算,最終結果是布林值
11.2.2 常見的關係運算子
and:表示兩個布林值之間的並且關係,例如 True and False
or:表示兩個布林值之間的或者關係,例如 True or False
not:表示一個布林值的反向對立關係,例如 not False
11.2.3 真值表
and | True | False |
---|---|---|
True | True | False |
False | False | False |
邏輯與:同真則真
or | True | False |
---|---|---|
True | True | True |
False | True | False |
邏輯或:同假則假
True | False | |
---|---|---|
not | False | True |
邏輯非:非真即假,非假即真
11.2.4 注意事項
1.數字可以作為關係運算的資料進行運算,0表示False,非0表示True
2.數字與布林值混用出現在關係運算中時,任意運算元可以決定整個式子值的,最終結果即為該運算元(參看真值表)
例如:True and 0 → 0
例如:0 and True → 0
例如:4 or False → 4
例如:False or 4 → 4
複製程式碼
3.數字與布林值混用出現在關係運算中時,如果兩個運算元都無法單獨決定整個式子值的(參看真值表),最終結果即為後面的運算元
例如:True and 10 → 10
例如:10 and True → True
例如:False or 0 → 0
例如:0 or False → False
複製程式碼
11.3 分支語句
11.3.1 概念
分支語句: 計算機三種基礎語句(順序、分支、迴圈)之一,用於描述“如果滿足什麼條件,就怎麼樣,否則就怎麼樣”的語法。
11.3.2 語法格式
格式一: if 條件: 條件成立執行的程式碼
格式二: if 條件: 條件成立執行的程式碼 else: 條件不成立執行的程式碼
格式三: if 條件1: 條件1成立執行的程式碼
複製程式碼
elif 條件2:
條件2成立執行的程式碼
複製程式碼
elif 條件3:
條件3成立執行的程式碼
複製程式碼
else:
條件都不成立執行的程式碼
複製程式碼
score = 73
if score == 100:
print("買自行車")
elif score >= 95 and score < 100:
print("去遊樂場玩")
elif score >= 90 and score < 95:
print("買大玩具")
elif score >= 80 and score < 90:
print("不獎不罰")
else:
print("小心屁屁")
print("結束")
複製程式碼
11.3.3 執行流程
1.if語句執行流程
2.if..else..語句執行流程 3.if..elif..else..語句執行流程11.3.4 分支巢狀
分支巢狀即分支語句的執行程式碼中包含全新的分支語句結構
11.4 程式碼書寫規範(瞭解)
11.4.1 超長行處理方案
方案一:換行處使用\
方案二:對整體新增(),()中隨意換行
案例:減肥計劃
"""
案例:減肥計劃
要求:輸入星期數,顯示今天的減肥活動
週一:跑步 週二:游泳 週三:健身房
週四:動感單車 週五:拳擊 週六:爬山
週日:好好吃一頓
"""
# 分析
# 1.鍵盤輸入一個數字,表示今天是星期幾。int str?都可以
# 2.分7種情況,選擇if..elif..else語法結構,寫6個條件,最後一個用else
# 3.每種情況中按照要求列印即可
week = int(input("請輸入今天星期幾:"))
if week == 1:
print("跑步")
elif week == 2:
print("游泳")
elif week == 3:
print("健身房")
elif week == 4:
print("動感單車")
elif week == 5:
print("拳擊")
elif week == 6:
print("爬山")
else:
print("大吃一頓")
複製程式碼
案例:外賣結算
"""
案例:外賣結算
要求:滿30減10塊,滿50減20,滿100減50,會員折上再8折。
"""
# 分析
# 1.輸入的資料有兩個,1是價格(小數),2是會員資格(布林)
# 2.滿減活動分4種情況,選擇if..elif..else結構
# 3.在每種情況中做一件事,就是價格發生變化
price = float(input("請輸入您的總價:"))
member = input("請輸入您是否是會員(是/否)")
if price >= 100:
price -= 50
elif price >= 50:
price -= 20
elif price >= 30:
price -= 10
if member == "是":
price *= 0.8
print("您最終需要支付%0.2f元" % price)
複製程式碼