さて、5回目となったpythonを覚える記事。
http://news.mynavi.jp/news/2015/11/12/134/
こっちの記事では、pythonは5位。
http://news.mynavi.jp/news/2015/11/04/295/
こっちの記事では2位。
まあ、こちらはチュートリアルが検索された回数だから、私みたいな人が興味を持った順位ということか。
コメント
シャープ#がコメントになる。
行の先頭以外でもOK。
複数行コメントは?
トリプルクオーテーション"""で囲むらしい。
でも、"""って改行付き文字列を扱うときのものではないのか?
05.py
1: #!/usr/bin/python2: "yahoo"
3: print("hell") #Guten Tag4: """5: mello yellow6: """7: 58: pass
$ ./05.py
hell
何もしない行、みたいなものはエラーにならないようだ。
日本語
日本語というか、アルファベット以外の扱いは厳しいようだ。
コメントに日本語を書いても怒られてしまった。
1: #!/usr/bin/python2: print("hell") #地獄行く
$ ./05.py
File "./05.py", line 2
SyntaxError: Non-ASCII character '\xe5' in file ./05.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
1: #!/usr/bin/python2: # -*- coding: utf-8 -*-3: print("hell") #地獄行く
1行目か2行目に書け、ということだが、3行目に書いたらどうなるのだ?
$ ./05.py
File "./05.py", line 4
SyntaxError: Non-ASCII character '\xe6' in file ./05.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
単に、見てくれないだけだ。
では、UTF-8といっておきながらファイルをシフトJISで保存していたらどうなるか?
別に何ともならなかった。
単に、ASCIIコード以外の文字をファイルに書きたいのであればencodingを指定せよ、という程度のようだ。
ただ、こういうのはファイルのエンコーディングを正しく指定しないとエラーになる。
1: #!/usr/bin/python2: # coding: utf-83: print("機能")
(ファイルをシフトJISで保存)
$ ./05.py
File "./05.py", line 3
print("?@?\")
^
SyntaxError: EOL while scanning string literal
機能の「能」は、シフトJISだと0x945Cになる。
0x5Cは、ASCIIコードでいえば「\」になるため、次の文字がエスケープされてしまうのだ。
ちゃんとshift-jisと指定すれば、実行できる。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。