'、"、"""、+、str()、format()、print("", end="")
シングルクォート「'」、ダブルクォート「"」で文字列を括って表示。
例を見れば理解できる。
◆シングルクォート
print('acha')
>>>
acha
◆ダブルクォート
print("porute")
>>>
purute
◆シングルクォートで括った文中にダブルクォートを使いたい場合
print('I say, "piipo".')
>>>
I say, "porute".
◆ダブルクォートで括った文中にシングルクォートを使いたい場合
print("I'm boo.")
>>>
I'm boo.
◆シングルクォートで括った文中にシングルクォートを使いたい場合
print('I\'m rock\'n\'roller.')
>>>
I'm rock'n'roller.
◆ダブルクォートで括った文中にダブルクォートを使いたい場合
print("I like \"punk\".")
>>>
I like "punk".
◆混在
print("I like \"rock\'n\'roll\".")
>>>
I like "rock'n'roll".
文字列を複数行記載する時
str1 = "acha"
str2 = "porute"
str3 = "piipo"
と1つづつ記載するのも良いですが、
str4 = """\
boo
fuu
woo\
"""
と記載もできます。
print( str1 )
print( str2 )
print( str3 )
print( str4 )
>>>
acha
porute
piipo
boo
fuu
woo
※ 三重引用符の後の「\」を外すと空白が表示されるようになります。
エスケースシーケンスを付与する事で空白の改行を破棄しています。
「\」をつけずに表示した場合↓。空白が表示されます。
>>>
acha
porute
piipo
(この行に空白があります。)
boo
fuu
woo
(この行に空白があります。)
文字を結合したい時は「+」
◆+
str = "acha" + "porute" + "piipo"
print( str )
>>>
achaporutepiipo
str1 = "boo"
str2 = "foo"
str3 = "woo"
print( str1 + str2 + str3 )
>>>
boofoowoo
「+」で文字を結合できますが、文字と数値が混ざるとエラーになります。
str1 = "acha"
num1 = 1
print( str1 + "が" + num1 + "人" )
>>>
TypeError: must be str, not int
不便ですが、数値を文字に変換が必要となります。変換関数は「str()」です。
変換関数を使うと正常終了。
print( str1 + "が" + str(num1) + "人" )
>>>
achaが1人
表示する文字列を指定する事ができます。
変数をバラバラに記載するよりこちらの方が見た目は綺麗になります。
例題を見た方が分かりやすいので、見てみます。
dog = "チャウチャウ"
chigau = "ちゃう"
gimon = "ちゃう"
print("{0}{2}?{1}{1}!{0}{1}{1}。".format(dog , chigau , gimon))
>>>
チャウチャウちゃう?ちゃうちゃう!チャウチャウちゃうちゃう。
例題のようにformat()に設定した値の番号(dog=0,chigau=1,gimon=2)を指定する事で、
指定した文字が割り当てられます。
ちなみに分かりやすい日本語にすると、
「チャウチャウ犬ではないですか?違いますよ!チャウチャウ犬ではありません。」
となります。
今度は、format()に数値を加えてみます。
num = 9
print("{0}{2}?{1}{1}!{0}{1}{1}。←{3}個の「{1}」で成り立つ文章".format(dog , chigau , gimon , num ))
>>>
チャウチャウちゃう?ちゃうちゃう!チャウチャウちゃうちゃう。←9個の「ちゃう」で成り立つ文章
format()を利用すれば、数値から文字への変換も行ってくれます。
改行せずに表示を横に並べたい場合があります。
「, end=""」
を加える事で可能になります。
print( "acha", end="" )
print( "porute", end="" )
print( "piipo" )
>>>
achaporutepiipo