在 Python 中檢查變數是否為字串

Manav Narula 2023年1月30日
  1. 使用 type() 函式檢查變數是否為字串
  2. 使用 isinstance() 函式檢查變數是否為字串
在 Python 中檢查變數是否為字串

字串資料型別用於表示字元的集合。本教程將討論如何檢查變數是否為字串型別。

使用 type() 函式檢查變數是否為字串

type() 函式返回傳遞給函式的變數的型別。以下程式碼顯示瞭如何使用此函式檢查變數是否為字串。

value = "Yes String"
if type(value) == str:
    print("True")
else:
    print("False")

輸出:

True

但是,值得注意的是,通常不建議使用此方法,在 Python 中將其稱為 unidiomatic。其背後的原因是因為 == 運算子僅比較字串類的變數,並將為其所有子類返回 False

使用 isinstance() 函式檢查變數是否為字串

因此,建議在傳統的 type() 上使用 isinstance() 函式。isinstance() 函式檢查物件是否屬於指定的子類。以下程式碼段將說明我們如何使用它來檢查字串物件。

value = "Yes String"
if isinstance(value, str):
    print("True")
else:
    print("False")

輸出:

True

在 Python 2 中,我們可以使用 basestring 類(它是 strunicode 的抽象類)來測試物件是 str 還是 unicode 的例項。例如,

value = "Yes String"
if isinstance(value, basestring):
    print("True")
else:
    print("False")

輸出:

True

為了在 Python 3 中使用上述方法,我們可以使用 six 模組。該模組具有允許我們編寫與 Python 2 和 3 相容的程式碼的功能。

string_types() 函式返回字串資料的所有可能的型別。例如,

import six

value = "Yes String"
if isinstance(value, six.string_types):
    print("True")
else:
    print("False")

輸出:

True
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Python String