気になるニュースを見たので、Python さわってみようと。
この1年でPythonは2.04%の伸びを見せ、もっとも人気が伸びたプログラミング言語となった。ほかにはVBが1.84%、Javaが1.69%、C#が1.34%、PHPが1.25%、Delphiが1.00%、JavaScriptが0.36%人気を伸ばしている。 一方で減少傾向にあるのはC/C++/Perl/Ruby。全体的にはスクリプト言語の人気が伸びている。PerlとRubyも減少しているとはいえ微減程度だ。
微減程度とは言え C/C++/Perl/Ruby が減少傾向って、そうなんだろうか。。。
まあ、検索エンジンや YouTube の検索結果からの統計らしいので、古き良き現役言語のドキュメントなどはもう揃いに揃っているので、そういう結果なのかなという感じ。
ただ、2007年から Python は確かに何かとよく耳にする。
Python は Guido van Rossum 氏による、フリーなオブジェクト指向プログラミング言語です。 Red Hat 系 Linux ではインストーラや環境設定ツールの開発言語として利用されている
Perl みたいにコアな機能以外はモジュールで追加するというコンセプトに親近感がわくし、糊言語としても使えるそうなのでちょっといじってみる。
・Python Official Website(英語)
・日本Pythonユーザ会
Python のインストール
オイラのサーバ(Vine Linux)に入っていたのは、なんと Python1.5 だった(^_^;)
最新版2.5.1をソースからインストールする。
# tar xvzf Python-2.5.1.tgz
# cd Python-2.5.1
# ./configure
# make
# make install
デフォルトで /usr/local/bin/python にインストールされる。
もともとの Python1.5 は不要なので、変名しておく
そして、新たにインストールされた /usr/local/bin/python にパスが通っていないので、~/.bash_profile ファイルに以下の一行を追加しておきます(いわゆる「パスを通す」処理)。
シェルを再起動して以下のコマンドを実行。
インストールした Python のバージョンが表示されれば準備完了。
Python 2.5.1
JapaneseCodecs のインストール
日本語を扱いたいので JapaneseCodecs をインストール。
Unicode をサポートした Python において、EUC-JP、Shift_JIS、ISO-2022-JP などの日本語の文字エンコーディングを利用できるようにするためのコデック集です。本パッケージを用いることにより、日本語の文字データをバイト列としてではなく文字列として扱えるようになります。
以下のようにコマンドを実行。
# tar zxvf JapaneseCodecs-1.4.11.tar.gz
# cd JapaneseCodecs-1.4.11
# python setup.py install
対話モード
Python は対話モードというプロンプトでプログラミングを実行できます。
学習用言語という狙いがあるからだと思いますが、対話モードは簡単で非常に面白い。
MSXで遊んでいたころを思い出してしまいました。
「python」とだけ打ち込むと、対話モードが起動して「>>>」という入力待ちになります。
Python 2.5.1 (r251:54863, Jan 18 2008, 11:19:30)
[GCC 2.95.3 20010315 (release)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
「Hello Python!!」を出力。
Hello Python!!
変数に値を代入して、平均値を出力。
>>> b = 6
>>> c = 24
>>> print (a+b+c)/3
14
対話モードから抜けるには Ctrl+D 。
簡単なCGI
Python スクリプトを CGI として実行してみる。
以下のようなコードをファイル名「put_time_python.cgi」文字コード「EUC-JP」で保存。
ブラウザでアクセスすると、現在日時と曜日に応じたメッセージを表示します。実行サンプルはこちら。
[put_time_python.cgi]
# -*- coding: euc-jp -*-
youbi = ["日", "月", "火", "水", "木", "金", "土"]
html = '''Content-Type: text/html;charset=EUC-JP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
<title>Pythonで日時表示</title>
</head>
<body>
現在
<p><strong>%s(%s) %s</strong> です。</p>
<p>%s</p>
</body>
</html>
'''
import time
date = time.strftime('%Y年%m月%d日')
wday = int(time.strftime('%w'))
now = time.strftime('%H時%M分%S秒')
if wday == 5 :
msg = "きょうはうれしいうれしい金曜日!"
elif wday == 6 or wday == 0:
msg = "きょうは楽しい休日!遊びに行こう!"
else:
msg = "ウィークデイはお仕事がんばろう!"
print html % (date, youbi[wday], now, msg)
time.strftime で返ってくる数字が文字列だと気付くまで30分かかった。。。
ところで、Pythonって早いんでしょうか?
