Python 基本
參考資料
- Python Standard Library API Document
- Python Data Structure
- Python Standard Type Hierarchy
- Python Data Structure : devopedia
Encoding
python script file Encoding 宣告方式,
於首行加上如下宣告
1
2
3
# -*- coding: UTF-8 -*-
Indentation
使用等量的 Space 或是 tab。建議 4 個 spaces。
注意: 整個檔案應該用同一種 indentation,避免混用。
Python 註解方式
# 井字號後面可以寫一行的註解
'''
single quote x 3 or double quote x 3
這裡是多行註解,
不影響程式執行的結果。
'''
"""
single quote x 3 or double quote x 3
這也是多行註解,
"""
PyCharm 總是選取工作中檔案
PyCharm 中的 Project 頁簽->
滑鼠右鍵->
Always Select Opened File->
可快速 highlight 作用中檔案
顯示物件資訊訊
- help(): 列出物件或函數模組的 API 文件內容。
help()
a=123
help(a)
列出物件屬性與方法
- dir(x): 列出物件 x 所有屬性與方法。回傳的是 list。
取得類別說明
- doc: 類別或方法最上方 triple quotes 包覆範圍的內容。
a ='it is a string'
print(a.__doc__)
----
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
取得函數說明
- annotations
def area(w: 'width' = 10, l: 'length' = 10) -> int:
return w * l
print(area.__annotations__)
# {'w': 'width', 'l': 'length', 'return': <class 'int'>}
# syntax
# 變數名:註解=預設值
def funcName(varName:'desc'+defaultValue) -> ret type:
pass
返回物件的內建屬性
- dict 可列出 instance 的所有 field/values
import hashlib
print(hashlib.__dict__)
----
{'__name__': 'hashlib', '__doc__': 'hashlib module - A common interface to many hash functions.\n\nnew(name, data=b\'\', **kwargs) ...
列出資訊在 console
- print()
print('message')
返回物件類型
- type()
b = 'another string'
print(dir(type(b)))
----
<class 'int'>
Multi-line String
- 斷行處加上反斜線 \
print(
'this \
is \
a \
book.'
)
----
this is a book.
main 用途
runtime 時用來辨別 main module 或是 imported modules 時使用
if __name__ == '__main__':
doSomething()
__name__ => 模組名稱,由 interpreter 自動設定的內建變數
在 import modules 時,python 會先把模組相關 *.py 走一輪
程式入口的 py 檔,interpretor 會自動帶入 'main'
功用:
- 辨別 main module 或是 imported modules
- 可用來隱藏 debug 區塊
pass 關鍵字
Python 沒有明顯的 Block 符號,而是以換行與縮排來規範 block。
因此,預期多行的程式區塊若暫時無實作,則需以 pass 關鍵字填補空行,
不然會拋出例外。
pass example
for a in range(1, 5):
pass
else:
print('\'IndentationError: expected an indented block\' not throw')