【Python】文字列(str)型の使い方の基本

文字列(str)型はPythonの組込み型の一つで、Unicodeで定義されている文字で構成されたイミュータブル(変更不可)なデータ型です。今回は文字列の記述方法とstr()を用いた文字列の生成方法についてまとめます。

環境

  • OS: Ubuntu16.04LTS
  • Python3.7.3@Anaconda

テキストシーケンス(文字列)型

特徴

  • Unicodeで定義されている文字で構成されたイミュータブル(変更不可)なデータ型

文字列の記述方法

  • シングルクォート(‘)で囲う。
  • >>> s = 'abcd'
    >>> type(s)
    

    ダブルクォート(“)を内側に入れることが出来ます。

    >>> s = 'ab"cd"ef'
    >>> s
    'ab"cd"ef'
  • ダブルクォート(“)で囲う。
  • >>> s = "abcd"
    >>> type(s)
    

    シングルクォート(‘)を内側に入れることが出来ます。

    >>> 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'
  • str(object)を使う
  • 引数に渡された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公式リファレンス Python3.7 組込み型 テキストシーケンス型 — str
https://docs.python.org/ja/3/library/stdtypes.html?highlight=list#text-sequence-type-str

まとめ

今回は、Pythonの組込み型のひとつ文字列型の特徴と生成方法についてまとめました。

Learn more...

書籍でもう少し詳しく学びたい場合はこちらもどうぞ。筆者もかなり参考にさせてもらっています!

[Sponsor link]