今さらPython3 (20) - やっとこさ

まだ2割ぐらいしか読んでないけど、良い本に巡り会えた予感。今日から第4章に突入。

入門 Python 3

入門 Python 3

ちなみに、本を買わずにこのブログだけで内容を把握しようと思っている人がいるかもしれないが、1日1記事のペースで進んでいくと、このシリーズが終わるのは来年の3月頃になるので、さっさと書店なりで購入した方がいいと思うよ。

コメントを書く

そう言えば、この本でまだ"Hello World"書いてないような気がするけど、その前にコメントを書く練習になるとは。

>>> #60 sec/min * 60 min/hr * 24 hr/day
... seconds_per_day = 86400
>>> seconds_per_day
86400
>>> seconds_per_day = 86400 # 60 sec/min * 60 min/hr * 24 hr/day
>>> seconds_per_day
86400
>>>

最初のパターンでコメント行で改行打った後に、...が表示されたのに少し驚いたけど、その行で定義した変数は認識してくれているので一安心。行頭だろうが行中だろうが#を使うのが、Pythonでの決まり。

>>> # I can say anything here, even if Python doesn't like it,
... # because I'm protected by the awesome
... # octothorpe.
...
>>>

複数行のコメントの場合も各行に#を入れるのね。

でも、プログラムの先頭に"""で始まるコメントを入れるとプログラム文書か何かに表示されるってどこかで読んだ気がする。

>>> """
... This program can convert dates from Western to Wareki
... """

この本のどこかで、出てくると信じてますw

>>> print("No cooment: quates make the # harmless.")
No cooment: quates make the # harmless.

もちろん""や''で囲まれた中なら、#は純粋に文字として認識されると。コメントとして無視される方がharmlessだと思うのは気のせいだろうか?

行の継続

>>> alphabet = ''
>>> alphabet += 'abcdefg'
>>> alphabet += 'hijklmnop'
>>> alphabet += 'qrstuv'
>>> alphabet += 'wxyz'
>>> alphabet
'abcdefghijklmnopqrstuvwxyz'

26文字ぐらいならこんなやり方しないだろうというツッコミはさておき、

>>> alphabet = 'abcdefg' + \
...     'hijklmnop' + \
...     'qrstuv' + \
...     'wxyz'
>>> alphabet
'abcdefghijklmnopqrstuvwxyz'

日本語環境でバックスラッシュ入れたつもりが円マーク(\)になるのがとても嫌い。まいっか。

>>> 1 + 2 +
  File "<stdin>", line 1
    1 + 2 +
          ^
SyntaxError: invalid syntax
>>> 1 + 2 + \
... 3
6

こんな感じで式の途中に改行を入れる場合は、バックスラッシュでつなぐと。でも、括弧の閉じ忘れとかで自動的に次の行に継続するケースもあるよね。

>>> x = 3 * (6 +
... 4)
>>> x
30
>>>

(つづく)