陳擎文教學網:python 基礎(簡易版)
|
|||||
python資源 | |||||
線上黑板( Online blackboard) | 廣播教學 | chtGPT簡介 | Zuvio | ||
Goole輸入法(Input:exe) | python教學網站(詳細版) | ||||
上課參考教材 | w3school(英文版) | w3school(中文,版本舊) | runoob菜鳥教程(中文,版本新) | w3cschool(類似runoob,中文) | |
上課參考教材 | Steam教學網-python | ||||
w3c、w3school、w3cschool、runoob、w3capi比較 | runoob流量監控儀表板 | ||||
w3school vs runoob |
1.w3school中文版是直接google翻譯英文版 2.runoob.com翻譯自英文版w3schools,但重新排版 3.runoob = run + noob(菜鳥,小白) 4.runoob是python,html,javascript中文版最好的教學網 |
||||
英文打字練習 | 英打測試速度 | 趣味英文打字練習(國內) | 國外的英打練習網站1 | 國外的英打練習網站2 | |
網頁線上英文字典 |
☎如何安裝google chrome的網頁線上英文字典工具: ->google chrome的右上角工具->更多工具->擴充功能 ->左上角主選單->開啟chrome線上應用程式商店 ->勾選:google製作,免費 ->搜尋:google dictionary->安裝 ->到chrome右上擴充功能->點按google dictionary的『詳細資料』->擴充功能選項 ->my language=chinese ->打勾2個:Pop-up definitions: (1)反白單字翻譯:Display pop-up when I double-click a word (2)ctrl+拖曵整段翻譯: Display pop-up when I select a word or phrase |
||||
全校大會考1280題庫 | 1-6章題庫(word) | 題庫(excel) | |||
官網 | python官網 | vscode官網 | |||
python 教學網站 | python 3(官網手冊中文) | python 3教學(中文) | python 3教學(中文) | 簡易1小時教學 | |
w3school(英文版) | |||||
線上執行python online |
https://www.python.org/shell/(建議用這個) https://repl.it/languages/python3 |
||||
MU編輯器 | |||||
用Anacond寫python(*建議使用) |
Chp1-1. 安裝phthon方法1:陽春python+vscode | |||||
2.執行python的三種方法 |
1.要編寫python有三種的方法: 一、方法1:安裝python單純的python 缺點:功能陽春,沒有太多的模組,無法馬上寫大數據分析程式。 安裝網址:python官網下載 二、方法2:安裝Anaconda 優點:會同時安裝python、1000多種數學繪圖模組、Spyder編輯器,能夠支援大數據分析。 缺點:會安裝了很多你用不到的模組,浪費硬碟空間。 安裝網址:到Anacond官網下載安裝 三、方法3:使用python官網線上shell 使用repl線上python |
||||
陽春python下載點 |
|||||
vscode下載點 |
|||||
python簡介 |
AI人工智慧興起,未來AI的發展將徹底改變這個世界。而Python正是人工智慧領域最熱門的程式語言。學習Python,就是掌握人工智慧的能力。 |
||||
安裝步驟 |
特別注意1:要打勾Add Python 3.74 to PATH,然後點“Install Now”即可完成安裝 特別注意2:在Advanced Options:要打勾:for all the users |
||||
使用python官方IDLE執行程式 |
print("你好,歡迎光臨") 1+1 |
||||
使用python直譯器執行(python 3.74(64-bit)) |
print("你好,歡迎光臨") 1+1 |
||||
使用vscode執行程式 |
print("你好,歡迎光臨") 1+1 |
||||
在vscode執行『終端機執行』 |
在cmd模式,執行dos終端機指令 先到工作目錄:cd ch1 執行.py程式:python test1.py |
||||
Chp1-2. 安裝phthon方法2:Anaconda+Spyder | |||||
1.使用python的三種方法 | 2.Anaconda下載點 | 3.安裝anaconda | 4.Anaconda cmd指令 | ||
5.建立Anaconda虛擬環境 | 6.使用Spyter編譯器 | 7.網頁版python編輯器jupyter notebook | 8.其它線上雲端可編譯的python平台 | ||
2.執行python的三種方法 |
1.要編寫python有三種的方法: 一、方法1:安裝python單純的python 缺點:功能陽春,沒有太多的模組,無法馬上寫大數據分析程式。 安裝網址:python官網下載 二、方法2:安裝Anaconda 優點:會同時安裝python、1000多種數學繪圖模組、Spyder編輯器,能夠支援大數據分析。 缺點:會安裝了很多你用不到的模組,浪費硬碟空間。 安裝網址:到Anacond官網下載安裝 三、方法3:使用python官網線上shell 使用repl線上python |
||||
2.Anaconda下載點 |
|
||||
3.安裝anaconda |
3.安裝anaconda 功能:原始的python功能太陽春,若下載anaconda,則可以提供300多種的科學數學模組,可以提供大數據資料分析 (1)Anaconda是一個免費的Python和R語言的發行版本,用於計算科學(資料科學、機器學習、巨量資料處理和預測分析) (2)因為Anaconda有很多的數據分析模組,所以大數據分析會使用到的『pandas、Numpy、Scipy』python package套件,在anaconda安裝完成時就已經包含在裡面了。 (3)Anaconda中文是森蚺(大蟒蛇)。 1)可以把Anaconda當作是Python的懶人包,除了Python本身(python2, 3) 還包含了Python常用的資料分析、機器學習、視覺化的套件 2).完全開源和免費 3).額外的加速、優化是收費的,但對於學術用途可以申請免費的 License 4).全平台支持:Linux、Windows、Mac 5).支持 Python 2.6、2.7、3.3、3.4,可自由切換, 6).內帶spyder 編譯器(還不錯的spyder編譯器) 7).自帶jupyter notebook 環境 (就是網頁版的python編輯器,副檔名為IPthon) (4)常用套件: Numpy: Python做多維陣列(矩陣)運算時的必備套件,比起Python內建的list,Numpy的array有極快的運算速度優勢 Pandas:有了Pandas可以讓Python很容易做到幾乎所有Excel的功能了,像是樞紐分析表、小記、欄位加總、篩選 Matplotlib:基本的視覺化工具,可以畫長條圖、折線圖等等… Seaborn:另一個知名的視覺化工具,畫起來比matplotlib好看 SciKit-Learn: Python 關於機器學習的model基本上都在這個套件,像是SVM, Random Forest… Notebook(Jupyter notebook): 一個輕量級web-base 寫Python的工具,在資料分析這個領域很熱門,雖然功能沒有比Pycharm, Spyder這些專業的IDE強大,但只要code小於500行,用Jupyter寫非常方便,Jupyter也開始慢慢支援一些Multi cursor的功能了,可以讓你一次改許多的變數名稱 (5)優點:省時:一鍵安裝完90%會用到的Python套件,剩下的再用pip install個別去安裝即可 (6)缺點:占空間:包含了一堆用不到的Python的套件(可安裝另一種miniconda) (7)下載網址:https://www.anaconda.com/ 選擇個人版:indivisual https://www.anaconda.com/products/individual →Download →Windows Python 3.7(會自動幫你安裝Python 3.7) 64-Bit Graphical Installer (466 MB) 32-Bit Graphical Installer (423 MB) (8)安裝過程,要勾選 不勾選:add the anaconda to the system PATH(但是2020年,ananconda不建議勾選這個,容易發生錯誤) 勾選:Register anaconda as system Python 3.7 (9)安裝結束 →在windows開始→anaconda有6個項目,最常用的有3個 (1)anaconda prompt:可以直接下cmd指令 (2)Spyter:編譯器(還不錯的spyder編譯器) (3)jupyter notebook(網頁版的python編輯器,副檔名為IPthon) |
||||
4.Anaconda prompt:cmd指令 |
4.使用anaconda prompt:直接下cmd指令 注意:windows 10 必須使用管理員來執行(點選anaconda prompt→滑鼠右鍵→以系統管理員身份進行) (1)列出目前已經安裝的anaconda的模組與版本: conda list (2)對某個模組更新安裝 conda update 模組 範例:conda update ipython (3)安裝某個模組 方法1:conda install 模組 範例:conda install numpy # 安裝 NumPy 1.15 以後、 1.16 以前 conda install 'numpy>=1.15,<1.16' 方法2:pip install 模組 範例:pip install numpy (4)解除安裝某個模組 方法1:conda uninstall 模組 範例:conda uninstall numpy 方法2:輸入 conda remove PACKAGE_NAME可以從目前的工作環境移除指定套件。 # 移除 NumPy conda remove numpy numpy-base 方法3:pip uninstall 模組 範例:pip uninstall numpy (5)在anaconda prompt執行python程式 方法1: 先到工作目錄:cd ch1 執行.py程式:python test1.py 方法2:python c:\chp1\test1.py (6)常用指令 conda --version 檢視 conda 版本 conda update PACKAGE_NAME更新指定套件 conda --help 檢視 conda 指令說明文件 conda list --ENVIRONMENT 檢視指定工作環境安裝的套件清單 conda install PACAKGE_NAME=MAJOR.MINOR.PATCH 在目前的工作環境安裝指定套件 conda remove PACKAGE_NAME 在目前的工作環境移除指定套件 conda create --name ENVIRONMENT python=MAIN.MINOR.PATCH 建立新的工作環境且安裝指定 Python 版本 conda activate ENVIRONMENT 切換至指定工作環境 conda deactivate 回到 base 工作環境 conda env export --name ENVIRONMENT --file ENVIRONMENT.yml 將指定工作環境之設定匯出為 .yml 檔藉此複製且重現工作環境 conda remove --name ENVIRONMENT --all 移除指定工作環境 使用 conda list | grep numpy 檢查 Python 套件清單中是否還有 NumPy 套件 輸入 conda search PACKAGE_NAME可以檢視指定套件在 conda 中可安裝的版本列表。 # 檢視 NumPy 在 conda 中可安裝的版本 conda search numpy=1.16.3 |
||||
5.用Anaconda prompt來建立虛擬環境 |
5.使用Anaconda prompt來建立虛擬環境 功能:可以建立多個Anaconda虛擬環境 例如:目前安裝後預設是python 3.x版本的環境,若要創建一個python 2.x的環境,就可以在Anaconda虛擬環境實現 (1)# 檢視電腦中可使用與目前所在的工作環境 conda env list (2)使用 conda create --name ENVIRONMENT python=MAIN.MINOR.PATCH 指令可以建立出乾淨、極簡且資源隔絕的工作環境。 指令:conda create -n 虛擬環境名稱 python=版本 anaconda # 建立一個名稱為 demo 的 Python 2 工作環境 conda create --name demo python=2 範例:建立py27env環境 conda create -n py27env python=2.7 anaconda (3)輸入 conda activate ENVIRONMENT 可以啟動指定工作環境、 方法1:conda activate ENVIRONMENT 方法2:activate ENVIRONMENT 範例:activate py27env 方法3:到windows→開始→點選Anaconda prompt(py27env) (4)關閉虛擬目錄,回到原本pytohn環境(base) 使用 conda deactivate 則是切換回預設的 base 工作環境。 方法1:conda deactivate 方法2:deactivate (5)# 檢視 demo 工作環境中的套件 conda list -n py27env (5)範例 A.建立py27env虛擬環境 conda create -n py27env python=2.7 anaconda B.切換到py27env虛擬環境 activate py27env C.檢視 demo 工作環境中的套件 conda list -n py27env D.# 檢視 Python 版本 python --version E.關閉虛擬目錄,回到原本pytohn環境(base) deactivate (5)複製一個與目前pyhon環境(或是py27env) 完全相同的工作環境 conda create -n 新虛擬環境名稱 --clone root 範例:conda create -n py27env2 --clone root # 檢查明確所有虛擬環境名稱 conda info -e (6)移除某個虛擬環境 conda remove -n 虛擬環境名稱 --all 範例:conda remove -n py27env --all (7)常用指令整理 安裝:conda install 更新:conda update 移除:conda remove 在工作環境管理透過 創建:conda create 啟動:conda activate 停止:conda deactivate 匯出設定檔:conda env export 移除:conda remove |
||||
6.使用Spyter編譯器 |
6.使用Spyter:編譯器 (1)新增一個py檔案 File→ New file print("你好,歡迎光臨") print(1+1) Run➤ (2)開啟已經存在的檔案 方法1:File→ Open 方法2:拖曵檔案總管的py檔案到Spyder (3)在Spyter使用簡易智慧輸入 方法:按『tab』 範例: 先輸入p 然後按『tab』 出現list清單,都是p開始的指令 (4)程式除錯 方法1:若是這一行有指令寫錯,就會在最左邊出現三角形▲警告icon 方法2:在這個一行最左邊double click,就會出現中斷點(或是這一行按F12) |
||||
7.jupyter notebook網頁版的python編輯器 |
7.jupyter notebook (1)功能:是網頁版的python編輯器,副檔名為IPthon 會開啟瀏覽器:http://localhost:8888/tree 對應的硬碟目錄 = C:\Users\電腦名稱 (例如: C:\Users\user) (2)練習線上編輯一個簡單python程式 A.右方→New→Python3 在cell裡面輸入In[1] a = ("apple","grape","banana") print(a[2]) B.Run C.修改檔案名稱→Untitled→exp1-3 D.查詢雲端檔案放置位置:C:\Users\電腦名稱\exp1-3.ipynb (3)二種不同的Run方式 A.Run:會新增一個new cell B.Ctrl+Enter:會停留在原本的cell (4)在jupyter notebook使用簡易智慧輸入 方法:按『tab』 範例: 先輸入p 然後按『tab』 出現list清單,都是p開始的指令 (5)在jupyter notebook編輯的檔案無法讓python IDE編譯 jupyter notebook編輯的檔案是.ipynb 與python的.py不同 改善方法:只能把程式碼複製貼上,在兩個平台交流 |
||||
8.其它線上雲端可編譯的python平台 |
8.其它線上雲端可編譯的python平台 網站:http://rep.it/languages/python3 |
||||
Chp1. 輸入與輸出 | |||||
上課練習範例 | 1-1-輸出生日快樂-換行-跳格 | 1-2-輸出1個變數,多個變數 | 1-3-輸入姓名年紀,讀入變數,然後輸出歡迎訊息 | ||
範例1-1:輸出 |
1.輸出指令:print('how are you') print('你好\t歡迎\n光臨') \t:跳格對齊 \n:換行 |
||||
輸入 |
2.輸入指令:input('your name?') | ||||
範例1-2 |
範例1-2: n = input('請問你的姓名?') y = int(input('請問你的年紀?')) h = float(input('請問你的身高?')) print(n,',你好') print('你今年',y,'歲') print('你身高',h,'公分') |
||||
註解符號 |
pyhon註解符號:# | ||||
pyhon程式結尾不需要; |
pyhon程式結尾不需要; | ||||
print在3.X被改為函式 |
print在3.X被改為函式,所以需要() print('abc') |
||||
範例1-3:print多個變數 |
範例1-3:print多個變數 fruit = 'apple' price = 30 print('水果=',fruit,',價錢=',price) |
||||
範例1-4:print的分隔字元設定sep,與結束字元設定end |
範例1-4:print的分隔字元設定sep,與結束字元設定end sep 預設值 = ' ',空白字元(間隔一個空白格) end 預設值 = '\n',換新行字元 fruit = 'apple' price = 30 print('水果=',fruit) print('價錢=',price) print('水果=',fruit,sep='\t',end='') print('價錢=',price,sep='\t',end='') |
||||
範例1-5:print的格式化輸出%s,%d,%f |
範例1-5:print的格式化輸出%s,%d,%f %s文字,%d整數,%f浮點數 %6.2f = 小數點2位,共6個數字 %8s = 總共8個字元輸出 公式:print("格式輸出項目" % (變數)) fruit = 'apple' price = 30 print("%s 的價錢為 %f" % (fruit, price)) print("%8s 的價錢為 %6.2f" % (fruit, price)) |
||||
Chp2. 變數,數字的運算,資料型別 | |||||
上課練習範例 | 2-1-type(a),查詢a的資料型態 | 2-2-輸入2個數字,然後計算,加減乘除,商數,餘數,次方 | 2-3-如何計算兩個相加:5+"6"(使用int()轉換函數) | 2-4-輸入三位同學成績,然後計算平均成績 | |
1.整數 | 2.浮點數 | 3.字串 | 4.布林值 | 4.變數的資料型態:type(變數) | |
5.印出變數的資料型態:type(變數) | 範例2-1 | 6.變數 | 範例2-2 | 7.算術運算子 | |
8.變數遞增,遞減(再加上,再減去) | 9.比較運算子 | 10.邏輯運算子 | 11.in與is運算子 | 範例2-3 | |
pyhon變數不需要宣告 |
pyhon的變數不需要宣告,即可以使用,系統會根據指定值來設定變數型態 a = 5 b = "apple" |
||||
變數設定值可以多個變數一起設定 |
pyhon的變數設定值,可以多個值在一行一起設定: a = b = c = 5 name,price = "apple",30 |
||||
變數名稱不可設定成這些保留字 |
pyhon變數名稱不可設定成這些保留字: 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 |
||||
pyhon 3.x版本的變數支援中文名稱 |
pyhon 3.x版本的變數支援中文名稱 但最好不要用中文變數名稱 |
||||
pyhon 脫逸字元,跳脫字元 |
pyhon 脫逸字元,跳脫字元有下列幾個\: \\ = 反斜線 \' = 單引號 \" = 雙引號 \a = 鈴聲 \b = 倒退 \f = 換頁 \n = 換列 \r = 返回 \t = 水平跳格 \v = 垂直跳格 \N{id} = Unicode資料庫ID \uhhhh = Unicode 16位元之十六進位值 \Uhhhh = Unicode 32位元之十六進位值 \xhh = 十六進位值 \ooo = 八進位值 \0 = null (是null字元,python不像C用null字元來判斷字串結束) s = 'a\nb\tc' print(s) 結果: a b c |
||||
轉換資料型態函數 |
轉換資料型態函數: int():轉成整數 float():轉成浮點數 str():轉成文字 |
||||
範例2-1:計算三位同學的平均分數 |
輸入函數:a1 = input(訊息) 範例2-1:計算三位同學的平均分數 a1 = input('輸入第一位同學成績=?') a2 = input('輸入第二位同學成績=?') a3 = input('輸入第三位同學成績=?') avg = (int(a1)+int(a2)+int(a3))/3 print('平均分數=%5.2f'% (avg)) |
||||
python的文字連接串接字元+ |
python的文字連接串接字元:+ vb.net的文字連接串接字元:& c#,javascript的文字連接串接字元:+ php的文字連接串接字元:. |
||||
1.整數 |
1.整數: A.特色:資料範圍沒有限制,可以任意大的數字 B.次方:5**4 = 5*5*5*5 C.轉換成整數的函數:int(3.14) = 3 D.二進位表示 = int('100',2) = 4 有一個二進位數 = 100,若把它轉成整數 = 4 |
||||
2.浮點數 |
2.浮點數 A.特色:有小數點的數 B.轉換成浮點數的函數:float('3.14') = 3.14 |
||||
3.字串 |
3.字串 = 'abc' A.轉換成字串的函數:str(3.14) = '3.14' |
||||
4.布林值 |
4.布林值 A.特色:兩種數值:True,False B.例如:等於False的各種寫法 False = 0 = 0.0 = None = () 空tuple = [] 空串列/數組 = {} 空字典 = '' 空字串 C.轉換成bool布林的函數:bool(1) = True bool(0) = False bool(()) = False |
||||
4.變數的資料型態:type(變數) |
顯示變數的資料型態:type(變數) type(20) = <class int> type('abc') = <class str> type(3.14) = <class float> type(True) = <class bool> a = 20 print(a, type(a)) b = 'abc' print(b, type(b)) c = 3.14 print(c, type(c)) d = True print(d, type(d)) |
||||
5.印出變數的資料型態:type(變數) |
type(20) = <class int> type('abc') = <class str> type(3.14) = <class float> type(True) = <class bool> |
||||
範例2-2: |
a = 20 print(a, type(a)) b = 'abc' print(b, type(b)) c = 3.14 print(c, type(c)) d = True print(d, type(d)) |
||||
6.變數: |
6.變數: A.觀念1:傳統的c,c++,java屬於『靜態語言』,變數使用前必須要先宣告。而且一旦宣告後,就不能更改資料型態了。 B.觀念2:python屬於『動態語言』,變數使用前不須要先宣告。而且一旦宣告後,還能夠隨時更改變數的資料型態(=右邊直接更改)。 |
||||
範例3-2: |
a = 20 print(a, id(a)) a = 'abc' print(a, id(a)) 補充:id(變數)可以顯示該筆數的記憶體編號 C.變數的命名: ☎變數的開頭,不可以說數字 ☎變數的開頭,可以是『英文字母,unicode字元,底線_』 ☎變數可以說『中文』 ☎大小寫字母的變數,視為不同(A,a) ☎特定英文(函數名稱)不可以當作變數,例如:if,else,for... ☎正確範例:socore_1,成績 ☎錯誤範例:1_socore,成績? |
||||
7.算術運算子 |
7.算術運算子 加,a=5+3 減,a=5-3 乘,a=5*3 浮點除法,a=5/3 整數除法,a=5//3(相除的整數商 //) 相除後求餘數,a=5%3 次方,a=5**3 先乘除,後加減,例如:a=(5+3*2) |
||||
8.變數遞增,遞減(再加上,再減去) |
8.變數遞增,遞減(再加上,再減去) 再加,a=a+3,a+=3 再減,a=a-3,a-=3 再乘,a=a*3,a*=3 再浮點除法,a=a/3,a/=3 再整數除法,a=a//3,a//=3 再相除後求餘數,a=a%3,a%=3 再次方,a=a**3,a**=3 |
||||
9.比較運算子 |
9.比較運算子 >,>=,<,<= 判斷是否等於:if(a==b) 判斷是否不等於:if(a!=b) |
||||
10.邏輯運算子 |
10.邏輯運算子 以及:if(x>3 and x<6) 或:if(x>3 or x<6) 非:if(not(x>3)) |
||||
11.in與is運算子 |
11.in與is運算子 (1).x in y:判斷x是否為y的其中一個元素 (2).x is y:判斷x是否與y變數的id編號是否相同(是否為同一個物件) |
||||
範例2-3: |
x = 1 y = [1,2,3] print(x in y) x = 4 y = [1,2,3] print(x not in y) x = 4 y = '4' print(x is y) x = 4 y = '4' print(x is not y) 注意鑑別: x not in y x is not y |
||||
chp3.選擇結構if | |||||
上課練習範例 | 3-1-輸入成績,雙向選擇:判讀分數a,及格,或不及格 | 3-2-雙向選擇:判斷輸入的數字,是奇數,或偶數? | 3-3-多向選擇:判斷分數a,是滿分(100),是優等(a>85),或中等(60<a<85,或不及格(a<60) | 3-4-多向選擇:判斷輸入的數字a,b,誰大? | |
目錄 | 1.雙向選擇 | 範例5-1:判斷數字奇數,或偶數 | 2.多向選擇 | 範例5-2:判斷a,b數字誰大 | |
3.運算子in的判斷 | (1).範例5-3:判斷tuple是否包含某元素 | (2).範例5-4:判斷串列/數組list是否包含某元素 | (3).範例5-5:判斷字典dict是否包含某元素 | (4).範例5-6:判斷集合set是否包含某元素 | |
python的缩排格式 |
python的缩排格式: |
||||
1.雙向選擇 |
1.雙向選擇 |
||||
範例5-1:判斷數字奇數,或偶數 |
範例5-1:判斷數字奇數,或偶數 |
||||
2.多向選擇 |
2.多向選擇 |
||||
範例5-2:判斷a,b數字誰大 |
範例5-2:判斷a,b數字誰大 |
||||
3.範例5-3:運算子in的判斷 |
3.運算子in的判斷 |
||||
(2).範例5-4:判斷串列/數組list是否包含某元素 |
(2).範例5-4:判斷串列/數組list是否包含某元素 |
||||
(3).範例5-5:判斷字典dict是否包含某元素 |
(3).範例5-5:判斷字典dict是否包含某元素 |
||||
(4).範例5-6:判斷集合set是否包含某元素 |
(4).範例5-6:判斷集合set是否包含某元素 |
chp4.迴圈結構for,while | |||||
上課練習範例 | 4-1-印出10行恭喜發財-for迴圈 | 4-2-印出99乘法表i*j-for迴圈 | 4-3-99乘法表i*j,印到i=5就停止 | 4-4-99乘法表i*j,到i=5就跳過,直接顯示下一輪 | |
4-5-印出10行恭喜發財-while迴圈 | 4-6-計算1到10的總和 | ||||
目錄 | 1.迴圈for loop有四種 | 範例4-1:印出10行恭喜發財 | 範例4-2:印出99乘法表 | (2).簡化寫法:只寫終止值 | |
(3).三種控制迴圈的指令 | 範例4-3:99乘法表到i=5就停止 | 範例4-4:99乘法表到i=5就跳過 | |||
範例4-6:使用for讀取串列/數組list的所有元素 | 範例4-8:用for產生串列/數組list | 範例4-9:製作99乘法表串列/數組 | |||
2.while迴圈 | 範例4-14:,計算1到10的總和 | 範例4-15:輸入n,計算1到n的平方合 | 範例4-16:列出1到1000,不被2也不被3整除數字 | ||
範例4-20:猜數字,猜1~99的數 | 範例4-19:丟骰子,丟出6遊戲結束 | ||||
迴圈for loop有四種 |
for loop有四種: |
||||
1.for迴圈 |
1.for迴圈 |
||||
範例4-1:印出10行恭喜發財 |
範例4-1:印出10行恭喜發財 |
||||
範例4-2:印出99乘法表 |
範例4-2:印出99乘法表 |
||||
(2).簡化寫法:只寫終止值(若是起始值=1,遞增1) |
(2).簡化寫法:只寫終止值(若是起始值=1,遞增1) |
||||
(3).三種控制迴圈的指令 |
(3).三種控制迴圈的指令 |
||||
範例4-3:99乘法表i*j,印到i=5就停止 |
範例4-3:99乘法表i*j,印到i=5就停止 |
||||
範例4-4:99乘法表i*j,到i=5就跳過 |
範例4-4:99乘法表i*j,到i=5就跳過,直接顯示下一輪 |
||||
(5).範例4-6:使用for讀取串列/數組list的所有元素 |
(5).範例4-6:使用for讀取串列list的所有元素 |
||||
(7).範例4-8:用for產生串列/數組list |
(7).範例4-8:用for產生串列list |
||||
範例4-9:製作99乘法表串列 |
範例4-9:製作99乘法表串列,但是每個元素都是一個tuple, |
||||
(10).while迴圈 |
(10).while迴圈 |
||||
範例4-14:計算1到10的總和 |
範例4-14:計算1到10的總和 |
||||
範例4-15:輸入n,計算1到n的平方合 |
範例4-15:輸入n,計算1到n的平方合(1**2+2**2+3**2+...n**2) |
||||
範例4-16:列出1到100,不被2也不被3整除數字 |
範例4-16:列出1到100,不被2也不被3整除的數字 |
||||
範例4-19:丟骰子,丟出6遊戲結束 |
範例4-19:丟骰子,直到丟出6,才顯示遊戲結束 |
||||
範例4-20:猜數字,猜1~99的數 |
範例4-20:猜數字,猜1~99的數,若是不對,則會提示猜小了,猜大了,猜中了 |
||||
chp5. 資料的儲存容器1:串列/數組(list) | |||||
上課練習範例 | 5-1-list基本操作(建立,新增,修改,刪除,查詢) | 5-2-串列的四種查詢 | 5-3-串列的排序 | 5-4-list的index編號 | |
5-5-list的排序 | 5-6-list的進階排序(呼叫自訂函數) | 5-7-list的複製 | 5-8-list的合併 | ||
5-9-list的迴圈應用 | 5-10-list的List Comprehension(綜合表達式,推導式) | ||||
python資料的四種儲存容器Containers | 範例5-0:四種容器 | 範例5-1:list的基本操作(建立,新增,修改,刪除,查詢) | 範例5-2:list的四種查詢 | 範例5-3:list的簡單排序 | |
範例5-4:list的index編號 | 範例5-5:list的中階排序 | 範例5-6:list的進階排序(呼叫自訂函數) | 範例5-7:list的複製 | 範例5-8:list的合併 | |
範例5-9:list的迴圈應用 | 範例5-10:list的List Comprehension(綜合表達式,推導式) | ||||
範例5-4:顯示二維串列:用enumerate(a)來讀取資料 | 範例5-5:查詢元素是否在串列list內 | ||||
python資料的四種儲存容器Containers |
python資料的四種儲存容器Containers: |
||||
範例5-0:四種容器:list,set,dict,tuple |
|
||||
範例5-1:list的基本操作(建立,新增,修改,刪除,查詢) |
#第5章.串列/數組/列表(list):基本操作(建立,新增,修改,刪除,查詢) |
||||
範例5-2:list的四種查詢 |
#範例5-2:串列的四種查詢 |
||||
範例5-3:list的簡單排序 |
#範例5-3:串列的排序 |
||||
範例5-4:list的index編號 |
#範例5-4:串列/數組/列表,list的index編號 |
||||
範例5-3:串列(list):類似傳統的陣列 |
7.#範例5-3:串列(list):類似傳統的陣列 |
||||
範例5-5:查詢元素是否在串列list內 |
#範例5-5:查詢元素是否在串列list內: |
||||
chp6. 資料的儲存容器2:集合(set) | |||||
python資料的四種儲存容器Containers | 範例6-0:四種容器 | 9.範例6-7:集合(set):以{..}儲存的變數 | 範例6-8:製作英翻中字典 | ||
範例6-9:顯示對聯文字集合 | 範例6-10:比較兩段詩詞的共同字 | 範例6-11:查詢數學及格名單 | |||
上課練習範例 | 6-1-集合(set) | 6-2 | 6-3 | ||
python資料的四種儲存容器Containers |
python資料的四種儲存容器Containers: |
||||
6.四種容器:範例6-0 |
|
||||
9.範例6-2:集合(set):以{..}儲存的變數 |
9.範例6-2:集合(set):以{..}儲存的變數 |
||||
範例6-3:顯示一個對聯的文字集合(刪除標點符號) |
#範例6-3:顯示一個對聯的文字集合(刪除標點符號) |
||||
範例6-4:顯比較兩段詩詞的共同字有哪些 |
(8).範例6-4:顯比較兩段詩詞的共同字有哪些? |
||||
範例6-5:已知全班同學中數學及格名單,英文及格名單 |
(9).範例6-5:已知全班同學中數學及格名單,英文及格名單。 |
||||
chp7. 資料的儲存容器3:字典(dict) | |||||
上課練習範例 | 7-1-字典dict的基本操作(建立,新增,修改,刪除,查詢) | 7-2-製作英翻中字典,輸入任何英文,顯示中文解釋 | 7-3-dict的keys, values, items | 7-4-字典dict,如何刪除欄位 | |
上課練習範例 | 7-5-字典dict的3種迴圈 | 7-6-字典dict的複製 | 7-7-巢狀字典dict與串列字典 | ||
python資料的四種儲存容器Containers | 範例7-0:四種容器 | 8.範例7-6:字典(dict):類似傳統的結構struct物件,類別物件 | 範例7-12:輸入名單,提供查詢 | ||
python資料的四種儲存容器Containers |
python資料的四種儲存容器Containers: |
||||
6.四種容器:範例7-0 |
|
||||
8.範例7-6:字典(dict):類似傳統的結構struct物件,類別物件 |
#範例7-6:字典(dict):類似傳統的結構struct物件,類別物件 |
||||
範例7-8:製作英翻中字典(貓狗魚豬),若是沒有該字顯示找不到 |
#範例7-8:製作英翻中字典(貓狗魚豬),若是沒有該字顯示找不到 |
||||
範例7-12:輸入三位班上同學姓名,email,然後提供查詢 |
(10).範例7-12:輸入三位班上同學姓名,email,然後提供查詢 |
||||
chp8. 資料的儲存容器4:元組(tuple) | |||||
python資料的四種儲存容器Containers | 範例8-0:四種容器 | 6.tuple:範例8-1 | |||
上課練習範例 | 8-1-元組(tuple)-無法編輯 | ||||
python資料的四種儲存容器Containers |
python資料的四種儲存容器Containers: |
||||
6.四種容器:範例8-0 |
|
||||
6.tuple:範例8-1 |
#範例8-1:tuple: |
||||
chp9.自訂函數,函式def | |||||
上課練習範例 | 📣9-1-不傳回值函數(算面積) | 📣9-2-傳回值的函數(算面積) | 9-3-函數多個傳回值 | 9-4-函數傳任意個參數:*a1 | |
9-5-函數傳list,或dict | 📣9-6-lambda一行函數寫法,判別分數,及格或不及格? | 📣9-7-lambda一行函數寫法,猜測1~99的終極密碼,回答:猜中,猜太小,猜太大 | |||
1.不傳回值的函數 | 範例9-1:計算1+2+3..+n總和 | 2.有傳回值的函數 | 範例9-2:計算四方形面積 | 3.全域變數,區域變數 | |
4.在函數內使用全域變數 | 5.範例9-3:傳遞參數可以用起始值 | 14.範例9-13:兩種內建排序函數:sort和sorted | 範例9-13:一般排序 | 範例9-20:查詢元素是否在串列list內(1) | |
範例9-21:查詢元素是否在list(2)a.index(txt) | |||||
1.不傳回值的函數: |
1.不傳回值的函數: |
||||
範例9-1:計算1+2+3..+n總和函數 |
範例9-1:呼叫計算1+2+3..+n的總和的函數 |
||||
2.有傳回值的函數: |
2.有傳回值的函數: |
||||
範例9-2:呼叫計算四方形面積函數 |
範例9-2:呼叫計算四方形面積的函數 |
||||
3.全域變數,區域變數 |
3.全域變數,區域變數 |
||||
4.如何使用全域變數:global |
4.在函數內的區域,如何使用全域變數:global |
||||
6.範例9-4:如何接收多個函數回傳值 |
6.範例9-4:如何接收多個函數回傳值 |
||||
14.範例9-13:兩種內建排序函數:sort和sorted |
14.範例9-13:Python提供兩種內建排序的函數:sort()和sorted() |
||||
範例9-13:一般排序 |
(6).範例9-13:一般排序 |
||||
範例9-20:查詢元素是否在串列list內 |
(2).範例9-20:查詢元素是否在串列list內, |
||||
範例9-21:一維串列:a.index(txt) |
範例9-21:一般一維串列:a.index(txt) |
||||
chp10.例外情況exception | |||||
上課練習範例 | 10-1-輸入數字,但是卻輸入字母,會出現錯誤:try...except | 10-2-出現錯誤的原因有太多種了,若是根本不知道錯誤原因的寫法,乾脆就用except Exception as e:就好了 | 10-3-try-except-else-finally,完指令發生錯誤時的處理except,正確時的處理else, 最後結束的處理finally | ||
Try-catch | 範例10-1:要輸入數字,但是卻輸入字母,出現錯誤 | 知道錯誤原因(ValueError)就可以指定錯誤種類 | 範例10-2:除到0,則錯誤型態是ZeroDivisionError | ||
範例10-3:不知道錯誤原因用except | 範例10-4:完整寫法:try-except-else-finally | ||||
Try-catch |
1.Try-catch |
||||
範例10-1:要輸入數字,但是卻輸入字母,出現錯誤 |
(2).範例10-1:要輸入數字,但是卻輸入字母,出現錯誤 |
||||
知道錯誤原因(ValueError)就可以指定錯誤種類 |
(3).若是知道出現錯誤的原因是(ValueError)就可以指定錯誤種類,否則都不知道,就用except |
||||
範例10-2:除到0,則錯誤型態是ZeroDivisionError |
(4).範例-2:若是除法,除到0,則錯誤的型態是(ZeroDivisionError) |
||||
範例10-3:不知道錯誤原因用except |
(5).範例10-3::出現錯誤的原因有太多種了,若是根本不知道錯誤原因的寫法,乾脆就用except就好了 |
||||
範例10-4:完整寫法:try-except-else-finally |
(6).範例10-4:完整寫法:try-except-else-finally |
||||
chp11.模組/模塊module,套件packages | |||||
上課練習範例 | 11-1-使用模組module:呼叫另外一個檔案area.py裡面的函數面積() | 11-2-使用模組module:使用另外一個檔案student.py裡面的dict變數stu | 11-3-使用模組module:使用另外一個檔案student.py裡面的dict變數stu | ||
目錄 | 1.範例11-1:模組module | 2.套件packages | 範例11-2:丟骰子,撲克牌(套件packages法) | 範例11-3:開出樂透6數(單一程式) | |
範例11-4:開出樂透6數(呼叫模組檔案) | |||||
1.範例11-1:模組module |
1.範例11-1:模組module |
||||
2.套件packages |
2.套件packages |
||||
範例11-2:丟骰子,撲克牌 |
(4).範例11-2:丟骰子,撲克牌(使用套件packages法) |
||||
範例11-3:開出樂透6個數字 |
(5).範例11-3:開出樂透6個數字(產生1~48其中的6個數字,不可以重複),將結果小到大排序 |
||||
chp12.資料夾模組,檔案模組(os),存取純文字檔,存取csv檔 | |||||
上課練習範例 | 12-1-OS文件與目錄:顯示目錄+檔案清單,移動到指定目錄 | ||||
1.資料夾模組:os | 範例12-1:建立目錄,刪除目錄,顯示檔案 | 範例12-2:把該目錄下方的資料夾以串列顯示 | 範例12-3:到某個目錄查詢指定檔案名稱 | ||
範例12-4:顯示目前目錄下的完整路徑(目錄+檔案名稱) | 範例12-5:更有效率的顯示目前目錄下的完整路徑 | 3.存取文字檔 | 範例12-6:讀取exp12-1.py的所有內容 | ||
範例12-7:使用迴圈,一行一行讀取exp12-1.py的所有內容 | 範例12-8:讀取目前目錄下所有檔案的文字內容 | 範例12-9:存入exp12-10.py,印出新年快樂 | 範例12-11:存入exp12-10.py,印出新年快樂,但是用try...except | ||
1.資料夾模組:os |
1.功能:刪除資料夾(檔案),儲存資料夾(檔案),修改資料夾(檔案),查詢資料夾(檔案) |
||||
範例12-1:建立目錄,刪除目錄,顯示檔案 |
(2).範例12-1.py |
||||
範例12-2:把該目錄下方的資料夾以串列顯示 |
(3).範例12-2.py |
||||
範例12-3:到某個目錄查詢指定檔案名稱 |
2.模組:glob |
||||
範例12-4:顯示目前目錄下的完整路徑(目錄+檔案名稱) |
(5).範例12-4.py |
||||
範例12-5:更有效率的顯示目前目錄下的完整路徑 |
(6).範例12-5.py |
||||
3.存取文字檔 |
3.存取文字檔 |
||||
範例12-6:讀取exp12-1.py的所有內容 |
(1).範例12-6.py |
||||
範例12-7:使用迴圈,一行一行讀取exp12-1.py的所有內容 |
(2).範例12-7.py |
||||
範例12-8:讀取目前目錄下所有檔案的文字內容 |
(3).範例12-8.py |
||||
範例12-9:存入exp12-10.py,印出新年快樂 |
(4).範例12-9.py |
||||
範例12-11:存入exp12-10.py,印出新年快樂,但是用try...except |
(5).範例12-11.py |
||||
chp13.日期函式庫(日期時間,iterate,itertools,filter) | |||||
上課練習範例 | 13-1-顯示現在日期時間 | 13-2-使用strftime()函數將日期時間輸出成各種格式 | |||
1.日期時間函式庫 | 範例13-1:模組datetime(顯示日期,時間 | 範例13-2:模組date(只能顯示日期) | 範例13-3:模組timedelta(間隔日期,時間) | 範例13-4:傳回自1970年1月1日凌晨0:0:0開始至今的秒數 | |
範例13-5:計算呼叫某個函式所需要的時間 | 2.可以迭代(iterate)的函式庫= itertools,函式enumerate,zip,filter,map,reduce | 範例13-6:顯示陣列 | 範例13-7:zip(a,b)是結合兩個可迭代物 | 範例13-8:模組itertools:給定起始值,遞增值,就可以產生無窮數列 | |
範例13-9:filter(過濾函數def或lambda,資料列) | 範例13-10:過濾模組map | 範例13-11:操作每個元素模組reduce | 範例13-12:套件collections-模組OderedDict:可將兩個串列,合併形成成一個字典dict | 範例13-13:模組deque:操作可迭代資料列,新增,刪除,反轉 | |
例13-14:模組dCounter:可計算可迭代資料列相同元素的次 | |||||
1.日期時間函式庫 |
1.日期時間函式庫 |
||||
範例13-1:模組datetime(顯示日期,時間 |
(2).範例13-1:模組datetime(顯示日期,時間) |
||||
範例13-2:模組date(只能顯示日期) |
(3).模組date(只能顯示日期) |
||||
範例13-3:模組timedelta(間隔日期,時間) |
(4).模組timedelta(間隔日期,時間) |
||||
範例13-4:傳回自1970年1月1日凌晨0:0:0開始至今的秒數 |
(5).模組time(時間) |
||||
範例13-5:計算呼叫某個函式所需要的時間 |
範例13-5.py |
||||
2.可以迭代(iterate)的函式庫= itertools,函式enumerate,zip,filter,map,reduce |
2.可以迭代(iterate)的函式庫 |
||||
範例13-6:顯示陣列 |
☎範例13-6.py |
||||
範例13-7:zip(a,b)是結合兩個可迭代物 |
(3).zip(a,b)是結合兩個可迭代物件 |
||||
範例13-8:模組itertools:給定起始值,遞增值,就可以產生無窮數列 |
(4).模組itertools |
||||
範例13-9:filter(過濾函數def或lambda,資料列) |
(5).過濾模組filter |
||||
範例13-10:過濾模組map |
(6).過濾模組map |
||||
範例13-11:操作每個元素模組reduce |
(7).操作每個元素模組reduce |
||||
範例13-12:套件collections-模組OderedDict:可將兩個串列,合併形成成一個字典dict |
3.套件collections |
||||
範例13-13:模組deque:操作可迭代資料列,新增,刪除,反轉 |
(2).模組deque |
||||
例13-14:模組dCounter:可計算可迭代資料列相同元素的次 |
(3).模組dCounter |
||||
|
|||||
chp14.常用數學函數 | |||||
上課練習範例 | 14-1-基本數學函數:abs(), max(), pow(), round() | 14-2-使用math數學模組函數庫 | 14-3-使用random數學亂數模組函數 | ||
1.不傳回值的函數 | 範例14-1:計算1+2+3..+n總和 | 2.有傳回值的函數 | 範例14-2:計算四方形面積 | 3.全域變數,區域變數 | |
4.在函數內使用全域變數 | 5.範例14-3:傳遞參數可以用起始值 | 14.範例14-13:兩種內建排序函數:sort和sorted | 範例14-13:一般排序 | 範例14-20:查詢元素是否在串列list內(1) | |
範例14-21:查詢元素是否在list(2)a.index(txt) | |||||
1.不傳回值的函數: |
1.不傳回值的函數: |
||||
範例14-1:計算1+2+3..+n總和函數 |
範例14-1:呼叫計算1+2+3..+n的總和的函數 |
||||
2.有傳回值的函數: |
2.有傳回值的函數: |
||||
範例14-2:呼叫計算四方形面積函數 |
範例14-2:呼叫計算四方形面積的函數 |
||||
3.全域變數,區域變數 |
3.全域變數,區域變數 |
||||
4.如何使用全域變數:global |
4.在函數內的區域,如何使用全域變數:global |
||||
6.範例14-4:如何接收多個函數回傳值 |
6.範例14-4:如何接收多個函數回傳值 |
||||
14.範例14-13:兩種內建排序函數:sort和sorted |
14.範例14-13:Python提供兩種內建排序的函數:sort()和sorted() |
||||
範例14-13:一般排序 |
(6).範例14-13:一般排序 |
||||
範例14-20:查詢元素是否在串列list內 |
(2).範例14-20:查詢元素是否在串列list內, |
||||
範例14-21:一維串列:a.index(txt) |
範例14-21:一般一維串列:a.index(txt) |
||||
chp15.常用文字字串函數 | |||||
上課練習範例 | 15-1-常用文字字串函數 | 15-2-查詢某個字串是否在文字內? | 15-3-文字+整數的解決方法:a1.format(20) 組合文字與數字,(新版f.string格式化): f"文字{變數}" | ||
1.不傳回值的函數 | 範例15-1:計算1+2+3..+n總和 | 2.有傳回值的函數 | 範例15-2:計算四方形面積 | 3.全域變數,區域變數 | |
1.不傳回值的函數: |
1.不傳回值的函數: |
||||
範例15-1:計算1+2+3..+n總和函數 |
範例15-1:呼叫計算1+2+3..+n的總和的函數 |
||||
2.有傳回值的函數: |
2.有傳回值的函數: |
||||
chp16.讀取Excel檔案做資料分析 | |||||
上課練習範例 | 16-1-讀csv | 16-2-讀excel | 16-3-畫圖 | 16-4-基本資料分析-平均-f-string格式-90以上 | |
16-5-DataFrame與Series | 16-6-df["欄名稱"]與df.loc["列名稱"] | 16-7-列索引鍵取值.iloc | 16-8-列索引鍵取值.loc | ||
16-9-一般排序sort_values | 16-10-進階排序(函數def,lambda) | 16-11-修改-大小寫-replace | 16-12-新增insert/append | ||
16-13-刪除drop | 16-14-查詢欄位-新增欄位df.assign() | 16-15-條件查詢-一般做法-df.query() | 16-16-關鍵字查詢-.str.contains('經管') | ||
16-17-查缺值-isnull-isna-notna | 16-18-axis軸,計算mean,sum,max,min | 16-19-資料的合併:concat橫向併,縱向併,append上下併 | 16-20 | ||
1.不傳回值的函數: |
1.不傳回值的函數: |
||||
範例16-1:計算1+2+3..+n總和函數 |
範例16-1:呼叫計算1+2+3..+n的總和的函數 |
||||
2.有傳回值的函數: |
2.有傳回值的函數: |
||||