iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
0
Software Development

python 自學系列 第 1

python day1 (Hello Python)

前言

為什麼要寫 python 呢?因為身邊會 python 的人真的很多,非資工本科系的人學的程式語言也都是先學 python,大家都說 python 真的很簡單,很好學.而且在 AI 或 ML 的領域裡,python 似乎是首選.於是決定來認識一下簡單的 python.

python 屬於直譯式語言

編譯式語言會需要編譯器幫忙把程式碼編譯成機器讀得懂的機器碼,然後再使用機器碼去執行.所以在編譯的時候就可以先對程式碼檢查是否有一些型別上的錯誤,否則會編譯失敗.由於編譯式語言事先已經先把程式編譯好,所以在效能上會比直譯式語言快.
例如 java 要先透過 javac 將 java 檔 compile 成 class 檔,然後再透過 java 指令執行 class 檔,jvm 會把 class 檔轉成當前環境的機器讀得懂的機器碼去執行,所以 java 可以跨平台.

直譯式語言不需要事先編譯,是透過直譯器執行,執行時一行一行的動態將程式碼直譯成機器碼並且執行。
但缺點就是無法事先知道程式碼哪邊有寫錯,在執行時候才會知道哪邊寫錯.
而且由於沒有事先編譯,直譯式語言的效能會比編譯式語言差一點.python 是屬於直譯式語言.

python 處理 Big Data

python 既然是直譯式語言效能偏差,為什麼還是大數據的分析利器,而且 AI、ML、Deep Learning 首選也都是 python.主要有兩大因素

  1. 開發快速程式碼量少好維護
  2. 有很多已經寫好的數據處理套件方便使用,不用在重寫

但面對非常大量的資料下,效能似乎是 python 的缺點,要透過其他框架來處理.

安裝執行

使用 Mac 下載 python 3.7.4 安裝完會在下面路徑

 > ~/python3 > ll /Library/Frameworks/Python.framework/Versions
total 0
drwxrwxr-x  10 root  admin   320B Sep 28  2017 2.7
drwxrwxr-x  10 root  admin   320B Jul 26 11:13 3.7
lrwxr-xr-x   1 root  wheel     3B Sep 28  2017 Current -> 2.7

使用 python2.7 時是用 python 指令,3.7 是使用 python3

> python --version
Python 2.7.13

> python3 --version
Python 3.7.4

直接下 python3 會啟動一個互動式的直譯器,可以用 cli 介面輸入 python 語法做測試

> python3
Python 3.7.4 (v3.7.4:e09359112e, Jul  8 2019, 14:54:52)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 + 2
3
>>>

接著建立一個 hello.py,內容只要寫上

print("Hello World")

直接執行就可以印出 Hello World,不用像 java 還要先了解很多 key words 還要再 compile 成 class 檔才可以印出 Hello World .

> python3 hello.py
Hello World

在 cli 裡也有一些 function 可以直接使用

>>> sum([1,2,3,4,5])
15


下一篇
python day2 (input、output、variables)
系列文
python 自學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言