跳至主要内容

Python 基本

參考資料

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')