大家一起學 Python – (4) Function、Class、Files

正如其他的程式語言,我們都會將常用到的一段程式定義成一個函式(Function),且有點 Functional Programming 的感覺。但應該比較少人聽過我們可以透過 Class ,把 Python 當 Object Oriented Programming 來寫。當然,這篇教學還不會對程式設計原則做深入探討這些原理背後的精神。 首先先稍微說明一下 Function 和 Class 之間的差別。Function 基本上會有一個主要的功能,並且我們宣告和呼叫一個 Function 的目的是為了減少撰寫重複的程式碼;例如:print() 就是一個輸出字元到 stdout 的一個 function。而 Class 主要為一個物件的藍圖,它可以擁有 variables 和 function;例如:bird() 這個 class 裡面會有 name 的變數,和 tweet() 的方法。 函式 Function 當我們要定義一個函式的時候,我們會用 def 來做宣告一個函式;並且 () 內為輸入(input)值。我們也可以在定義一些預設的 input,如範例裡面的。 def say_hello(name, loud=False): if loud: print(‘HELLO, …

大家一起學 Python – (3) Lists、Dict、Tuple

今天我們再來看 Python 裡一些簡單的容器 (Container)。容器可以持有任意數量的變數,方便寫程式的人存取一組變數,並且對這些變數做迭代(iteration)或遞迴(recursion)。常見的容器有 Lists、Dict(tionary)、Tuple。 Lists Python lists 基本上就是其他語言裡的 Array。 Lists 特別的地方在於它可以擁有不同形態的變數,並且可以隨時修改大小。Python lists 裡其實有很多很特別的功能,就是可以對 List 定義一個區塊,並且做切割(slicing)。 P/S: Python 的 index 是從 0 開始哦~ Dict Python dictionary 基本上跟 Java 裡的 Map 和 JavaScript 的 Object 很相似的容器。基本上一個 dict 會擁有一個 key,value pair。 Tuple Tuple 某種角度跟 Lists 非常相似,他們都是有順序的陣列。但是 Tuple 和 Lists 不同的地方在於宣告 Tuple 的值之後就不可以再更改(Immutable)。Tuple …

大家一起學 Python – (2) 數字、字串、布林值

Python 是一個高階的編程語言。基本上就是你可以在一個 runtime 下直接執行一些程式碼。 而且很多人也覺得 Python 的程式碼看上去很直覺,很像虛擬碼,因此初學者會很好上手。上一篇文章有提到了,Python 在資料科學、機器學習、深度學習方面有很多很棒的套件。如: Tensorflow、Keras、PyTorch 等… 但是在進入這些套件之前,讓我們先來了解一些 Python 的基礎。正如 C、Java 等課程,大家都會先從一些基本的 Data Type 開時。 數字 Numbers 基本上分為整數 int 和 浮點數 float。我們可以用 type() 這個 function 來看這個變數的種類。當然像其他的語言,我們可以用 + – * / % 這些 operator 來做變數的運算,但是 python 裡面是沒有 ++ — 的遞增遞減運算哦~ 想要遞增或遞減要使用 x += 1 這代入式的 shorthand。 但在 python …

大家一起學 Python – (1) 環境安裝

近幾年人工智慧和 Big Data 的蓬勃發展幾乎都讓大家想跳入這個 AI 的坑裡。過去當智慧型手機開始盛行的時候,大家都跳入寫 Java 的車上; 而最近很多人都因為人工智慧而開始跳入 Python 的坑。以下為谷歌搜尋的一些數據: 即便如此,這並不帶表 Python 比 Java 或 JavaScript 來得更好;這只是每個語言都有它們各自擅長的地方。而針對機器學習 / 深度學習這一塊,Python 算是比較常用的語言。但是資管系的 Python 只是選修課,老師不想讓同學在壓力太大的環境下學習,造成反效果。大鳥也到了後期因為一些需求,覺得這一塊需要更多加強。因此想開始在這裡寫 Python 的教學文章,希望可以幫助大家更快上手 Python。 因為 Python 2 到了 2020 年就不會再做更新維護,因此這一系列文章都會以 Python 3 為主。 環境安裝 基本上 Python 的環境安裝還蠻簡單的,主要要安裝 Python3 和 pip 就可以了。Ubuntu18.04 已經有預設裝好 Python 了,但是沒有安裝 pip。pip 為 Python 的套件安裝模組。 …