【Python】文字列演算子(文字を結合・繰り返す、比較)

Pythonには、文字列を操作するための演算子があります。これらの演算子は、文字列の結合、繰り返し、スライス、比較などに使用されます。

例えば、「+」演算子は文字列を結合し、「*」演算子は文字列を繰り返すために使用されます。

この記事では、Pythonで利用可能な文字列演算子について説明し、例を挙げてその使い方を紹介します。

目次

Pythonの文字列演算子

Pythonの文字列型に対しては、いくつかの演算子が定義されています。

  1. + 演算子: 文字列の連結
  2. * 演算子: 文字列の繰り返し
  3. in 演算子: 文字列に指定されたサブ文字列が含まれるかどうかの判定
  4. not in 演算子: 文字列に指定されたサブ文字列が含まれないかどうかの判定
  5. == 演算子:文字列の比較(等しいかどうか)
  6. != 演算子:文字列の比較(異なるかどうか)

それぞれ詳しく見てみましょう。

+ 演算子

Pythonの + 演算子は、数値の加算だけでなく、文字列やリスト、タプルなどのシーケンス型にも使用できます。

数値の場合は、2つの数値を加算し、結果を返します。例えば、以下のように書くことができます

x = 10
y = 5
z = x + y
print(z) # 15が表示される

次に、文字列の場合は、2つの文字列を連結し、新しい文字列を返します。例えば、以下のように書くことができます。

string1 = "Hello"
string2 = "world"

string3 = string1 + string2
print(string3)  # HelloWorld

* 演算子

Pythonの*演算子は、文字列やリストなどのシーケンスを指定された回数繰り返すために使用されます。例えば、以下のようなコードを書くことができます。

string1 = "Hello"

string4 = string1 * 3
print(string4)  # HelloHelloHello

このように、*演算子は、指定されたシーケンスを繰り返し指定された回数繰り返すために使用されます。

in 演算子

文字型演算子のもう一つの重要な演算子は、 in 演算子です。 in 演算子を使用すると、文字列が他の文字列に含まれているかどうかを簡単に調べることができます。 in 演算子は、真偽値を返します。含まれている場合はTrue、含まれていない場合はFalseを返します。

例えば、次のコードでは、文字列 “lo” が文字列 string2(“world”) に含まれているため、 in 演算子はTrueを返します。

string2 = "world"

print('lo' in string2)  # True

not in 演算子

また、 not in 演算子を使用すると、文字列が他の文字列に含まれていないかどうかを調べることができます。 not in 演算子は in 演算子と逆であり、含まれていない場合はTrueを返し、含まれている場合はFalseを返します。

例えば、次のコードでは、文字列 “hi” が文字列 string1(“Hello” に含まれていないため、 not in 演算子はTrueを返します。

string1 = "Hello"

print('hi' not in string1)  # True

== 演算子

Pythonの文字列の==演算子は、左右のオペランドが同じ文字列である場合にTrueを返し、それ以外の場合にはFalseを返します。

例えば、以下のように比較することができます。

str1 = "hello"
str2 = "hello"
str3 = "world"

print(str1 == str2) # True
print(str1 == str3) # False

左右のオペランドの文字列が完全に一致する場合は、Trueを返します。しかし、大文字と小文字が異なる場合や、文字列中にスペースやその他の特殊文字が含まれる場合は、Falseを返します。文字列の比較において大文字と小文字を区別せずに比較するためには、文字列の比較前に両方の文字列を小文字(または大文字)に変換することができます。

str1 = "Hello"
str2 = "hello"

print(str1 == str2) # False

# 小文字に変換
print(str1.lower() == str2.lower()) # True

# 大文字に変換
print(str1.upper() == str2.upper()) # True

また、==演算子は、異なるデータ型のオペランドを比較する場合には常にFalseを返します。

str1 = "5"
num1 = 5

print(str1 == num1) # False

数値の5を文字型にキャストすれば、Trueを返すことができます。

str1 = "5"
num1 = 5

# num1を文字列に変換
print(str1 == str(num1)) # True

!= 演算子

Pythonの文字列の!=演算子は、二つの文字列が等しくない場合にTrueを返します。例えば、次のように使用できます。

string1 = "Hello"
string2 = "World"

if string1 != string2:
    print("文字列は異なっています")
else:
    print("文字列は同じです")

この場合、出力は “文字列は異なっています””になります。

注意点として、!=演算子は文字列の比較においては、大文字と小文字が区別されます。つまり、”Hello”と”hello”は異なる文字列として扱われます。この場合、文字列を比較する前に、両方の文字列を小文字に変換するなどして、大文字小文字を区別しないようにすることができます。

string1 = "Hello"
string2 = "hello"

print(string1 != string2) # True

# 小文字の変換
print(string1.lower() != string2.lower()) # False

# 大文字に変換
print(string1.upper() != string2.upper()) # False:

Python 掲載一覧

漢文家族には、下記のPythonの記事があります。

気になるところからチェックしてみてください。

プログラム学習に限界を感じていませんか?

よかったらシェアしてね!
  • URLをコピーしました!
目次