本教程的知識點為:計算機組成 什麼是計算機? 計算機是由什麼組成的? 1. 硬體系統: 2. 軟體系統: 目標 運算子的分類 1. 算數運算子 2. 賦值運算子 3. 複合賦值運算子 判斷語句和迴圈語句 if巢狀 1. if巢狀的格式 2. if巢狀的應用 if巢狀執行流程 容器:字串、列表、元組、字典 字串介紹 一. 認識字串 1.1 字串特徵 字串輸出 容器:字串、列表、元組、字典 列表的相關操作 <1>新增元素("增"append, extend, insert)1> append extend 容器:字串、列表、元組、字典 字典的常見操作1 <1>檢視元素1> <2>修改元素2> <3>新增元素3> 函式介紹 <1>什麼是函式1> 小總結: 函式定義和呼叫 <1>定義函式1> 多函式程式的基本使用流程 1. 使用全域性變數 2. 使用函式的返回值、引數 3. 函式巢狀呼叫 函式返回值(二) 函式應用:學生管理系統 遞迴函式 <1>什麼是遞迴函式1> <2>遞迴函式的作用2> 看階乘的規律 檔案操作介紹 <1>什麼是檔案1> <2>檔案的作用2> 檔案的開啟與關閉 <1>開啟檔案1> 物件導向程式設計介紹 物件導向 1. 概述 2. 生活舉例 類和物件 init()方法 說明: 問題: 有引數的__init__()方法 說明: 繼承介紹以及單繼承 1. 現實中的繼承 2. 程式中的繼承 單繼承:子類只繼承一個父類 說明: super()的使用 問題: 知識點: 私有許可權 物件導向三大特性:封裝、繼承、多型 靜態方法和類方法 1. 類方法 2. 靜態方法 總結 異常 模組 <1>Python中的模組1> <2>import2> <3>from…import3> 注意
全套筆記資料程式碼移步: 前往gitee倉庫檢視
感興趣的小夥伴可以自取哦,歡迎大家點贊轉發~
全套教程部分目錄:
部分檔案圖片:
-
計算機組成原理和python基礎語法知識
學習目標:
- 能夠說出計算機有哪兩部分組成
- 能夠說出作業系統的作用
- 能夠說出程式語言的作用
- 能夠說出直譯器的作用
- 能夠說出Python直譯器種類
- 能夠說出目前Python主流的兩大版本是哪些
- 能夠說出在不同系統上搭建Python開發環境的流程
- 知道Python語言歷史、優缺點、應用領域
計算機組成
學習目標:
-
能夠說出計算機有哪兩部分組成
-
能夠說出作業系統的作用
什麼是計算機?
計算機(computer)俗稱電腦,是現代一種用於高速計算的電子機器,可以進行數值計算,又可以進行邏輯判斷,還具有儲存記憶功能,且能夠按照程式的執行,自動、高速處理資料。
計算機是20世紀最先進的科學技術發明之一。
計算機是由什麼組成的?
一個完整的計算機系統,是由硬體系統
和軟體系統
兩大部分組成的。
1. 硬體系統:
主要分為主機和外設兩部分,是指那些構成計算機系統的物理實體,它們主要由各種各樣的電子器件和機電裝置組成。
從ENIAC(世界上第一臺計算機)到當前最先進的計算機,硬體系統的設計採用的都是 馮·諾依曼體系結構。
運算器
: 負責資料的算術運算和邏輯運算,即資料的加工處理。
控制器
: 是整個計算機的中樞神經,分析程式規定的控制資訊,並根據程式要求進行控制,協調計算機各部分元件工作及記憶體與外設的訪問等。
運算器和控制器統稱中央處理器(即CPU)
儲存器
: 實現記憶功能的部件,用來儲存程式、資料和各種訊號、命令等資訊,並在需要時提供這些資訊。
輸入裝置
: 實現將程式、原始資料、文字、字元、控制命令或現場採集的資料等資訊輸入到計算機。
輸出裝置
: 實現將計算機處理後生成的中間結果或最後結果(各種資料符號及文字或各種控制訊號等資訊)輸出出來。
2. 軟體系統:
主要分為系統軟體和應用軟體,是指計算機證執行所需的各種各樣的計算機程式。
系統軟體的任務是既要保證計算機硬體的正常工作,又要使計算機硬體的效能得到充分發揮,並且為計算機使用者提供一個比較直觀、方便和友好的使用介面。
作業系統:是一種方便使用者管理和控制計算機軟硬體資源的系統軟體,同時也是一個大型的軟體系統,其功能複雜,體系龐大,在整個計算機系統中具有承上啟下的地位。我們操作計算機實際上是透過作業系統來進行的,它是所有軟體的基礎和核心。
語言處理程式:也稱為編譯程式,作用是把程式設計師用某種程式語言(如Python)所編寫的程式,翻譯成計算機可執行的機器語言。機器語言也被稱為機器碼,是可以透過CPU進行分析和執行的指令集。
3. 計算機是如何處理程式的?
按照馮·諾依曼儲存程式的原理,計算機的工作流程大致如下:
- 使用者開啟程式,程式開始執行;
- 作業系統將程式內容和相關資料送入計算機的記憶體;
- CPU根據程式內容從記憶體中讀取指令;
- CPU分析、處理指令,併為取下一條指令做準備;
- 取下一條指令並分析、處理,如此重複操作,直至執行完程式中全部指令,最後將計算的結果放入指令指定的儲存器地址中。
4. 程式語言是什麼?
是用來定義 計算機程式 的形式語言。我們透過程式語言來編寫程式程式碼,再透過語言處理程式執行向計算機傳送指令,讓計算機完成對應的工作。
簡單來說,程式語言就是人類和計算機進行交流的語言。
5. 什麼是Python?
Python就是一門程式語言,而且是現在世界上最流行的程式語言之一。
目標
- 瞭解Python
- Python的應用領域
- Python的版本
Python介紹
Python是時下最流行、最火爆的程式語言之一,具體原因如下:
- 簡單、易學,適應人群廣泛
-
免費、開源
-
應用領域廣泛
備註:以下知名框架均是Python語言開發。
- Google開源機器學習框架:TensorFlow
- 開源社群主推學習框架:Scikit-learn
- 百度開源深度學習框架:Paddle
Python發展歷史:[
Python版本
-
Python 2.X
-
Python 3.X
- Python 3.5
- Python 3.6
- Python 3.7
注意:課程講解3.7。
總結
-
Python優點:
- 學習成本低
- 開源
- 適應人群廣泛
- 應用領域廣泛
-
Python學習版本:3.7
目標
- 直譯器的作用
- 下載Python直譯器
- 安裝Python直譯器
一. 直譯器的作用
Python直譯器作用:執行檔案
-
Python直譯器種類
-
CPython,C語言開發的直譯器[官方],應用廣泛的直譯器。
-
IPython,基於CPython的一種互動式直譯器。
-
其他直譯器
- PyPy,基於Python語言開發的直譯器。
- Jython,執行在Java平臺的直譯器,直接把Python程式碼編譯成Java位元組碼執行。
- IronPython,執行在微軟.Net平臺上的Python直譯器,可以直接把Python程式碼編譯成.Net的位元組碼。
-
課程中使用的直譯器:CPython
二. 下載Python直譯器
下載地址:[
[單擊上述連結] -- 查詢目標檔案:Windows x86-64 executable installer -- 單擊即可下載。
三. 安裝Python直譯器
雙擊可執行檔案 — 勾選[pip] -- [Next] -- [勾選新增環境變數] -- [Install],按提示操作即可。
總結
- 直譯器的作用:執行檔案
- 直譯器環境:先下載後安裝
目標
- 註釋的作用
- 註釋的分類及語法
- 註釋的特點
一. 註釋的作用
- 沒有註釋的程式碼
- 新增註釋的程式碼
- 透過用自己熟悉的語言,在程式中對某些程式碼進行標註說明,這就是註釋的作用,能夠大大增強程式的可讀性。
二. 註釋的分類及語法
註釋分為兩類:單行註釋 和 多行註釋。
- 單行註釋
只能註釋一行內容,語法如下:
# 註釋內容
- 多行註釋
可以註釋多行內容,一般用在註釋一段程式碼的情況, 語法如下:
"""
第一行註釋
第二行註釋
第三行註釋
"""
'''
註釋1
註釋2
註釋3
'''
快捷鍵: ctrl + /
2.1 快速體驗
- 單行註釋
# 輸出hello world
print('hello world')
print('hello Python') # 輸出(簡單的說明可以放到一行程式碼的後面,一般習慣程式碼後面新增兩個空格再書寫註釋文字)
- 多行註釋
"""
下面三行都是輸出的作用,輸出內容分別是:
hello Python
hello itcast
hello itheima
"""
print('hello Python')
print('hello itcast')
print('hello itheima')
'''
下面三行都是輸出的作用,輸出內容分別是:
hello Python
hello itcast
hello itheima
'''
print('hello Python')
print('hello itcast')
print('hello itheima')
注意:直譯器不執行任何的註釋內容。
總結
- 註釋的作用
用人類熟悉的語言對程式碼進行解釋說明,方便後期維護。
-
註釋的分類
- 單行:
# 註釋內容
,快捷鍵ctrl+/ - 多行:
""" 註釋內容 """
或''' 註釋內容 '''
- 單行:
-
直譯器不執行註釋內容
目標
- 變數的作用
- 定義變數
- 認識資料型別
一. 變數的作用
舉例體驗:我們去圖書館讀書,怎麼樣快速找到自己想要的書籍呢?是不是管理員提前將書放到固定位置,並把這個位置進行了編號,我們只需要在圖書館中按照這個編號查詢指定的位置就能找到想要的書籍。
這個編號其實就是把書籍存放的書架位置起了一個名字,方便後期查詢和使用。
程式中,資料都是臨時儲存在記憶體中,為了更快速的查詢或使用這個資料,通常我們把這個資料在記憶體中儲存之後定義一個名稱,這個名稱就是變數。
變數就是一個儲存資料的的時候當前資料所在的記憶體地址的名字而已。
二. 定義變數
變數名 = 值
變數名自定義,要滿足識別符號命名規則。
2.1 識別符號
識別符號命名規則是Python中定義各種名字的時候的統一規範,具體如下:
- 由數字、字母、下劃線組成
- 不能數字開頭
- 不能使用內建關鍵字
- 嚴格區分大小寫
False None True and as assert break class
continue def del elif else except finally for
from global if import in is lambda nonlocal
not or pass raise return try while with
yield
2.2 命名習慣
- 見名知義。
- 大駝峰:即每個單詞首字母都大寫,例如:
MyName
。 - 小駝峰:第二個(含)以後的單詞首字母大寫,例如:
myName
。 - 下劃線:例如:
my_name
。
2.3 使用變數
my_name = 'TOM'
print(my_name)
schoolName = '程式設計師'
print(schoolName)
2.4 認識bug
所謂bug,就是程式中的錯誤。如果程式有錯誤,需要程式設計師排查問題,糾正錯誤。
三. Debug工具
Debug工具是PyCharm IDE中整合的用來除錯程式的工具,在這裡程式設計師可以檢視程式的執行細節和流程或者調解bug。
Debug工具使用步驟:
- 打斷點
- Debug除錯
3.1 打斷點
- 斷點位置
目標要除錯的程式碼塊的第一行程式碼即可,即一個斷點即可。
- 打斷點的方法
單擊目的碼的行號右側空白位置。
3.2 Debug除錯
打成功斷點後,在檔案內部任意位置 — 右鍵 -- Debug'檔名' — 即可調出Debug工具皮膚 -- 單擊Step Over/F8,即可按步執行程式碼。
3.2.1 Debug輸出皮膚分類
-
Debugger
- 顯示變數和變數的細節
-
Console
- 輸出內容
四. 認識資料型別
在 Python 裡為了應對不同的業務需求,也把資料分為不同的型別。
檢測資料型別的方法:type()
a = 1
print(type(a)) # <class 'int'> -- 整型
b = 1.1
print(type(b)) # <class 'float'> -- 浮點型
c = True
print(type(c)) # <class 'bool'> -- 布林型
d = '12345'
print(type(d)) # <class 'str'> -- 字串
e = [10, 20, 30]
print(type(e)) # <class 'list'> -- 列表
f = (10, 20, 30)
print(type(f)) # <class 'tuple'> -- 元組
h = {10, 20, 30}
print(type(h)) # <class 'set'> -- 集合
g = {'name': 'TOM', 'age': 20}
print(type(g)) # <class 'dict'> -- 字典
總結
- 定義變數的語法
變數名 = 值
-
識別符號
- 由數字、字母、下劃線組成
- 不能數字開頭
- 不能使用內建關鍵字
- 嚴格區分大小寫
-
資料型別
- 整型:int
- 浮點型:float
- 字串:str
- 布林型:bool
- 元組:tuple
- 集合:set
- 字典:dict
目標
-
格式化輸出
- 格式化符號
- f-字串
-
print的結束符
輸出
作用:程式輸出內容給使用者
print('hello Python')
age = 18
print(age)
# 需求:輸出“今年我的年齡是18歲”
一. 格式化輸出
所謂的格式化輸出即按照一定的格式輸出內容。
1.1 格式化符號
格式符號 | 轉換 |
---|---|
%s | 字串 |
%d | 有符號的十進位制整數 |
%f | 浮點數 |
%c | 字元 |
%u | 無符號十進位制整數 |
%o | 八進位制整數 |
%x | 十六進位制整數(小寫ox) |
%X | 十六進位制整數(大寫OX) |
%e | 科學計數法(小寫'e') |
%E | 科學計數法(大寫'E') |
%g | %f和%e的簡寫 |
%G | %f和%E的簡寫 |
技巧
- %06d,表示輸出的整數顯示位數,不足以0補全,超出當前位數則原樣輸出
- %.2f,表示小數點後顯示的小數位數。
1.2 體驗
格式化字串除了%s,還可以寫為f'{表示式}'
age = 18
name = 'TOM'
weight = 75.5
student_id = 1
# 我的名字是TOM
print('我的名字是%s' % name)
# 我的學號是0001
print('我的學號是%4d' % student_id)
# 我的體重是75.50公斤
print('我的體重是%.2f公斤' % weight)
# 我的名字是TOM,今年18歲了
print('我的名字是%s,今年%d歲了' % (name, age))
# 我的名字是TOM,明年19歲了
print('我的名字是%s,明年%d歲了' % (name, age + 1))
# 我的名字是TOM,明年19歲了
print(f'我的名字是{name}, 明年{age + 1}歲了')
f-格式化字串是Python3.6中新增的格式化方法,該方法更簡單易讀。
1.3 跳脫字元
\n
:換行。\t
:製表符,一個tab鍵(4個空格)的距離。
1.4 結束符
想一想,為什麼兩個print會換行輸出?
print('輸出的內容', end="\n")
在Python中,print(), 預設自帶end="\n"
這個換行結束符,所以導致每兩個print
直接會換行展示,使用者可以按需求更改結束符。
總結
-
格式化符號
- %s:格式化輸出字串
- %d:格式化輸出整數
- %f:格式化輸出浮點數
-
f-字串
- f'{表示式}'
-
跳脫字元
- \n:換行
- \t:製表符
-
print結束符
print('內容', end="")
目標
- 輸入功能的語法
- 輸入input的特點
一. 輸入
在Python中,程式接收使用者輸入的資料的功能即是輸入。
1.2 輸入的語法
input("提示資訊")
1.3 輸入的特點
- 當程式執行到
input
,等待使用者輸入,輸入完成之後才繼續向下執行。 - 在Python中,
input
接收使用者輸入後,一般儲存到變數,方便使用。 - 在Python中,
input
會把接收到的任意使用者輸入的資料都當做字串處理。
password = input('請輸入您的密碼:')
print(f'您輸入的密碼是{password}')
# <class 'str'>
print(type(password))
控制檯輸出結果如下:
總結
-
輸入功能
- input('提示文字')
-
輸入的特點
- 一般將input接收的資料儲存到變數
- input接收的任何資料預設都是字串資料型別
目標
- 資料型別轉換的必要性
- 資料型別轉換常用方法
一. 轉換資料型別的作用
問:input()接收使用者輸入的資料都是字串型別,如果使用者輸入1,想得到整型該如何操作?
答:轉換資料型別即可,即將字串型別轉換成整型。
二. 轉換資料型別的函式
函式 | 說明 |
---|---|
int(x [,base ]) | 將x轉換為一個整數 |
float(x ) | 將x轉換為一個浮點數 |
complex(real [,imag ]) | 建立一個複數,real為實部,imag為虛部 |
str(x ) | 將物件 x 轉換為字串 |
repr(x ) | 將物件 x 轉換為表示式字串 |
eval(str ) | 用來計算在字串中的有效Python表示式,並返回一個物件 |
tuple(s ) | 將序列 s 轉換為一個元組 |
list(s ) | 將序列 s 轉換為一個列表 |
chr(x ) | 將一個整數轉換為一個Unicode字元 |
ord(x ) | 將一個字元轉換為它的ASCII整數值 |
hex(x ) | 將一個整數轉換為一個十六進位制字串 |
oct(x ) | 將一個整數轉換為一個八進位制字串 |
bin(x ) | 將一個整數轉換為一個二進位制字串 |
三. 快速體驗
需求:input接收使用者輸入,使用者輸入“1”,將這個資料1轉換成整型。
# 1. 接收使用者輸入
num = input('請輸入您的幸運數字:')
# 2. 列印結果
print(f"您的幸運數字是{num}")
# 3. 檢測接收到的使用者輸入的資料型別 -- str型別
print(type(num))
# 4. 轉換資料型別為整型 -- int型別
print(type(int(num)))
四. 實驗
# 1. float() -- 轉換成浮點型
num1 = 1
print(float(num1))
print(type(float(num1)))
# 2. str() -- 轉換成字串型別
num2 = 10
print(type(str(num2)))
# 3. tuple() -- 將一個序列轉換成元組
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))
# 4. list() -- 將一個序列轉換成列表
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))
# 5. eval() -- 將字串中的資料轉換成Python表示式原本型別
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))
總結
-
轉換資料型別常用的函式
- int()
- float()
- str()
- list()
- tuple()
- eval()