文字列の基礎
入門Python3 2.3
Pythonでは文字列はシングルクォートかダブルクォートで囲むことで定義できます。まぁこれはだいたいどの言語でも似たようなものですね。
str1 = 'hello' str2 = "world" print(str1) print(str2)
$ py main.py hello world
またクォートを3つ並べることで複数行の文字列を定義することができます。
str1 = '''foo bar baz''' str2 = """1 2 3""" print(str1) print(str2)
$ py main.py foo bar baz 1 2 3
ちなみにPythonには複数行のコメントアウトする構文が存在しないらしく、その為「"""」を擬似コメントアウトとして利用するらしいです。なんてこったい。
文字列の連結は+で行います。
print('foo'+"bar")
$ py main.py foobar
「*演算子」を使うことで、文字列の繰り返しをすることができるようです。これは便利ですね。例えばFooという文字列を10個並べたい場合、for文などで繰り返す必要なく定義できるというわけです。
str = 'Foo' * 10 print(str)
$ py main.py FooFooFooFooFooFooFooFooFooFoo
「[]演算子」を使うことで、文字列の一つに直接アクセスし取得することができます。
str = 'すごーい' print(str[0]) print(str[1]) print(str[2]) print(str[3])
$ py main.py す ご ー い
この時、範囲外のデータにアクセスしようとすると例外が発生します
str = 'すごーい' print(str[4])
$ py main.py Traceback (most recent call last): File "main.py", line 7, in <module> print(str[4]) IndexError: string index out of range
また、Pythonの文字列はイミュータブルであり変更不可なので[]を使ってその一部を変更しようとすると例外になります。
str = 'すごーい' str[0] = 'え'
$ py main.py Traceback (most recent call last): File "main.py", line 4, in <module> str[0] = 'え' TypeError: 'str' object does not support item assignment