0
0

More than 3 years have passed since last update.

学習の吐き出し1(Python編1)

Posted at

学習の吐き出しです。
今回主に学んだのは、文字列についてでした。

エスケープ

\のこと。文字列の改行\nでよく使われる。
こんな感じ。

>>> palindrome = 'A man, \nA plan,\nA canal:\nPanama'
>>> print(palindrome)
A man, 
A plan,
A canal:
Panama

また、\tでテキストの位置調整ができる。

>>> print('\tabc')
    abc
>>> print('a\tbc')
a   bc
>>> print('ab\tc')
ab  c
>>> print('abc\t')
abc 

そしてクォートを文字として使いたい場合も、\が必要。

>>> testimonyb = "\"I did nothing!\" he said. \"Not that either! Or the other thing.\""
>>> print(testimonyb)
"I did nothing!" he said. "Not that either! Or the other thing."

本来、シングルクォートとダブルクォートは、文字列を文字列だと認識・表示させるための特殊な記号。
test = ""a"iueo"と変数に入力するとsyntax errorになる。
「これは、""として表示したいの? それともaを文字として表示したいの? 書き方が変だからわからないよ!」
とpythonくんに怒られているわけです。

特にダブルクォートを文字として使用したい場合は、上記のコードのように\"で『文字だよ』と教えてあげましょう。

ダブルクォートの部分をまとめると、\は特殊文字の特殊性を打ち消す能力があるのです。

+で連結

文字列は+記号で文字列同士を連結できる。
基本的には下記。

>>> 'Release the kraken! ' + 'At once!'
'Release the kraken! At once!'

文字列だけなら、+を使わなくてもOK。

>>> "My word! " "A gentleman caller!"
'My word! A gentleman caller!'

ただし変数を使う場合は、+が必須

>>> a = 'Duck.'
>>> b = a
>>> c = 'Grey Duck!'
>>> a + b + c
'Duck.Duck.Grey Duck!'

もちろん使わないとエラーが出る。

>>> a = 'Duck.'
>>> b = a
>>> c = 'Grey Duck!'
>>> abc
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'abc' is not defined

これは変数をどうしたいかという指示がないため、エラーになる。
+は『変数の中の文字列を足して表示してくれ』と指示している。
下のprint(a,b,c)は、『変数の中の文字列を(a,b,c)の順に表示してくれ』と指示している。

ちなみに、これでも同じ結果を得られる。

>>> print(a,b,c)
Duck. Duck. Grey Duck!

*による繰り返し

*を使うと変数内の文字列を繰り返し表示できる。

>>> start = 'Na ' * 4 + '\n'
>>> middle = 'Hey ' * 3 + '\n'
>>> end = 'Goodbye.'
>>> print(start + start + middle + end)
Na Na Na Na 
Na Na Na Na 
Hey Hey Hey 
Goodbye.

startの部分を解体すると、
1、『start』という変数
2、=で代入
3、文字列'Na'を格納
4、『*4』で4回繰り返しを指示
(文字列での表示指示ではないのでクォートは必要ない。むしろクォートで囲むと、文字列になっちゃうので計算ができません。)
5、'\n'で改行指示
(文字列として使用するためクォートで囲む)

というような感じです。

ちなみに、「+を使わなくても表示されるんじゃないの?」と思ったあなた!
こんな感じになります。

>>> print(start,start,middle,end)
Na Na Na Na 
 Na Na Na Na 
 Hey Hey Hey 
 Goodbye.

1文字分ずれます。
些細なんですけど私は気になるので、+をちゃんと使うことをお勧めします。
理由は……あとで調べておきます。


とりあえず、一旦ここまで。
抽出や簡単な関数まで勉強したので、一気にやるとかなり長い記事になってしまうので。

この後もアウトプット含め頑張ります。

0
0
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
0