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の複数行の文字列を作成する方法4つ
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 ( " )
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 ( " )
print (String1)
|
3. Pythonで文字列を更新する
文字列は不変であり、文字の更新や削除はできません。
このため、文字列への項目の割り当て(更新の場合)や項目の削除はサポートされていないため、エラーになる場合があります。
Traceback (most recent call last): File “ / Desktop / trial.py”, line 4 , in
String1[ 2 ] = ‘p’
TypeError: ‘ str ’ object 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 ( " ,num, " is " , ar1)
|
Pythonのformat()メソッドは、10進数から2進数、8進数、16進数への変換を可能にし、整数をフォーマットするために使用することができます。
この記事もチェック:Pythonの文字列フォーマット|f文字列やformat関数等での使い方
まとめ
これでこのチュートリアルは終わりです。
文字列とその関数についてしっかりと理解していただけたと思います。
ここでは、PythonのOOPに関する多くの記事を取り上げ、本当に興味深いPythonのプログラミングの例を示しています。