文字列(str)型はPythonの組込み型の一つで、Unicodeで定義されている文字で構成されたイミュータブル(変更不可)なデータ型です。本記事では文字列の記述方法とstr()を用いた文字列の生成方法についてまとめます。
環境
- OS: Ubuntu20.04LTS
- Python3.9.1
テキストシーケンス(文字列)型
特徴
- Unicodeで定義されている文字で構成されたイミュータブル(変更不可)なデータ型
文字列の記述方法
- シングルクォート(‘)で囲う。
>>> s = 'abcd'
>>> type(s)
<class 'str'>
※ダブルクォート(“)を内側に入れることが出来ます。
>>> s = 'ab"cd"ef'
>>> s
'ab"cd"ef'
>>> s = "abcd"
>>> type(s)
<class 'str'>
※シングルクォート(‘)を内側に入れることが出来ます。
>>> s = "ab'cd'ef"
>>> s
"ab'cd'ef"
- 3つのシングルクォート(”’)、または3つのダブルクォート(“””)で囲います。
- 複数行に分けることができます。空白や改行は文字列に含まれます。
# 3つのシングルクォート(''')の例
>>> s = '''abcd
... efgh
... ijkl'''
>>> s
'abcd\nefgh\nijkl'
# 文字列型であることを確認
>>> type(s)
<class 'str'>
# 3つのダブルクォート("""')の例
>>> s = """abcd
... efgh
... ijkl"""
>>> s
'abcd\nefgh\nijkl'
引数に渡されたobjectを文字列型に変換します。引数objectが省略された場合は空文字列が返されます。
# 数値型も文字列に変換されます
>>> a = 12
>>> str(a)
'12'
# リストもそのまま文字列になります
>>> l = [1, 2]
>>> str(l)
'[1, 2]'
# 辞書もそのまま文字列になります
>>> d = {'a':1, 'b':2}
>>> str(d)
"{'a': 1, 'b': 2}"
# rangeもそのまま文字列になります
>>> r = range(5)
>>> str(r)
'range(0, 5)'
# 引数を省略すると空文字を返します。
>>> str()
''
文字列型が対応しているメソッド
共通のシーケンス演算のほか、文字列型がサポートしているメソッドもあります。詳細は公式リファレンスのこちらをご参照ください。
尚、代表的なメソッドについては下記にてまとめていますので併せてご参照ください。
- 【Python】特定の文字や文字列の出現回数を数える(count)
- 【Python】split関数を使った文字列の分割方法
- 【Python】文字列を検索する(in演算子、find、正規表現re.search、re.findall)
- 【Python】文字列を置換する方法 (replace、re.sub)
- 【Python】特定の文字列や空白文字を削除する (strip, rstrip, lstrip、replace)
- 【Python】文字列の大文字・小文字変換 (str.upper, str.lower etc..)
- 【Python】文字列が数字であることを判別する(isdigit, isdecimal, isnumeric)
また、文字列を書式設定して出力する方法についてはこちらの記事にまとめています。併せてご参照ください。
※参考文献
Python公式リファレンス::テキストシーケンス型 — str
https://docs.python.org/ja/3/library/stdtypes.html?highlight=list#text-sequence-type-str
まとめ
今回は、Pythonの組込み型のうち、文字列型の特徴と生成方法についてまとめました。