※この記事はUdemyの
「現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル」
の講座を受講した上での、自分用の授業ノートです。
講師の酒井潤さんから許可をいただいた上で公開しています。
##■基本の文字列
print('hello')
print("hello")
hello
hello
print()
内で文字列を指定する場合は、''
でも""
でもよい。
##■文字列内に「'」がある場合
#####◆""
で括る
print("I don't know.")
I don't know.
""
で括った場合は、きちんと出力される。
#####◆''
で括るとエラーになる
print('I don't know.')
print('I don't know.')
^
SyntaxError: invalid syntax
''
で括った場合、文字列中の「'」が括りの終わりと判定されてしまい、エラーとなってしまう。
#####◆\
を使ってエラーを回避する
print('I don\'t know.')
I don't know.
文字列中の'
の前に\
を入れてやることで、括りとしての判定を回避できる。
print('say "I don\'t know."')
print("say \"I don't know.\"")
say "I don't know."
say "I don't know."
応用。
##■文字列内に「\n」がある場合
#####◆改行の\n
print('Hello. \nHow are you?')
Hello.
How are you?
\n
が「改行」となるのは以前扱った。
#####◆誤って\n
と判定される
print('C:\name\name')
C:
ame
ame
「C:\name\name」を表示させたかったのに、\n
の部分が改行判定されてしまった。
#####◆r
を用いた判定回避
print(r'C:\name\name')
C:\name\name
その際は、"raw"の頭文字であるr
を文字列の先頭につけることで、文字列をそのままprintすることができる。
##■改行
print("""
line1
line2
line3
""")
line1
line2
line3
上のように""" """
を用いることで、\n
を使って一行で記述せずとも、見やすいコードが書ける。
print('#######')
print("""
line1
line2
line3
""")
print('#######')
#######
line1
line2
line3
#######
ただし、この書き方だと文字列の上下に空白行が挿入されることになる。
print('#######')
print("""\
line1
line2
line3\
""")
print('#######')
#######
line1
line2
line3
#######
\
をこのように入れてあげることで、「次に書くコードは次の行から始めてね」という意味になる。
##■演算子を用いる
#####◆文字列と演算子
print('Hi.' * 3 + 'Mike.')
print('Py' + 'thon')
print('Py''thon')
Hi.Hi.Hi.Mike.
Python
Python
文字列に対し、演算子を組み合わせることもできる。
単純に文字列同士を接続する場合、+
を記述しなくても接続してprintされる。
#####◆変数と文字列の並列
prefix = ('Py')
print(prefix'thon')
print(prefix'thon')
^
SyntaxError: invalid syntax
ただし、変数に文字列を代入した場合は+
を省略することはできない。
prefix = ('Py')
print(prefix + 'thon')
Python
+
できちんと接続することができた。
#####◆+
の省略が好まれる場合
print('aaaaaaaaaaaaaaaaaaaaaaaaaaa'
'bbbbbbbbbbbbbbbbbbbbbbbbbbb')
aaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbb
長い文字列をつなげて表示させる場合は、このように記述するとコードが見やすくなる。
(1行で書くと画面サイズに収まりきらない場合があったりして見にくい。)