Python 執行程式的方法有幾種:
直譯器互動模式
打開你的終端機,直接輸入 Python 或 Python3 指令,系統會回傳基本資訊及 >>
,這樣代表你已經正式進入互動模式了,當你每輸入一次語法的時候,系統就會回傳你一些結果。
$ python3
Python 3.5.2 (default, Oct 11 2016, 04:59:56)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>
腳本運行方法
你也可以把 Python 語法寫到一個 .py ,在使用終端機執行檔案裡的所有語法。
$ python3 XXX.py
網頁版互動模式
也可以使用 ipython/jupyter notebook,這是基於 Python 互動模式的網頁(如下圖),提供了比原生更多的功能,操作上也有介面可以檢視。可以使用前面講過的 pip 安裝就可以使用了。
$ ipython notebook
賦值的意思就是說要把某個數值放到某個變數裡面,使用的語法符號是 = 。
x = 3
一般來說我們會在 Python 檔案的開頭加上這兩行,告訴執行程式我們的編碼使用 UTF-8。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
在 Python 中,是利用縮排去分別程式區塊的,有些程式會使用 { } ,或是 begin-end 這樣的標記。
像下面這個例子, print 語法是屬於判斷條件(if-else)下的內容,就必須透過縮排讓程式知道。值得一提的是,可以使用 tab 或是空白來縮排,不過不可混用;一般在 Python 程式中會建議採用四個空白鍵作為縮排。
if True:
print 'True'
else:
print 'False'
如果要載入一些別人已經寫好的套件,使用的是 import 語法。那取得套件的方式就是用前面講過的 pip 進行安裝。
import package
Python 是物件導向的程式語言,在 Python 的世界中,所有東西都是物件!資料型態就是程式語言中最基礎的東西。在一段,我們會說明一些內建的資料類型,及大概可以怎麼使用。可以使用 type() 函式,去查看現在的物件是什麼類型的。
>>> type(1)
<type 'int'>
>>> type(3.14)
<type 'float'>
這個例子就看到了,1 跟 3.14 是兩個值分別是 int(整數)及 float(小數)。不過要注意的是,Python 不用宣告變數,所以在進行運算的時候要避免不同的型別放在一起。
除了 int 跟 float 之外,還有其他屬於數值的型別:bool, complex, long, double 等等。
字串是在程式語言中是一種典型的型別,用來表示文字,使用 '' 或 "" 符號。
>>> x = 'hello world'
>>> type(x)
<type 'string'>
容器是程式語言中用來同時紀錄多個數值的一種型態,Python 支援的容器型態有 list、set、dict、tuple 等等。
>>> type([1, 1, 2, 3])
<type 'list'>
>>> type({1: 'a', 2: 'b'})
<type 'dict'>
>>> type({1, 1, 2, 3})
<type 'set'>
>>> type((1, 2));
<type 'tuple'>
判斷是用來判別某個條件是否成立,讓成立的與不成立分別設計要做哪怎樣的後續動作。
if 條件式:
當條件成立時,會進行哪些動作。
else:
當條件不成立時,會進行哪些動作。
那條件式通常是一個二元運算,像是 ==(等於), >(大於), <(小於)等等的。
while 迴圈是用在當某個條件成立時,會繼續執行,直到不成立時離開。
while 條件式:
當條件成立時,會進行哪些動作。
for 迴圈會根據設定的條件去迭代,直到條件為空。這邊的例子是這樣: for 會去找 students 內的東西,每次都把它印出來,直到沒有東西。
students = ['John', 'Mary', 'Tom']
for student in students:
print(student)
這樣的話結果會是,再一次迭代的時候會印出 John,第二次印出 Mary,第三次印出 Tom,然後發現是最後一個則停止。
python 定義函式用 def 開頭,括號內放參數,用來定義某一個行為或動作。以下的例子我們定義一個相加的函式。使用的時候,就直接呼叫函式名稱,然後把參數填進去。
def add(a, b):
return a + b
add(3, 4)
這個例子就會印出 7。
類別是用來自定一種物件,init 是用來初始化這個物件時使用。像是這個例子,我們可以自定定義出學生這個樣的物件。然後創造了兩個學生出來,分別是 "John" 與 "Mary"。
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
Student('John', 15)
Student('Mary', 15)