iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 5
2

執行程式

Python 執行程式的方法有幾種:

  1. 直譯器互動模式

    打開你的終端機,直接輸入 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.
     >> 
    
  2. 腳本運行方法

    你也可以把 Python 語法寫到一個 .py ,在使用終端機執行檔案裡的所有語法。

     $ python3 XXX.py
    
  3. 網頁版互動模式

    也可以使用 ipython/jupyter notebook,這是基於 Python 互動模式的網頁(如下圖),提供了比原生更多的功能,操作上也有介面可以檢視。可以使用前面講過的 pip 安裝就可以使用了。

     $ ipython notebook
    

    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 等等。

  1. 列表(list) => 有序且可變的
  2. 元祖(tuple) => 有序但不可變的
  3. 字典(dict) => Key - Value 對應的組合
  4. 集合(Set) => 無序且包含不可以重複元素的組合
>>> 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 迴圈是用在當某個條件成立時,會繼續執行,直到不成立時離開。

while 條件式:
	當條件成立時,會進行哪些動作。
  • for 迴圈

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)

Reference

  1. Python 101 快速入門教學
  2. Python 3 Tutorial 第三堂(1)函式、模組、類別與套件

上一篇
Python 程式語言初探 - 環境篇
下一篇
R 程式語言初探 - 環境篇
系列文
從學生到職場:菜鳥資料科學家的第一個月30

尚未有邦友留言

立即登入留言