星期六, 6月 17, 2017

Python Basic Day 1 小記

Day 1

9:00 ~ 9:45
課程基本介紹

9:45 ~ 10:05
學員自我介紹

10:05 ~ 10:35
Chapter 1

== Class break ==

10:50 ~ 11:25
Chapter 1

Notes
  • 目前比較少用 bash 來寫 script, 因為相對功能較少
  • 動態資料型別
    • 變數的進行可以隨著程式做改變, 不需事先宣告
  • 課程使用  python 3

11:25 ~ 11:35
安裝 NotePad ++ 與 python 3.6

11:35 ~ 12:00
Chapter 2
  • Test run  簡單 python3

Notes:
  • 每一行只能有一個敘述, 以換行字元區隔
  • 利用 : 以及縮排作為程式碼區塊
    • 縮排使用4個空白字元

== Class break ==

13:00 ~ 14:15
Chapter 2

Notes:
  • 註解
    • 單行使用 #
    • 多行使用 “””   “””  或是 ‘’’   ‘’’
  • 變數
    • 命名必須以文字或是底線 _ 起始
      • 不建議用底線為開頭取變數名稱, 大部分底線開頭的變數有特殊意義
        • __ 大部分使用於 private
    • 區分大小寫
    • 不可以跟關鍵字相同
  • 變數 ID
    • 透過變數ID, 來確認是否為同一個物件
      • Python 為物件導向

$ cat  test_id.py
a = '2'
b = '3'
c = '3'
# 透過 id 來辨別變數id
print(id(a))
#如果起始值一樣, 節省記憶體會使用同一個物件
print(id(b))
print(id(c))

執行結果
$ python3   test_id.py
4332265400
4332123952
4332123952
  • 整數型態(int)
    • Python 3.6 以後可以加上底線, 方便閱讀
    • 只能加在實際的整數中間, 然後底線只能有一個
    • 例如 a = 1_000
    • 邏輯上, python 的整數是沒有大小限制

# coding=utf-8
# 測試 python 整數的最大值
a = 1234124124124124124124

# 使用 type 列出型態
print(type(a))
# 列出 a
print(a)

  • 布林型態
    • True 或是 False 區分大小寫
    • 其他的型態的值也可以視為boolean值
      • 視為布林的 False
        • 0
        • 長度為0的String
        • 沒有任何元素的集合
        • None
        • 類別內 _bool_() 回傳 False
      • 除了上述的情形其他的值可以視為 True
    • Int 的子類別


== Class break ==

14:30 ~ 15:45
Chapter 2

Notes
  • 浮點數型態
    • 數值範圍與平台相關, 一般狀況下依循 64 bit IEEE 格式
      • 有一定的範圍, 如果超過範圍就是 inf
    • 在有限的條件下用來表示極大或是極小的數字, 為近似值, 不適合用來精密計算

# coding=utf-8
# 浮點數
a = 1.23

print( type(a) )

b = 3
c = 1 + 1 + 1

print(type(a))
print(type(b))

print( b == c )

# 使用浮點數 來進行與整數的精準性比較
d = 0.3
e = 0.1 + 0.1 + 0.1

print(type(d))
print(type(e))

#這邊是不相等, 因為浮點數是近似值
print( d == e)

# 浮點數有其範圍, 超過範圍都是 inf
f = 1e308
g = 1e3080
h = 1e309

print(f)
print(g)
print(h)

執行的結果
<class 'float'>
<class 'float'>
<class 'int'>
True
<class 'float'>
<class 'float'>
False
1e+308
inf
inf


== Class break ==

16:00 ~ 16:25

Chapter 2

  • 字串型態
    • 一個序列的字元集合, 預設為 utf-8編碼
  • Chapter 2 end

沒有留言: