fbpx

到底要怎麼開始學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

基本運算

Gbvsv4SmO8vvjh2L2mx5il3qNacr0ON824qqZAz_FbH7Jn4ijgMuT8Izvv6TgucFLpMv8GiryDpgcQiM8G_HhO7Zjf3tkiOgG3q7dapeArFP3K0OzIMMdw0QDgTrA7i3ge0J8hN7

 

‣ 運算規則:先乘除後加減 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 ’

★Print

– 輸出⾄螢幕 ‣ 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

Leave a Reply