Python > 言語 > データ型 > 列型 > 文字列型


Python - 言語 - データ型 - 列型 - 文字列型

*

*



文字列(str)型

概要

[ edit ]

  • 文字列は,厳密には,テキスト列(テキストシーケンス)型に属しています
    • なので,本来は,列(シーケンス)型の部分型として扱うことはありません.
    • ですが,タプル型と同様,変更不能(イミュータブル)なシーケンスとしての演算が実行可能なので,このWikiでは,ここに配置しました.

    変更不能
    イミュータブル
    (immutable)

    変更可能
    ミュータブル
    (mutable)

    文字列

    テキスト列型

    str型

    リスト型

    list型

    タプル型

    tuple型

    range型

    range型

値: 文字列リテラル

[ edit ]

二重引用符/引用符

  • "..."

  • '...'

  • ダブルクォート("),またはシングルクォート(')で囲む

  • 複数の文字列をスペースで区切ることで連結することができる

"abcdef"
'abcdef'
"こんにちは"

三連引用符 (複数行にわたる文字列)

  • """..."""

  • '''..'''

  • 複数行にわたる文字列
  • ドキュメントストリングとして使われることがある

"""複数行にわたる
長い文字列が
入ります.
途中に改行があっても
構いません"""


文字列演算

[ edit ]

  • 文字列演算
    • 主に,「変更不能な列(イミュータブルなシーケンス)」のための演算そのものです
    • 三種類の形態があります
      • 演算子
        • 主に記号が割り当てられています
      • 関数
        • func(str, ...)

      • メソッド
        • str.method( ... )

その他の「変更不能な列(イミュータブルなシーケンス)」に共通な演算
  • *

    包含性

    包含判定

    x in s

    文字列sxと等しい要素が含まれているか

    非包含判定

    x not in s

    文字列sxと等しい要素が含まれていないか

    *

    算術演算

    結合

    s + t

    文字列sと 列tの連結

    繰り返し

    s * n

    文字列s自身をn回足し合わせたもの

    繰り返し

    n * s

    文字列s自身をn回足し合わせたもの

    *

    アクセス

    添字アクセス

    s[i]

    文字列si番目の要素 (左端の添え字をゼロとする)

    アクセス

    部分範囲スライス

    s[i:j]

    文字列si番目からj-1番目までを抽出した部分列

    アクセス

    部分範囲スライス

    s[i:j:k]

    文字列si番目からj-1番目まで,k毎に抽出した部分列

    *

    属性

    要素数

    len(s)

    文字列sの長さ

    アクセス

    最小要素

    min(s)

    文字列sの最小の要素

    アクセス

    最大要素

    max(s)

    文字列sの最大の要素

    *

    検索

    検索

    s.index(x)

    文字列s中で 要素xが最初に出現する添え字

    検索

    検索

    s.index(x, i)

    文字列s中で 要素xが最初に出現する添え字 (i以降)

    検索

    検索

    s.index(x, i, j)

    文字列s中で 要素xが最初に出現する添え字 (i以降からjまでの範囲)

    検索

    出現回数

    s.count(x)

    文字列s中に 要素xが出現する回数


使用例

添え字アクセス[演算子]
  • 添え字アクセス[演算子] [ edit ]

    str[n]

    n文字目(ゼロ始まり)

>>> "こんにちは"[3]
''

部分範囲アクセス[演算子](スライス)
  • 部分範囲アクセス[演算子](スライス) [ edit ]

    str[end]

    end文字目の部分文字列

    str[start:end]

    start文字目からend-1文字目までの部分文字列

    str[:end]

    0文字目からend-1文字目までの部分文字列

    str[start:end:step]

    start文字目からend-1文字目まで,step文字毎の部分文字列

    str[:end:step]

    0文字目からend-1文字目まで,step文字毎の部分文字列

    str[::step]

    0文字目から最後まで,step文字毎の部分文字列

    str[:]

    文字列全体(のコピー)

    str[::]

    文字列全体(のコピー)

>>> "こんにちは"[2:4]
'にち'

>>> "こんにちは"[2:5:2]
'には'

>>> "こんにちは"[:5:2]
'こには'

>>> "こんにちは"[::2]
'こには'

>>> "こんにちは"[:]
'こんにちは'

>>> "こんにちは"[::]
'こんにちは'

文字列の長さ[関数]
  • 文字列の長さ[関数]: len(str)関数 [ edit ]

>>> len("こんにちは")
5

文字コードで最大値と最小値[演算子](アルファベットでの前後関係,など)

  • 文字コードで最大値と最小値: max(str),min(str) [ edit ]

>>> max("こんにちは")
''

>>> min("こんにちは")
''

包含性判定[演算子]
  • 包含性判定[演算子]: in [ edit ]

>>> "" in "こんにちは"
True

>>> "" in "こんにちは"
False

加算,乗算[演算子]
  • 加算,乗算 [演算子] [ edit ]

>>> "こんに"+"ちは"
'こんにちは'


>>> "こんにちは"*2
'こんにちはこんにちは'

検索[メソッド]
  • 検索[メソッド] [ edit ]

    •  str.index(key_str) 

      • key_strの最初の出現位置(ゼロ始まり)

    •  str.count(key_str) 

      • key_strの出現回数

>>> "こんにちは".index("")
2
>>> "こんてんつ".count("")
2
>>> "こんてんつ".count("")
0
>>> "こんてんつ".count("")
1
*

リファレンス

*



Software Engineering(IIJIMA, Tadashi -- Keio Univ.)



*

SoftEng: Python/Lang/DataType/Sequence/String (last edited 2018-09-28 12:54:34 by TadashiIijima)