到底要怎麼開始學Python ?對於許多人來說,最難的其實不是學習的過程,而是連起步都不知道該怎麼下手,幾天這篇文章會帶大家認識基礎的python,也讓你對python也更多基礎認識!
新課程上架Udemy !
全新Python 課程上架,8小時基礎實戰!,限時優惠搶購點我!
讓你輕鬆學習:
- 了解 Python 語法與什麼是資料科學
- 使用 Pandas 套件進行資料處理
- 瞭解程式背後的邏輯與為什麼學習
- 掌握視覺化套件庫 Matplotlib
- 掌握進階視覺化套件庫 Seaborn
- 練習使用【歷屆金鐘獎資料】取得重要訊息
用8小時,省下你獨自摸索花費的時間!
Python 入門&基本教學介紹!
★ 優點一:語法簡單
我們以 C、Java、Python 三種語言為例﹐來比較哪個語法較簡易﹐讓人比較好理解
先看 C 語言。C 語言得寫出下面這段程式碼、存檔、拿著這個原始碼檔去編譯﹐才能在螢幕上印出「Hello! World!」:
#include
int main()
{
printf(“Hello! World!\n”);
}
接著來看 Java 語言。跟 C 語言很類似﹐得寫出下面這段程式碼﹐歷經「存檔、編譯、執行」三步驟後﹐在螢幕上印出「Hello! World!」字樣:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println(“Hello! World!”);
}
}
最後是 Python。Python 只要寫下面這段原始碼﹐直接按 Enter 鍵﹐不必存檔、不必編譯﹐就能直接執行﹐並印「Hello! World!」字樣:
print(“Hello! World”)
很明顯Python 贏了許多﹐如此簡易清楚﹐不用打許多就能完成﹐讓許多人喜歡~
★優點二:功能強大
Python 另一個受歡迎的原因﹐可以用在網頁設計、手機 App 撰寫、遊戲程式設計、硬體自動控制、生物醫學、大數據…等領域。所以Python能說是「萬用語言」阿。
Python 能做到「萬用語言」的原因﹐莫過於他有豐富的「函式庫(Library)」。不但累積了相當完整的標準程式庫 (模組)﹐更有無以計數的非標準模組﹐而且絕大部分都是開放原始碼的。單以內建的模組來講﹐從簡單的數學運算、字串處理、網際網路協定連線、網際網路資料處理、各種壓縮格式﹐以及 POSIX 與主要作業系統的支援功能等等﹐含括的範圍非常地廣泛。
所謂「函式庫」﹐就是把別人事先寫好的一些好用 Python 程式打成一包﹐允許你直接取用﹐而不必學習這些程式背後的寫作原理。
不僅如此﹐Pandas、scikit-learn 和 Tensorflow 等包使 Python 在高級機器學習應用中也有很強的存在感。
★優點三:能夠跨平台
各種主要的作業系統都支援 Python。Python 程式常常不需要修改﹐便能同時在 Linux 與 Windows 平台上執行﹐即使撰寫 GUI 程式 (透過 PyGTK, wxPython 等 binding) 也是一樣。所撰寫的 Python 程式透過標準的 distutils (模組) 進行包裝後﹐用標準的方式即可安裝於各種平台;在 Windows 下更可以自動產生方便的可執行 installer。
Python 的缺點
★缺點一:型別安全
Python是一個動態類型的語言,它只能進行動態類型檢查。舉例:由於在Python中,因為integer類型與string類型是不能相加的,所以經常會出現類別錯誤。
★缺點二:執行速度慢
Python 為了能在各種場合都發揮作用,就得取得各種場合的「平衡點」,沒辦法為單一情況做「最佳化」!但這點影響不大,畢竟對使用者而言,機器執行的速度可以忽略,因為感覺不太出速度的差異XD
Python 的基礎語法
變數型態
• 布林(Boolean) ‣ True / False
• 整數(Integer) ‣ 24, 100 …
• 浮點數(Float) ‣ 3.1416 …
• 字串(String) ‣ ‘Hello’ , “Hello” …
‣ 確認變數型態:type() e.g. type(3.14) -> float ‣ Python 3 整數無⼤⼩限制 ‣ 字串可⽤單引號或雙引號 |
命名規則
• 可以⽤來命名的字元 ‣ ⼩寫英⽂字⺟(a-z) ‣ ⼤寫英⽂字⺟(A-Z) ‣ 數字(0-9) ‣ 底線(_)
• 規則:開頭不可以是數字
‣ Python 3 統⼀使⽤Unicode (萬國碼)﹐包含中⽂字也都可⽤來命名 (但 不建議) e.g. 變數 = 3 |
保留字
不能使⽤這些字來命名
‣ False, class, finally, is , return None, continue, for, lambda, True, def, from, nonlocal, while and, del, global, not, with as, elif, if, or, yield assert, else, import, pass break, except, in, raise ,try |
基本運算
‣ 運算規則:先乘除後加減 e.g. 2 + 3 * 2 = 8 |
資料類型轉換
• 轉換成數字:int()
‣ e.g. int(12.3) = 12(無條件捨去)
• 轉換成浮點數:float()
‣ e.g. float(’12.3’) = 12.3 • 轉換成字串:str() ‣ e.g. str(12.3) = ’12.3 ’
– 輸出⾄螢幕 ‣ e.g. print(“Hello”)
– 以空⽩串接字串或數值(會被轉成字串)
‣ e.g. print(“Hello”,”Python”,123)
‣ Hello Python 123
‣ Print in Python 2 and 3 e.g. print “Hello” (Python 2) e.g. print(“Hello”) (Python 3) |
引號
– 單引號(’)和雙引號(”)效果相同
– 若字串中需使⽤單或雙引號,則須⽤另⼀種引號括住 ‣ e.g. ‘Hello’ 等於 “Hello” ‣ e.g. “I’m Ben.”
字串串接
字串串接(+) ‣ e.g. str = “Hello” + “Python” ‣ HelloPython
字串複製(*) ‣ str = “Hello” * 3 + “Python” ‣ HelloHelloHelloPython
字串字元取用
字串長度 ‣ len(str)
字元取⽤(i可為負值,代表從最後開始數,-1為最後⼀個位置)
‣ str[i]:第i個字元(從0開始算起)
‣ str[i:j]:從i到j(不包含位置j)
‣ str[:j]:從開頭(0)到j(不包含位置j)
‣ str[i:]:從i到最後
‣ str[i:j:k]:從i到j(不包含位置j),間隔k
‣ Key: 包含頭(i)不包含尾(j) ‣ Python 的切片(Slicing)規則適⽤於 許多地⽅,包含後續課程的串列 (List)、矩陣、資料表(DataFrame) 等資料格式,請務必熟悉。 |
字串切割與合併
• str.split(分隔符號)
‣ e.g. str.split(“,”)
• str(分隔符號).join(iterable) (iterable置入可迭代的物件如list)
‣ e.g. “,”.join(word_list)
⼤⼩寫轉換
• str.upper():轉⼤寫
‣ e.g. “hello”.upper() ‣ HELLO
• str.lower():轉⼩寫
‣ e.g. “HELLO”.lower() ‣ hello
其他
• 判斷是否是⼤/⼩寫:str.isupper() / str.islower()
• 判斷是否是數字:str.isnumeric()
• 字串取代:str.replace()
文章看完還是不知道該從哪裡下手?
就從線上課程開始吧!不讓你獨自摸索好幾個月,用8小時帶你走完基礎與精華,培養你基礎的Python概念,讓自學下一步不是煩惱!
全新Python 課程上架,8小時基礎實戰!,限時優惠只要NT 600 (HDK 120 起)!
不讓妳浪費一整天,只要你8小時,就能讓你學會基礎!
如果你的入門還在單打獨鬥,歡迎來到快樂學程式找到志同道合的夥伴,你的自學之路不孤單。
更多參考資料:
https://docs.python.org/3.5/library/stdtypes.html
http://www.runoob.com/python/python-basic-syntax.html