星期五, 2月 03, 2017

範例

def divide(a, b):
    try:
        result = a / b
    except ZeroDivisionError:
        print("b 值不能為零")
    else:
        print("結果", result)
    finally:
        print("執行 finally 程式區塊")


divide(2, 1)
divide(2, 0)
divide("2", "1")

程式說明:
第1行:定義一個除法的函數,名稱為divide,可以接收 a 和 b 參數值,為被除數與除數值。
第2行:使用 try 包起一個可能發生異常例外的程式區塊。
第4行:當發生程式例外狀況,會執行此程式區塊,以此例若 b 值為數字零,將會列印 『b 值不能為零』。
第6行:若try程式區塊,無發生任何程式例外,則執行else 區塊,此例則會印出 a 除以 b 的結果值。
第8行:不論 try 程式區塊,是否會發生例外或成功運行都會執行 finally 程式區塊,此區塊通常應用在釋放檔案或網路連線資源。
第14行:因此例,定義的 divide 函數中的參數,只接受數值型態,若呼叫該函數,帶字串參數將會發生 TypeError 錯誤。

運算結果

結果 2.0
執行 finally 程式區塊
b 值不能為零
執行 finally 程式區塊
執行 finally 程式區塊
Traceback (most recent call last):
  File "/home/qq/PycharmProjects/demo/error.py", line 14, in <module>
    divide("2", "1")
  File "/home/qq/PycharmProjects/demo/error.py", line 3, in divide
    result = a / b
TypeError: unsupported operand type(s) for /: 'str' and 'st

參考資料

Python 錯誤異常處理(Exception)

def 函數名稱(参數1,参數2,...):
    程式區塊

範例 1

def say(word):
    print(word)

say('Hello')
say('HKT')

程式說明:
第1行:定義一個 say 的函數,可以接收一個參數。
第2行:將收到參數值,將他列印出來。
第4行:呼叫 say 的函數,參數為一個字串 Hello。

運算結果

Hello
HKT

範例 2

def add(a, b):
    print(a + b)

add(1, 2)

程式說明:
第1行:定義一個 add 的函數,可以接收兩個參數。
第2行:將收到的兩個參數值加起來並將他列印出來。
第4行:呼叫 add 的函數,參數為一個為數字1,另一個為參數2。

運算結果

3

Python 函數

範例

 skill= ['Java','Python','PHP'] 
 
 for x in skill:
     print(x)
程式說明:
第3行:會將skill中每一個元素,一個一個取出,並將值塞進 x 當中。

運算結果

Java
Python
PHP

Python for 循環流程

範例

計算 1 到 100 的總和:
sum = 0 counter = 1 while counter <= 100: sum = sum + counter counter += 1 print(sum)
程式說明:
第4行: 若counter 小於或等於100 符合該條件,則會執行冒號縮排內該區塊的程式運算。

運算結果

5050

Python while 循環流程

星期四, 2月 02, 2017




if condition:
    # if code 區塊
    x = true_value
else:
    # else code 區塊
    x = false_value
  1. 假如 condition 條件成立,為真(True),執行if code 區塊。
  2. 否則(else)執行 else code 區塊。
  3. 每一個 if 條件句和 else 後面,要記得加上冒號(:),表示接下滿足條件後,要執行的該區塊程式
  4. 利用縮排來劃分程式區塊,相同縮排數語組成一個程式句塊。
  5. Python中沒有switch – case語句判斷式

範例

KT = 'pig'

if KT == 'pig':
    print('KT是豬')
else:
    # else code 區塊
    print('KT不是豬')

運算結果

KT是豬

if 常用的運算符號

運算符號說明
<小於
>大於
<=小於或等於
>=大於或等於
==等於
!=不等於

Python if 條件,控制流程

使用大括號{},且用逗號來分隔不同筆資料型態,來建立『Dict』資料類型,每一筆資料,採一筆 key 對應 一個 value 資料值。key 值可以是字串也可以用數值當key值,value 也是。
註:字典還有很多種存法,怕大家走火入魔,KT 的講義資料,僅列出比較常用的方式,更多詳細資料可以在最下方的參考資料,Python 官方文件中查找到。
  • 字典運算

a = {'one': 1, 'two': 2, 'three': 3}
print (a)
print (a[one])
程式說明:
第1行:宣告一個名稱為 a 的變數空間,將 Dict 資料,存進去。此 Dict 資料,全為字串(String)資料。
第2行:印出 a 的資料。
第3行:印出 a ,根據 key 值為 one 的字典資料值。

運算結果:

{'three': 3, 'two': 2, 'one': 1}
1

參考資料:

Python 字典(Dictionary) 運算

使用大括號{},且用逗號來分隔不同資料型態,來建立『Set』資料類型。
  • 集合運算,範例一

hot_skill = {'JavaScript', 'Python', 'Ruby'}
print(hot_skill)
print(len(hot_skill))
程式說明:
第1行:宣告一個名稱為 hot_skill 的變數空間,將 Set 資料,存進去。此 Set 資料,全為字串(String)資料。
第2行:顯示印出 hot_skill 集合的資料。
第3行:顯示印出 hot_skill 集合的資料內總共有幾個元素。(len:長度或稱大小)。

運算結果:

{'JavaScript', 'Python', 'Ruby'}
3
  • 集合運算,範例二

hot_skill = {'JavaScript', 'Python', 'Ruby'}
cur_skill = {'Python', 'PHP', 'Go'}

print('Python' in hot_skill)
print(hot_skill & cur_skill)
print(hot_skill | cur_skill)
print(hot_skill - cur_skill)
print(hot_skill ^ cur_skill)
程式說明:
第4行:Python 是否存在 hot_skill 集合內,若存再則印出 True,若不存在印出False。
第5行:只印出 hot_skill 和 cur_skill 集合內同時存在的相同元素。
第6行:印出 hot_skill,和 cur_skill 集合內的元素,若多筆重覆,只會顯示一筆,其餘筆將會過濾掉不顯示。
第7行:印出 hot_skill,不包含在 cur_skill的元素。
第8行:印出 hot_skill 和 cur_skill 集合元素,但不印出同時存在的相同元素。

運算結果:

True
{'Python'}
{'Python', 'PHP', 'JavaScript', 'Ruby', 'Go'}
{'JavaScript', 'Ruby'}
{'Go', 'PHP', 'JavaScript', 'Ruby'}

參考資料:

Python 集合(Set) 運算

關閉廣告 [X]