Pythonには、文字列を操作するための演算子があります。これらの演算子は、文字列の結合、繰り返し、スライス、比較などに使用されます。
例えば、「+」演算子は文字列を結合し、「*」演算子は文字列を繰り返すために使用されます。
この記事では、Pythonで利用可能な文字列演算子について説明し、例を挙げてその使い方を紹介します。
Pythonの文字列演算子
Pythonの文字列型に対しては、いくつかの演算子が定義されています。
+演算子: 文字列の連結*演算子: 文字列の繰り返しin演算子: 文字列に指定されたサブ文字列が含まれるかどうかの判定not in演算子: 文字列に指定されたサブ文字列が含まれないかどうかの判定- == 演算子:文字列の比較(等しいかどうか)
- != 演算子:文字列の比較(異なるかどうか)
それぞれ詳しく見てみましょう。
+ 演算子
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) # Truenot 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の記事があります。
気になるところからチェックしてみてください。
【Pythonの基本】
第1回 Pythonとは?
第2回 基本文法
第3回 変数とデータ型
【文字列】
第4回 文字列
第5回 文字列演算子(文字を結合・繰り返す、比較) 今ここ
【文字列関数とメソッド】
第7回 文字列の長さを調べる:len関数
【辞書型】
第9回 辞書型
第10回 辞書型(要素の情報の取得・要素の検索・辞書型のコピー・リスト型から辞書型を作成)
【制御構文】
第12回 if文
第13回 match文
第14回 for文
【日付と時刻】
第15回 日付と時刻
第16回 文字の日付を日付型に変換する
第17回 日付型の日付を文字型の日付に変換する
【その他】
第18回 バージョンの確認方法
プログラム学習に限界を感じていませんか?


