Pythonの文字列の使い方|シングル・ダブルクォートや文字の繰り返し等の解説をする

スポンサーリンク

Pythonの文字列は、広く使われているデータ型の一つで、文字を引用符で囲んで作成します。

string1 = "Hello"
string2 = "welcome"

文字列はシングルクォートまたはダブルクォートで囲まれます。

インタープリタでは、どちらも文字列とみなされます。

Python は ‘character’ データ型をサポートしませんが、長さ1の文字列をサポートします。

var char1 = "H"
スポンサーリンク

Pythonで文字列を作成する方法とは?

Pythonで文字列オブジェクトを作成するには、3種類の方法があります。

1. シングルクォートの使用

文字列は、文字をシングルクォートで囲んで作成することができます

var example = 'Welcome to the tutorial!'

2. 二重引用符の使い方

文字列は、しばしばダブルクォートで文字を囲んで作成される。

var example = "Welcome to the tutorial!"

3. トリプルクォートの使用

文字列はトリプルクォートを使って作成することができる。

トリプルクォートとは,3つのシングルクォートまたは3つのダブルクォートを構成する文字列のことである.これにより、複数行の文字列を宣言することができる。

また、トリプルクォートを使用すると、コード実行時にインタープリタが無視する部分をコメントアウトすることができます

var example = '''Welcome to the tutorial!'''
 
var example2 = """Welcome to the tutorial"""
 
# multi-line comment
''' This is the comment section.
The interpreter will ignore this section'''

Pythonで文字列にアクセスし、文字列を操作する

var1 = 'Hello World!'
print("var1[0]: ", var1[0])

文字列を作成する方法はわかりましたが、プログラミングのために文字列にどのようにアクセスし、操作するかを理解する必要があります。

ここでは、文字列のインデックスにどのようにアクセスするのか、その基本を理解しましょう。

Pythonでは、文字列の文字にインデックスを付けてアクセスすることができます


必要な文字の位置は角括弧の中で指定し、インデックス0が文字列の最初の文字を示します(上の画像で示されているように)。

var1[0]:  H

上のコードの出力は次のようになる。

var1 = 'Hello World'
print("var1[-1]: ", var1[-1])
print("var1[-5]: ", var1[-5])

例えば、-1 は最後の文字、-5 は最後の5文字、といった具合です。

例えば

var1[-1]: d
var1[-1]: W

上記のコードの出力は次のようになる。

var1 = 'Hello'
print(var1[5])  # gives error

一方、範囲外のインデックスにアクセスすると、IndexErrorが発生します。


これは,次のような例で説明することができます

Str1 = "Python Strings Tutorial"
print(Str1[10:20])
 
print("
Slicing characters from 3rd to 5th character: "
)
print(String1[3:5])

注意: インデックスとして渡すことができるのは、整数だけです。

他のデータ型はTypeErrorを引き起こします。

1. Pythonの文字列スライシング

文字列からある範囲の文字にアクセスするために、スライス演算子(コロン)を使って文字列のスライシングを行います。

Strings Tu
 
Slicing characters from 3rd to 5th character:
Py

コードの出力は以下の通りです。

var1 = "Hi,"
var2 = "Good Morning!"
var3 = var1 + var2
print(var3)

Pythonの文字列スライシングについて、さらに詳しく理解したい場合は、包括的な記事を用意しています。

2. 文字列の連結

文字列の連結は、「+」演算子で行う。

以下はその説明図です。

Hi,Good Morning!

上記のコードの出力は以下の通りです。

String1 = "Hello"
   
# Updating character
String1[2] = 'p'
print("
Updating character at 2nd Index: "
)
print(String1)

3. Pythonで文字列を更新する

文字列は不変であり、文字の更新や削除はできません。

このため、文字列への項目の割り当て(更新の場合)や項目の削除はサポートされていないため、エラーになる場合があります。

Traceback (most recent call last):
File /Desktop/trial.py”, line 4, in
String1[2] = ‘p’
TypeError: ‘strobject does not support item assignment

上記のコードスニペットの出力は、以下のようになります。

String1 = "hello"
del(String1)

しかし、組み込みのdelキーワードを使えば、String全体を削除することは可能です。

# Updating entire string
String1 = "Hello"
print(String1)     # prints Hello
 
String1 = "Welcome"
print(String1)     # prints Welcome
 
# concatenation and slicing to update string
var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')
# prints Hello Python!

文字列は以下のように更新することもできます。

var1 = "hello"
print(var1*2)   

4. 文字列の繰り返し

以下のように、アスタリスク( *)演算子を使って、文字列を繰り返すことができます。

hello hello

上のコードの出力は、文字列を2回表示するものです。

print("%s has Rs %d with her" % ('Aisha', 100))

5. Pythonで文字列の書式設定

方法1:書式設定演算子を使う

文字列の書式演算子 % は文字列に固有のもので、C言語の printf() 系の書式オプションに似た挙動をします。

Aisha has Rs 100 with her

上記のコードの出力は次のようになります。

Str1 = "{} {}".format('Hi, It is', '2020')
print(Str1)

方法2:format()メソッドを使用する
文字列のformat()メソッドは、中括弧{}をプレースホルダーとして含み、位置やキーワードによって引数を保持し、順序を指定することができます

Hi, It is 2020

上記のコードの出力は、以下のようになります。

num = int(input())
ar1 = "{0:b}".format(num)
print("
Binary representation of "
,num," is ", ar1)

Pythonのformat()メソッドは、10進数から2進数、8進数、16進数への変換を可能にし、整数をフォーマットするために使用することができます

Indexes In String
Indexes In String

まとめ

これでこのチュートリアルは終わりです。

文字列とその関数についてしっかりと理解していただけたと思います。

ここでは、PythonのOOPに関する多くの記事を取り上げ、本当に興味深いPythonのプログラミングの例を示しています。

参考文献

7.1. string — Common string operations — Python 2.7.18 documentation
タイトルとURLをコピーしました