在 Python 中檢查變數是否為字串
Manav Narula
2023年1月30日
2021年4月29日
字串資料型別用於表示字元的集合。本教程將討論如何檢查變數是否為字串型別。
使用 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
類(它是 str
和 unicode
的抽象類)來測試物件是 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
Author: Manav Narula
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