iT邦幫忙

0

Python additional information 其他 (1)

  • 分享至 

  • xImage
  •  

comments in Python

在 Python 中,註解(comments) 是用來解釋程式碼、標註作者的想法,或者提供對程式邏輯的簡要說明。註解不會被 Python 解釋器執行,它們僅供開發者閱讀,使程式碼更加可讀、易於維護。

1. 單行註解

單行註解使用井號(#)開頭,Python 會忽略這行從井號開始後的所有內容。
範例:

# 這是一個單行註解,Python 會忽略這行
print("Hello, world!")  # 這裡也可以加註解

2. 多行註解

Python 沒有專門的多行註解符號,但可以用多個單行註解來達到多行註解的效果。
範例:

# 這是多行註解的第一行
# 這是多行註解的第二行
# 這是多行註解的第三行

3. 區塊註解

使用多行字串(''' 或 """)作為區塊註解。雖然這些通常是用來處理字串,但也能作為不會影響程式執行的區塊註解使用。這樣的註解不會顯示或執行,常用於文件字符串(docstring)說明整個程式的目的或某個函數的功能。
範例:

'''
這是一個多行註解區塊
通常用於解釋程式的邏輯或流程
也可以用作函數的文件字符串
'''
print("區塊註解不會被執行")

4. 註解的用途

註解有助於使程式碼更具可讀性,尤其在團隊合作或開發大型專案時,清楚的註解可以幫助其他開發者快速理解代碼的意圖。
註解用來標註尚未完成的功能或可能需要改善的代碼,這些通常以 TODO 開頭:
範例:

# TODO: 優化這段程式碼來提高執行效率

快速comments

vscode 中,選取code區塊後 使用command +/ (in Mac)or Ctrl+/ (in windows)即可變成註解

Type Checking

在 Python 中,Type Checking(型別檢查) 是檢查變數或表達式的資料型別的過程,以確保程式在運行時能夠正常處理這些數據。由於 Python 是一個動態型別語言,變數的型別是在程式運行期間動態決定的,而不是在編寫程式或編譯時就固定。

1. 動態型別檢查(Dynamic Type Checking)

Python 採用動態型別檢查,這意味著你可以在不同時期給變數賦值不同的型別,而 Python 會在程式運行時自動檢查這些型別。

範例:

x = 10        # x 是一個整數
x = "Hello"   # 現在 x 是一個字串

在這個範例中,變數 x 一開始是整數,但後來被賦值為字串。Python 允許這種變數型別的靈活變化,並且在運行期間動態檢查 x 的型別。

2. 型別檢查的工具

雖然 Python 是動態型別語言,但你可以使用一些工具來檢查變數的型別,這對於防止錯誤和提升代碼可讀性很有幫助。

  • type() 函數:用來檢查變數的型別。

範例:

x = 42
print(type(x))  # <class 'int'>
  • isinstance() 函數:用來檢查變數是否屬於某一特定型別。
    範例:
x = 42
print(isinstance(x, int))  # True

3. 靜態型別提示(Type Hinting)

從 Python 3.5 開始,Python 引入了型別提示(Type Hinting),雖然 Python 不會強制執行這些型別提示,
但它可以幫助開發者明確變數、參數和返回值的型別,讓代碼更易讀,
並且有助於靜態型別檢查工具(如 mypy)發現潛在的型別錯誤。

範例:

def add(x: int, y: int) -> int:
    return x + y

這表示函數 add 接收兩個整數型參數,並返回一個整數。這是一種靜態型別提示方式,不會改變 Python 的動態性,但可以幫助開發者及早發現型別錯誤。

所以 靜態型別提示(Type Hinting)很像是javasccript的typescript?

沒錯,**靜態型別提示(Type Hinting)**在 Python 中的概念,與 TypeScript 在 JavaScript 中的作用非常相似。兩者都是用來在代碼中提前標註變數、參數或函數的資料類型,讓代碼更容易理解和維護,也幫助早期發現錯誤。

例如在 Python 中的靜態型別提示:

def greet(name: str) -> str:
    return f"Hello, {name}"

greet(123)  # 這會導致靜態檢查工具(例如 MyPy)報錯

在這裡,我們使用了 : str 來表示 name 必須是字串,-> str 表示這個函數的返回值也應該是一個字串。儘管 Python 本身不會在執行時強制檢查,但開發工具和靜態分析工具(例如 MyPy)會根據這些提示檢查潛在的錯誤

在 TypeScript 中類似的例子:

function greet(name: string): string {
    return `Hello, ${name}`;
}

greet(123);  // 這會在編譯時報錯

TypeScript 會在編譯時期直接檢查資料型別,這樣就能在代碼運行前發現問題。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言