初學 Python 可感受到此語言的幾個特色:
將程式碼的權限改為可執行:
chmod +x hex2d.py
直接將程式碼當執行檔執行:
./hex2d.py
說明
程式碼的開頭 "#!/usr/bin/env python3" 稱為 shebang,代表此程式碼必須使用 python3 版本的直譯器執行。同時,加入 shebang 可讓程式碼變成單獨的執行檔。如果不加 shebang,在執行 python 程式碼時,就必須輸入:
python ./hex2d.py
shebang 必須寫在程式碼開頭第1行。Unix-like 的作業系統會讀取執行檔開頭的兩個字元,讀到 "#!" 時代表要用直譯器執行。"#!" 後面告訴作業系統要採用 python3 直譯器。
Python 的 int 函數十分好用,可將字串轉成整數,而且可指定 Radix(即進位表示法)。
例如 int("15", 16) 代表 16 進位的 0x15 轉為十進位。
也可以將第二個參數給 0,讓 python 自行判斷是幾進位:
number = int(line, 0)
此時輸入的 line 前面就要加上 "0x",這樣 python 才知道我們想表達的是 16 進位。
我們採用例外處理的程式碼,來偵測輸入時會發生的錯誤情況。從程式碼可以很直覺地了解,當輸入的文字無法轉成有效整數時,會跳到對應的例外處理。EOFError 的處理,讓使用者輸入 Ctrl + D(即 Unix-like 系統的 EOF 字元)時可以被偵測,或者當我們將某文字檔當作此程式輸入時,讀到檔案結尾時可透過例外處理而跳出迴圈。
- 直譯式語言,程式碼即執行檔。
- 非常重視簡潔,程式碼較短。
- 不使用大括號分隔程式碼區塊,採用縮排來分隔區塊,同樣的程式碼,縮排錯誤可能造成程式錯誤。
- 不用分號結尾。
#!/usr/bin/env python3 # hex2d.py print(" Hex to integer converter. enter ^D to exit.") while Ture: try: line = input(" input hex: ") if line: number = int(line, 16) print(" Decimal: ", number) except ValueError as err: print(err) continue except EOFError: print(" EOF Detected.") break print(" Bye, have a nice day.")執行方法 (Linux)
將程式碼的權限改為可執行:
chmod +x hex2d.py
直接將程式碼當執行檔執行:
./hex2d.py
說明
程式碼的開頭 "#!/usr/bin/env python3" 稱為 shebang,代表此程式碼必須使用 python3 版本的直譯器執行。同時,加入 shebang 可讓程式碼變成單獨的執行檔。如果不加 shebang,在執行 python 程式碼時,就必須輸入:
python ./hex2d.py
shebang 必須寫在程式碼開頭第1行。Unix-like 的作業系統會讀取執行檔開頭的兩個字元,讀到 "#!" 時代表要用直譯器執行。"#!" 後面告訴作業系統要採用 python3 直譯器。
Python 的 int 函數十分好用,可將字串轉成整數,而且可指定 Radix(即進位表示法)。
例如 int("15", 16) 代表 16 進位的 0x15 轉為十進位。
也可以將第二個參數給 0,讓 python 自行判斷是幾進位:
number = int(line, 0)
此時輸入的 line 前面就要加上 "0x",這樣 python 才知道我們想表達的是 16 進位。
我們採用例外處理的程式碼,來偵測輸入時會發生的錯誤情況。從程式碼可以很直覺地了解,當輸入的文字無法轉成有效整數時,會跳到對應的例外處理。EOFError 的處理,讓使用者輸入 Ctrl + D(即 Unix-like 系統的 EOF 字元)時可以被偵測,或者當我們將某文字檔當作此程式輸入時,讀到檔案結尾時可透過例外處理而跳出迴圈。
留言
張貼留言