\r\n\r\n
Pythonには、文字列を操作するための様々な関数、演算子、メソッドが用意されており、それらを使って様々な方法で文字列を操作することができます。文字列の分割、2つ以上の文字列の連結、文字列内の**変数など、さまざまな機能を利用できます。
Pythonの文字列は、一連の文字として定義することができます。また、一度宣言すると変更することができないイミュータブル(immutable)である。その代わり、文字列のコピーは運用目的で作成される。
Pythonで文字列を作成することは、Pythonの変数に値を代入するのと同じくらい簡単です。文字列は、シングルクォート("")、ダブルクォート("")、シングルクォート("")/ダブルクォート("")の3つで作成することができます。") を使って文字列を作成します。
str1 = 'Hello!'
str2 = "こんにちは!"
str3 = """こんにちは!"""です。
str4 = '''Hello!'''です。
print(str1)
print(str2)
print(str3)する
print(str4)する
出力します。
Hello!
こんにちは。
こんにちは。
こんにちは。
ダブルクォートを使って文字列を作成する利点は、ダブルクォートの中にシングルクォート文字を使えることです。pythonはシングルクォート文字を文字列の一部として扱います。
s = "Using 'single quote' inside double quotes"
活字体
出力します。
二重引用符の中に「シングルクォート」を使用する
複数行の文字列を作成したい場合は、3つのシングルクォート("")/3つのダブルクォート("")を使用するのが最適です。シングルクォート("")やダブルクォート("")を使って文字列を作成する場合、改行にはエスケープ(改行)を使用する必要があります。しかし、3社見積もりの場合、その必要はありません。
s1 = """This is a multiline
二重引用符を3つ使った文字列"""
s2 = "これはマルチラインです
ダブルクォーテーションを使用した文字列"
print(s1)
print(s2)
出力します。
This is a multiline
ダブルクォーテーション文字列
これは、マルチライン
ダブルクォーテーション文字列
1つの文字にアクセスしたい場合はインデックスを、一連の文字にアクセスしたい場合はスライスを使用します。
Pythonの他のデータ型と同様に、文字列のインデックスは0から始まります。Pythonの文字列は負のインデックスもサポートしており、-1なら文字列の最後の文字、-2なら文字列の2番目の文字を指し、以下同様です。
s = "MAKEUSEOF"
# 文字列全体を表示する
活字体
# 1文字目を表示する
print(s[0])する
# 2文字目を表示する
print(s[1])する
# 最後の文字を表示する
print(s[-1])
# 最後の2文字を表示
print(s[-2])
出力します。
MAKEUSEOF
M
A
F
O
文字にアクセスするには整数を使用しなければならず、そうでない場合はTypeErrorが発生します。これは、範囲外の要素にアクセスしようとした場合にも発生します。
タイプエラーです。
s = "MAKEUSEOF"
# 整数を使用しないと TypeError が発生します。
print(s[1.5])する
出力します。
TypeError: 文字列のインデックスは整数でなければなりません。
インデクサーです。
s = "MAKEUSEOF"
# 範囲外のインデックスを使用しようとすると、IndexError がスローされます。
print(s[88])する。
出力します。
TypeError: 文字列のインデックスは整数でなければなりません。
コロン演算子(:)を使用すると、一連の文字にアクセスすることができます。
s = "MAKEUSEOF"
# 0 番目のインデックス(included)から 4 番目のインデックス(excluded)までを表示します。
print(s[0:4])する
# 3番目のインデックス(include)から最後のインデックス(exclude)までを表示します。
print(s[-3:-1])
# 文字列の2番目のインデックスから最後までを印刷する
print(s[2:]の場合)
# 文字列の先頭から6番目までのインデックスを表示(除外)
print(s[:6])
出力します。
MAKE
EO
ケーユーエスオーエフ
マケウス
演算子は、2つ以上の文字列を連結し、連結後の文字列を返します。
s1 = "MAKE"
s2 = "USE"
s3 = "OF"
s = s1 + s2 + s3
# 連結された文字列を表示する
活字体
出力します。
メーキュースルー
文字列を指定された回数だけ繰り返すために使用します。
str = "MUO-"
# strを5回表示する
print(str * 5)
# strを2回表示する
印字出力
x = 3
# Prints str x times
# ここで、x = 3
print(str * x)
出力します。
MUO-MUO-MUO-MUO-MUO-
MUO-MUO-」。
MUO-MUO-MUO-」。
これは、第一オペランドが第二オペランドに存在するかどうかをチェックするメンバーシップ演算子です。第 1 オペランドが第 2 オペランドに存在する場合、True が返される。
それ以外の場合はFalseを返す。
str = "MAKEUSEOF"
# MAKEがstrに存在する場合、Trueを返す。
print("MAKE" in str)
# Hがstrに存在しないのでFalseを返す
print("H" in str)
出力します。
True
偽
もう一つのメンバーシップ演算子であるnot inは、in演算子の反対語です。最初のオペランドが2番目のオペランドに含まれる場合はFalseを、それ以外の場合はTrueを返します。
str = "MAKEUSEOF"
# Helloがstrに存在しないのでTrueを返す
print("こんにちは" not in str)
# Mがstrに存在するのでFalseを返す
print("M" not in str)
出力します。
True
偽
エスケープシーケンスを使用すると、文字列の中に特殊文字を配置することができます。エスケープする文字の前にバックスラッシュ(/)を付けるだけです。文字がエスケープされていない場合、Pythonはエラーを投げます。
s = 'We are using apostrophe \' in our string'
活字体
出力します。
文字列の中でアポストロフィ「'」を使用しています。
変数は大括弧 ** で囲むことにより、文字列の内部で使用することができる。また、文字列の逆カンマを開く前に、小文字のfまたは大文字のfを付加する必要がある。
s1 = "Piper"
s2 = "a"
s3="漬け物"
str = f "ピーター{s1}は{s2}ペックの{s3}ピーマンを採った"
# s1、s2、s3はそれぞれの値で置き換えられます。
プリント
a = 1
b = 2
c = a + b
# a, b, c はそれぞれの値で置き換えられる
print(f "{a} + {b}の和は{c}に等しい")
出力します。
Peter Piper picked a peck of pickled peppers
1+2の和は3に等しい
文字列の長さを求めるための関数で、Pythonで最もよく使われる関数の一つです。
str = "MAKEUSEOF"
# "MAKEUSEOF "の文字数を表示します。
print(len(str))する
出力します。
9
Pythonは、ASCII文字とUnicode文字の両方をサポートする汎用言語です。
c1 = ord('M')
c2 = ord('a')
c3 = ord('A')である。
c4 = ord('$')
c5 = ord('#')
print(c1)
print(c2)
print(c3)
print(c4)
print(c5)
出力します。
77
97
65
36
35
chr()を使って、整数の文字値を求めます。
i1 = chr(77)
i2 = chr(97)
i3 = chr(65)
i4 = chr(36)
i5 = chr(35)
print(i1)
print(i2)
print(i3)
print(i4)
print(i5)
出力します。
M
a
A
$
#
関連:ASCIIテキストとは、どのようなもので、どのように使われるのですか?
この関数は、Pythonの任意のオブジェクトを文字列に変換するために使用します。
num = 73646
# num(整数)を文字列に変換する。
s = str(num)
# 文字列を表示する
活字体
# Type functi*** は、オブジェクトのタイプを返す。
# ここでは、<class 'str'>が返されます。
かつじ
出力します。
73646
<クラス 'str'>
split() メソッドを使用すると、文字列を区切り文字に基づいて文字列のリストに分割することができます。
str1 = "Peter-Piper-picked-a-peck-of-pickled-peppers"
splitted_list1 = str1.split('-')
# - デリミタで分割された文字列のリストを表示する
print(splitted_list1)
str2 = "私たちは、きっとすぐに太陽の光を見ることができる"
splitted_list2 = str2.split(' ')
# スペース1つで分割された文字列のリストを表示する
print(splitted_list2)
出力します。
['Peter', 'Piper', 'picked', 'a', 'peck', 'of', 'pickled', 'peppers']
['we', 'surely', 'shall', 'see', 'the', 'sun', 'shine', 'soon'] (「私たち」、「確かに」、「しなければならない」、「見る」、「太陽」、「輝く」、「すぐに」)。
join() メソッドは、反復可能なオブジェクトのすべての要素を結合するために、結合される要素の任意のセパレータ文字を使用することができます。
list1 = ["I", "thought", "I", "thought", "of", "thinking", "of", "thanking", "you"]
# - をデリミタとしてリストを文字列として結合する
str1 = "-".join(list1)
print(str1)
list2 = ["Ed", "had", "edited", "it"].
# 区切り文字として半角スペースを使ってリストを結合する
str2 = ".join(list2)
print(str2)
出力します。
I-thought-I-thought-of-thinking-of-thanking-you
エドが編集していた
文字列やテキストを扱うことは、プログラミングに不可欠な要素です。文字列は、プログラムからプログラムのユーザーへ情報を渡す媒体として機能します。Pythonを使えば、文字列を思い通りに操ることができます。