Python - 概要・バージョン・Hello world!

 クラウディア
1. 能書き
2. バージョン
3. Hello world!

1. 能書き

 いずれ、勉強せにゃあかんとは思っていたのですが、事情があって、少し python をかじってみます。  「FreeBSD」で少し、何かをインストールすると大抵、依存するものとして「Python」はインストールされているようです。  「Python」のディストリビューションとして、「Anaconda」というものがありますが、「Python(ニシキヘビ)」に対して、「Anaconda(アミメニシキヘビ)」というのは、まあこういうのを命名する人たちのよくある洒落っ気ですな。

2. バージョン

 さわり始めた時期の、わたしの環境

OS			FreeBSD 10.3 RELEASE i386
 では python はインストールされているので、バージョンを確認しようとしたら

> python --version
python: コマンドが見つかりません.
 んにゃ?

$ ls /usr/local/bin/pytho*
/usr/local/bin/python2  /usr/local/bin/python2-config  /usr/local/bin/python2.7  /usr/local/bin/python2.7-config
 python2 と python2.7 がインストールされています。  何か依存しているアプリケーションをインストールしているためだと思われます。  改めて、ports を確認してみました。

$ cd /usr/ports/lang
$ ls -ld python*
drwxr-xr-x  2 root  wheel  512  1月 25  2017 python
drwxr-xr-x  2 root  wheel  512  9月 25 08:05 python-doc-html
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-doc-pdf-a4
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-doc-pdf-letter
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-doc-text
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-mode.el
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-tools
drwxr-xr-x  2 root  wheel  512  5月 22  2017 python2
drwxr-xr-x  3 root  wheel  512 10月 16 07:56 python27
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python3
drwxr-xr-x  3 root  wheel  512  3月 25  2016 python32
drwxr-xr-x  3 root  wheel  512  8月 10 08:02 python34
drwxr-xr-x  3 root  wheel  512  8月 10 08:02 python35
drwxr-xr-x  3 root  wheel  512 10月  5 07:15 python36
 せっかく今から覚えていくので、とりあえず、新しいバージョンにしてみます。  Makefile を見ても python3 のマイナーバージョンがわからないので、python3 をインストールしてみて python36 よりも新しければそれを使って、そうでなければ python3 をアンインストールして python36 をインストールしてみようと思います。  で、python3 をインストールしてみたら

> ls -la /usr/local/bin/pytho*
lrwxr-xr-x  1 root  wheel     9 11月  9  2016 /usr/local/bin/python2 -> python2.7
lrwxr-xr-x  1 root  wheel    16 11月  9  2016 /usr/local/bin/python2-config -> python2.7-config
-r-xr-xr-x  1 root  wheel  4148 10月 16 07:54 /usr/local/bin/python2.7
-r-xr-xr-x  1 root  wheel  1769 10月 16 07:54 /usr/local/bin/python2.7-config
lrwxr-xr-x  1 root  wheel     9 11月 27 22:20 /usr/local/bin/python3 -> python3.6
lrwxr-xr-x  1 root  wheel    16 11月 27 22:20 /usr/local/bin/python3-config -> python3.6-config
-r-xr-xr-x  2 root  wheel  5296 11月 27 22:18 /usr/local/bin/python3.6
lrwxr-xr-x  1 root  wheel    17 11月 27 22:19 /usr/local/bin/python3.6-config -> python3.6m-config
-r-xr-xr-x  2 root  wheel  5296 11月 27 22:18 /usr/local/bin/python3.6m
-r-xr-xr-x  1 root  wheel  3082 11月 27 22:19 /usr/local/bin/python3.6m-config
 ってことですので、これでよし。  今んとこ、「python3」をデフォルトとしましょう。  .cshrc に定義

alias python    python3

3. Hello world!

 何はともあれ、「Hello world!」。  下記のソースを書いて。
print "Hello world!"
 で、実行してみたら、こんなんなっちゃいます。
  File "/home/hogehoge/lang/python/sample/hellong.py", line 1
    print "Hello world!"
    ^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
 うはぁ、参考にしたのが「python2」だったようで、「python2」と「python3」では細かな文法が違うようです。  気を取り直して。
print("Hello world!")
 で。
Hello world!
 今度はうまいこと出力されました。  ちょっと驚くのが、文末に ; がないことだったり、print の文字列の末尾に \n がなかったりすることです。  python の文法では、改行が重要な意味を持つようで。  改行すれば行の終わり。  文字列の終わりも何も指定がなければ、改行になるようです。
ハイスピードプラン