LoginSignup
0
2

More than 5 years have passed since last update.

前回: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と表示されずにエラーなの?
そんな謎を解明。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2