Java/Python 導入ガイド:世界一有名なプログラム

記事一覧入門編基礎編応用編中級編

Java プログラマーのための Python 導入ガイド〈初級/入門編〉《Jython2.5》
世界一有名なプログラム:hello world


悪人を倒せば世界が平和になる
という映画は作らない
Hayao Miyazaki - Wikipedia
《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2009/04/03

■ 概要

Java™ Programming Language〔JPL〕の事例を使って、JavaJython との違いを学びます。

世界一有名かつ短いプログラム

「世界一有名なプログラム」と言えば、これでしょう。

■ 事例:C
main()
{
    printf("hello, world\n");
}

K&R に続く、数多くのプログラミング言語の入門書で「なぜか」これと同様の例が示されます。Java/Python 自身もC言語で記述されていることから、それ自身もある意味で「C言語のアプリケーション」と言えます。C言語を生み出した「K&R への賛辞(tribute)」という意味では、ここから始めることに意義があるのかもしれません。

■ 事例:Java
class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, world");
    }
}

「世界一有名なプログラム」は「世界一短いプログラム」とも言えます。文字列 "Hello, world" の長さを無視すると、何かを出力するのに必要な「最低限の」要素が盛り込まれています。

Jython 対話モード

同じことを Jython で記述するには、対話モードで起動して、

$ jython2.5.0
Jython 2.5.0 (Release_2_5_0:6476, Jun 16 2009, 13:33:26) 
[Java HotSpot(TM) Client VM (Apple Inc.)] on java1.5.0_13
Type "help", "copyright", "credits" or "license" for more information.

組み込み関数 print を利用すると、

>>> print("Hello, world")
Hello, world

むしろ、対話モードならではの特徴を活かして、

>>> "Hello, world"
'Hello, world'

と文字列を入力するだけで、同様の出力が得られます。

《Note》入出力の違いがよく分かるように、事例を示すときには(原則として)二重引用符で囲んだ文字列を入力します。すると、単一引用符で囲まれた文字列が出力されます。

Jython スクリプト(モジュール)

コマンドラインからモジュールを起動すると、

$ jython2.5.0 hello.py 

#! /usr/bin/env python
if __name__ == '__main__':
    print("Hello, world")

if 文に続く条件式を満たすときだけ、ブロック内に記述されたコードの断片を実行します。

《Note》モジュールを import するだけでは、この部分に記述されたコードは実行されません。さもないと、モジュールを import したときに実行されてしまいます。

モジュールを起動するときに、オブション -i を指定すると、モジュールの動作を対話モードで確認できます。

$ jython2.5.0 -i hello.py 
■ 事例:Jython 関数

関数 main を定義すると、

def main():
    print("Hello, world")

>>> main()

関数呼び出し main() によって、同じ出力が得られます。

■ 事例:Jython メソッド

クラス HelloWorld とメソッド main を定義すると、

class HelloWorld:
    def main(self):
        print("Hello, world")

>>> HelloWorld().main()

メソッド呼び出し main() によって、同じ出力が得られます。

《余録》モジュールを実行するには

Tips

》作業中です《

Last updated♪2009/07/18