資訊人筆記

Work hard, Have fun, Make history!

使用者工具

網站工具


programming:python:chapter1

Chapter1 程序編程快庫速入門

0x01 Python八大要件

1.資料型態

  • Python整數大小僅受限於機器記憶體,而非固定位元組
  • 可用單引號或雙引號區隔字串,頭尾相符即可
  • Python所以位置都從0開始
  • Python可以使用方括號從序列中取出一個項目
  >>> "Hello World!"[6]
  'W'
  • 承上,雖然可透過方括號取值,但無法以此方式給值
  • 資料型態轉換可用 datatype(item)

2.物件參照

  • Python其實不存在變數,它使用的是物件參照
  • Python的 = 運算符會把物件參照聯繫到記憶體中的物件,若該物件已存在,則會被重新連繫到 = 右邊的物件,若物件不存在,則會加以建立
  • 物件參照的名稱必須以底線或字母開頭,沒有長度限制,大小寫有別
  • Python採用動態定址,表示物件參照隨時可能被重新連繫指向不同型別之物件

3.群集資料型態

  • Python提供若干群集,本書此節只提tuple和list
  • tuple和list實際是儲存的是物件參照,而不儲存物件本身

4.邏輯運算

身分運算符

  • is
  • 是一個二元運算符,比較兩邊的物件參照是否指向同個物件
  • is不是用來比較值,而是物件
  • None為Python的內建空物件
  • 可用 not 取反結果

比較運算符

  • <、< =、==、!=、>=、>
  • Python的比較運算符可以串用,ex:0⇐ a ⇐ 10
  • 承上,這樣的串聯比較只會做一次求值動作

隸屬運算符

  • in
  • in 是線性搜尋法
  >>> p = (4, "frog", 9, -33, 9, 2)
  >>>2 in p
  True
  >>>"dog" not in p
  True

邏輯運算符

  • and、or、not
  • 使用短路邏輯,只有當第一個運算數的值無法確定邏輯運算的結果時,才對第二個運算數進行求值

5.控制流程陳述句

  • Python使用縮排表示區塊結構,建議四格空白,不用Tab
  • if
if boolean_expression1:
    suite1
elif boolean_expression2:
    suit2
...
elif boolean_expressionN:
    suitN
else:
    else_suite
  • while
while True:
    item = get_next_item()
    if not item:
        break
    process_item(item)
  • for…in
for letter in "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    if letter in "AEIOU":
        print(letter, "is a vowel")
    else:
        print(letter, "is a consonant")
  • try…expect
s = input("enter an integer: ")
try:
    i = int(s)
    print("valid integer entered:", i)
expect ValueError as err:
    print(err)

6.算術運算符

  • +、-、\*、/
  • 除法運算產生的是浮點數值,而不是整數
  • 亦可使用 a+=2此類增強賦值運算,增強賦值比起一般賦值(a=a+2)只會檢查變數a 一次
  • 增強賦值被使用在不可改變之物件時,運算成立後會建立一個保存結果的物件,並將目標物件的參照重新連結到新的物件,就物件若未再被其他參照連結將被系統回收
  • 字串和整數是不可變的,清單是可變的

7.輸出/輸入

  • input(“statement”)函式取得使用者輸入
  • print()輸出文字

8.函式建立與呼叫

def functionName (arguments):
  statement
  • arguments可有可無,有多個時以逗號隔開
  • Python函式皆具有回傳值,預設為None
  • def被執行時會建立一個函式物件,並依函式名稱建立一個物件參照指向該函式物件
  • Python模組是包含python程式碼的.py檔,裡面包含多個函式
  • 要使用模組必須先用import匯入
  • 模組函式語法 moduleName.functionName(arguments)
  • import順序建議為 標準程式庫模組,第三方程式庫模組,個人寫的模組
programming/python/chapter1.txt · 上一次變更: 127.0.0.1