目錄
計算機三大核心硬體
計算機三大核心硬體:
1.CPU
2.記憶體
3.硬碟
為什麼不直接省略記憶體,跟硬碟溝通就好?
1.記憶體的容量一般比硬碟小的多得多
2.CPU運行速度快,硬碟運行速度慢,記憶體搭配CPU運作,提升CPU運行效率
3.只要是運行的程序 產生的數據第一時間肯定在記憶體,突然斷電數據會立刻遺失
操作系統
https://ithelp.ithome.com.tw/upload/images/20230909/20132481mxrUPlFKDC.png
控制 協調 管理計算機各個硬體的工作
PC端常見操作系統:
windows、macOS、linux
行動端常見操作系統:
Android、IOS、
程式語言的分類
1.編譯型語言 C++、Java、Golang
類似於GOOGLE翻譯(一次性翻譯) 翻譯之後可以反覆使用翻譯的結果
優勢: 一次翻譯可以反覆使用 執行效率高 速度快
劣勢: 當程序中頻繁出現bug 那麼需要反覆編譯
2.解釋型語言 python
類似於翻譯官(說一句翻一句)
優勢: 有bug和沒有bug執行效率幾乎一樣
劣勢: 速度沒有編譯型語言快
'''要想讓計算機能夠識別並運行高級語言需要對應類型的翻譯官'''
python解釋器
1.python發展方向
web方向、自動化運維、自動化測試、自動化辦公、網路爬蟲、金融量化、人工智慧、機器學習、數據分析
2.python解釋器
1.歷史
荷蘭的Guido van Rossum因為當時的程式語言存在缺陷,聖誕節期間,他決定創建一種新的語言。一種更易於使用又功能強大的語言。
2.版本
版本其實是軟體更新疊代的紀錄
python1.X:初期版本 幾乎不用
python2.X:python2.7(2020年就已經不再維護更新)
python3.X:python3.6 python3.8 python3.10+
ps:學習python語法 對版本的區別差異不大
目前常用:python2.7 python3.6 python3.8
3.下載
官網:https://www.python.org/downloads/windows/
ps:蘋果電腦macOS、linux系統(centos7、rhel7...等)自帶python2.7
4.安裝(如本頁後面:mac、windows電腦安裝python解釋器(多版本))
自訂安裝 路徑盡量簡單一些
示範:windows電腦、mac電腦
5.使用
1.windows+r
2.輸入cmd回車
3.切換盤符 C:
4.切換目錄 cd python38
5.運行解釋器 python
6.退出解釋器 exit()
7.退到上一層目錄 cd ..
運行python程序的三種方式
1.cmd直接編寫運行
適用於較短 臨時執行的代碼
2.解釋器命令運行
可以編寫較長的代碼 並且可以長久保存
3.利用IDE工具編寫並運行
IDE開發者工具:自動提示 攜帶各種功能插件 編寫程式碼效率更高更快
1.sublime
2.vscode
3.pycharm
- cmd直接編寫運行
- 解釋器命令運行
- 利用IDE工具編寫並運行(pycharm 2021.3.3)
linux、mac、windows電腦安裝python解釋器(多版本)
linux電腦安裝python解釋器(多版本)
官網Downloads網址:https://www.python.org/downloads/release/python-3918/
1. 安裝需要套件sudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel
2. WGET要安裝的python版本
3. 解壓tgz包
4. ./configure
5. sudo make
6. sudo make altinstall
7. python3.9 --version
8. 修改python3默認使用python3.9
[root@ansible ~]# sudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel
[root@ansible ~]# wget https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
[root@ansible ~]# tar -xvf Python-3.9.18.tgz
[root@ansible ~]# cd Python-3.9.18
- ./configure
[root@ansible Python-3.9.18]# ./configure
# 完成畫面
running build_scripts
creating build/scripts-3.9
copying and adjusting /root/Python-3.9.18/Tools/scripts/pydoc3 -> build/scripts-3.9
copying and adjusting /root/Python-3.9.18/Tools/scripts/idle3 -> build/scripts-3.9
copying and adjusting /root/Python-3.9.18/Tools/scripts/2to3 -> build/scripts-3.9
changing mode of build/scripts-3.9/pydoc3 from 644 to 755
changing mode of build/scripts-3.9/idle3 from 644 to 755
changing mode of build/scripts-3.9/2to3 from 644 to 755
renaming build/scripts-3.9/pydoc3 to build/scripts-3.9/pydoc3.9
renaming build/scripts-3.9/idle3 to build/scripts-3.9/idle3.9
renaming build/scripts-3.9/2to3 to build/scripts-3.9/2to3-3.9
/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py
gcc -pthread -c -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -I./Include/internal -I. -I./Include -DPy_BUILD_CORE -o Programs/_testembed.o ./Programs/_testembed.c
gcc -pthread -Xlinker -export-dynamic -o Programs/_testembed Programs/_testembed.o libpython3.9.a -lcrypt -lpthread -ldl -lutil -lm -lm
sed -e "s,@EXENAME@,/usr/local/bin/python3.9," < ./Misc/python-config.in >python-config.py
LC_ALL=C sed -e 's,\$(\([A-Za-z0-9_]*\)),\$\{\1\},g' < Misc/python-config.sh >python-config
- sudo make
[root@ansible Python-3.9.18]# sudo make
# 完成畫面
running build_scripts
copying and adjusting /root/Python-3.9.18/Tools/scripts/pydoc3 -> build/scripts-3.9
copying and adjusting /root/Python-3.9.18/Tools/scripts/idle3 -> build/scripts-3.9
copying and adjusting /root/Python-3.9.18/Tools/scripts/2to3 -> build/scripts-3.9
changing mode of build/scripts-3.9/pydoc3 from 644 to 755
changing mode of build/scripts-3.9/idle3 from 644 to 755
changing mode of build/scripts-3.9/2to3 from 644 to 755
renaming build/scripts-3.9/pydoc3 to build/scripts-3.9/pydoc3.9
renaming build/scripts-3.9/idle3 to build/scripts-3.9/idle3.9
renaming build/scripts-3.9/2to3 to build/scripts-3.9/2to3-3.9
- sudo make altinstall
[root@ansible Python-3.9.18]# sudo make altinstall
# 完成畫面
[Installing collected packages: setuptools, pip
WARNING: The script pip3.9 is installed in '/usr/local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-23.0.1 setuptools-58.1.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv](<Looking in links: /tmp/tmp73qq39wa
Processing /tmp/tmp73qq39wa/setuptools-58.1.0-py3-none-any.whl
Processing /tmp/tmp73qq39wa/pip-23.0.1-py3-none-any.whl
Installing collected packages: setuptools, pip
WARNING: The script pip3.9 is installed in '/usr/local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-23.0.1 setuptools-58.1.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv>)
- python3.9 –version
[root@ansible ~]# python3.9 --version
Python 3.9.18
- 修改python3默認使用python3.9
# 目前python3使用3.8.6
[root@ansible ~]# python3 --version
Python 3.8.6
# 查看目前python3目的地
[root@ansible ~]# which python3
/usr/local/bin/python3
# 到目的地
[root@ansible ~]# cd /usr/local/bin/
[root@ansible bin]# ll
總計 34264
lrwxrwxrwx. 1 root root 8 5月 25 2023 2to3 -> 2to3-3.8
-rwxr-xr-x. 1 root root 101 5月 25 2023 2to3-3.8
-rwxr-xr-x. 1 root root 101 12月 2 17:13 2to3-3.9
-rwxr-xr-x. 1 root root 238 5月 20 2023 easy_install-3.8
lrwxrwxrwx. 1 root root 7 5月 25 2023 idle3 -> idle3.8
-rwxr-xr-x. 1 root root 99 5月 25 2023 idle3.8
-rwxr-xr-x. 1 root root 99 12月 2 17:13 idle3.9
-rwxr-xr-x. 1 root root 229 5月 20 2023 pip3
-rwxr-xr-x. 1 root root 229 5月 20 2023 pip3.8
-rwxr-xr-x. 1 root root 229 12月 2 17:13 pip3.9
-rwxr-xr-x. 1 root root 238 5月 25 2023 pyarmor
-rwxr-xr-x. 1 root root 234 5月 25 2023 pyarmor-7
-rwxr-xr-x. 1 root root 227 5月 25 2023 pyarmor-8
lrwxrwxrwx. 1 root root 8 5月 25 2023 pydoc3 -> pydoc3.8
-rwxr-xr-x. 1 root root 84 5月 25 2023 pydoc3.8
-rwxr-xr-x. 1 root root 84 12月 2 17:13 pydoc3.9
lrwxrwxrwx. 1 root root 9 5月 25 2023 python3 -> python3.8
-rwxr-xr-x. 1 root root 17118088 5月 25 2023 python3.8
-rwxr-xr-x. 1 root root 3087 5月 25 2023 python3.8-config
-rwxr-xr-x. 1 root root 17901680 12月 2 17:12 python3.9
-rwxr-xr-x. 1 root root 3087 12月 2 17:13 python3.9-config
lrwxrwxrwx. 1 root root 16 5月 25 2023 python3-config -> python3.8-config
# 修改軟連結
[root@ansible bin]# ln -sf python3.9 python3
[root@ansible bin]# ln -sf pydoc3.9 pydoc3
[root@ansible bin]# ln -sf python3.9-config python3-config
[root@ansible bin]# ln -sf idle3.9 idle3
[root@ansible bin]# ln -sf 2to3-3.9 2to3
[root@ansible bin]# ll
總計 34264
lrwxrwxrwx. 1 root root 8 12月 2 17:28 2to3 -> 2to3-3.9
-rwxr-xr-x. 1 root root 101 5月 25 2023 2to3-3.8
-rwxr-xr-x. 1 root root 101 12月 2 17:13 2to3-3.9
-rwxr-xr-x. 1 root root 238 5月 20 2023 easy_install-3.8
lrwxrwxrwx. 1 root root 7 12月 2 17:28 idle3 -> idle3.9
-rwxr-xr-x. 1 root root 99 5月 25 2023 idle3.8
-rwxr-xr-x. 1 root root 99 12月 2 17:13 idle3.9
-rwxr-xr-x. 1 root root 229 5月 20 2023 pip3
-rwxr-xr-x. 1 root root 229 5月 20 2023 pip3.8
-rwxr-xr-x. 1 root root 229 12月 2 17:13 pip3.9
-rwxr-xr-x. 1 root root 238 5月 25 2023 pyarmor
-rwxr-xr-x. 1 root root 234 5月 25 2023 pyarmor-7
-rwxr-xr-x. 1 root root 227 5月 25 2023 pyarmor-8
lrwxrwxrwx. 1 root root 8 12月 2 17:26 pydoc3 -> pydoc3.9
-rwxr-xr-x. 1 root root 84 5月 25 2023 pydoc3.8
-rwxr-xr-x. 1 root root 84 12月 2 17:13 pydoc3.9
lrwxrwxrwx. 1 root root 9 12月 2 17:25 python3 -> python3.9
-rwxr-xr-x. 1 root root 17118088 5月 25 2023 python3.8
-rwxr-xr-x. 1 root root 3087 5月 25 2023 python3.8-config
-rwxr-xr-x. 1 root root 17901680 12月 2 17:12 python3.9
-rwxr-xr-x. 1 root root 3087 12月 2 17:13 python3.9-config
lrwxrwxrwx. 1 root root 16 12月 2 17:27 python3-config -> python3.9-config
[root@ansible bin]# python3 --version
Python 3.9.18
mac電腦安裝python解釋器(多版本)
官網Downloads網址:https://www.python.org/downloads/macos/
1. Downloads
2. 找到要安裝的版本
3. 全程點繼續,完成安裝
4. 打開termimel,可以看到使用者環境變數已自動加上python3.9路徑
5. 直接可以使用
6. 要使用多版本共存,同前面1~3步驟,到官網下載並安裝版本即可,我這裡示範3.8.6本版的
Downloads
找到要安裝的版本,因為我的電腦是m1晶片,所以就不能選擇intel-only,選擇universal2
全程點繼續,完成安裝
打開termimel,可以看到使用者環境變數已自動加上python3.9路徑
直接可以使用
要使用多版本共存,同前面1~3步驟,到官網下載並安裝版本即可,我這裡示範3.8.6本版的 可以看到使用者環境變數也已自動加上python3.8路徑
windows電腦安裝python解釋器(多版本)
官網Downloads網址:https://www.python.org/downloads/windows/
1. Downloads
2. 找到要安裝的版本
3. 注意,點選Customize installation
4. 打開termimel,到安裝目錄下
5. 可以看到有一個python.exe檔案,執行即可使用
6. 要使用多版本共存,同前面1~3步驟,到官網下載並安裝版本即可
7. 每次都要到安裝目錄下,才能使用python,故將路徑直接加入環境變數。
7.1 將各版本目錄下python.exe再複製出來,並命名為版本號
7.2 檔案總管->本機右鍵->內容
7.3 進階系統設定->環境變數
7.4 找到系統變數->path點兩下
7.5 新增C:\python38、C:\python38\Scripts、C:\python39、C:\python39\Scripts,確認
7.6 開啟terminel測試
Downloads
找到要安裝的版本,因為我的電腦是w11 64bit,所以選擇Windows installer (64-bit)
注意,點選Customize installation,自訂安裝路徑,不然原安裝路徑名稱非常長,以後要找,不易
我選擇在C:\,創建一個python39資料夾,將python3.9安裝在此位置
打開termimel,到安裝目錄下
可以看到有一個python.exe檔案,執行即可使用
要使用多版本共存,同前面1~3步驟,到官網下載並安裝版本即可,我這裡示範3.8.6、本版的 我選擇在C:\,創建一個python38資料夾,將python3.8安裝在此位置
- 每次都要到安裝目錄下,才能使用python,故將路徑直接加入環境變數。
7.1 將各版本目錄下python.exe再複製出來,並命名為版本號
7.2 檔案總管->本機右鍵->內容
7.3 進階系統設定->環境變數
7.4 找到系統變數->path點兩下
7.5 新增C:\python38、C:\python38\Scripts、C:\python39、C:\python39\Scripts,確認
7.6 開啟terminel測試
7.1 將各版本目錄下python.exe再複製出來,並命名為版本號
7.2 檔案總管->本機右鍵->內容
7.3 進階系統設定->環境變數
7.4 找到系統變數->path點兩下
7.5 新增C:\python38、C:\python38\Scripts、C:\python39、C:\python39\Scripts,確認
7.6 開啟terminel測試