前回:https://qiita.com/New_enpitsu_15/items/b71c7da6387b315d6f7e
次回:https://qiita.com/New_enpitsu_15/items/cf3993ddc1a5b748f6d4
目次:https://qiita.com/New_enpitsu_15/private/479c69897780cabd01f4
Pythonには、というか、ほとんどのプログラム言語には数字と文字の区別があります。
#数字と文字の区別?
前回、文字列
という単語が出てきたのを覚えていますか?
文字列は、その名の通り文字の集合です。
文字は文字じゃん…と言われれば、文字は文字なのですが
たとえば
1+1
は2ですよね?
ところがどっこい。
"1"+"1"
は"11"なのです。
そんな小学生のひっかけみたいなこと…と思うかもしれませんが、実際に
print(1+1)
#2
print("1"+"1")
#11
と実行してあげるとそうなるのです。
これは1
は数値を表していて、
"1"
は文字を表しているから。
だいたいイメージはつくとは思いますが、
文字列("1"
とか)同士の足し算は結合ってことになります。
なので"1"と"1"を結合したら"11"なんですね。
1+1はそのまま数値の計算ですから2です。
数字と文字の区別は、そういったところから必要となってくるんですね。
#ちょっとまって!"や'を文字として使いたいんだけど!
普通では、"
と'
は文字を区別するための記号なので使うことはできません。
でも "+"
と表示したかったりするときはどうすればいいの?
大丈夫。そんな時は、'"+"'
と、周りを違う引用符で囲ってあげましょう。
print('"+"')
#"+"
####せんせー!だったら'"+"'は表示できないんですかー?
できます。
でもこれは少し厄介。普通に"
で囲っても、''
と表示されるだけでしょう。
print("'"+"'")#"'"と"'"を結合している
#''
だったらどうするの。そんな時はバックスラッシュ(えんまーく)を文字として表示したい"
の前につけてあげましょう。
print("'\"+\"'")
#'"+"'
すると、'"+"'
と表示されましたね。
この、文字の前につけるバックスラッシュのこと、またはバックスラッシュとそのあとの文字を、__エスケープシークエンス__といったりします。
#エスケープ
エスケープは"
の前に\
と書きましたが、他にもいろいろあります。
例えば、\'
は'
を文字として。\\
は\
自体を文字として表示してくれます。
print("\"")
#"
print('\'')
#'
print("\\")
#\
ほかにも、\n
で改行。
print("ここで日記は途切れている\n\n\nとでも思っていたのか")
#日記はここで途切れている
#
#
#
#とでも思っていたのか
などなど、ほかにもいろいろな種類があります。
(調べるときは「Python エスケープ」等で)
#次回は
変数についてやりますよ~
なんでprint(aaa)だとaaa
と表示されずにエラーなの?
そんな謎を解明。