170 likes | 526 Views
Python in 5min. Gouichi Iisaka The Company was called Cray Research Japan Co., Ltd. Python. 移植性に優れ、独立したプログラムを短期開発するツールとしても優れた Python は、システム開発現場で広く使われるようにな ってきている。本書では、 Python プログラミングの基礎を、日々のプログラミング作業で Python をどのように利用できるかに重点を置いて解説する。初心者・熟練者を問わず、 価値ある待望の一冊。 -- オライリー・ジャパン. Python の特徴.
E N D
Python in 5min. Gouichi Iisaka The Company was called Cray Research Japan Co., Ltd.
Python 移植性に優れ、独立したプログラムを短期開発するツールとしても優れたPythonは、システム開発現場で広く使われるようにな ってきている。本書では、Pythonプログラミングの基礎を、日々のプログラミング作業でPythonをどのように利用できるかに重点を置いて解説する。初心者・熟練者を問わず、 価値ある待望の一冊。 -- オライリー・ジャパン
Pythonの特徴 • 会話型言語(にもなる)スクリプト言語 • インタープリタ • オブジェクト指向 • Tcl、Perl、Scheme、Java とよく比較される • ほとんどのOSで動作する移植性の良さ • 既存のコードを組み込み可能 • 拡張が容易
例えばJavaと比べると • (ある意味で)非常に良く似ている • 両方ともバイトコードで動作するインタプリタ • 両方ともオブジェクト指向 • 安全性のための制限実行(restricted execution) • 他にもたくさん… • 単純 (Simple) • 動的 (Dynamic) • 強力 (Powerful)
Python の誕生 • Guido van Rossum (発音が難しい)が開発 • 1982-1986 : ABC Group • 1986-1991 :Amoeba Project • 1991-1995 :Multimedia Group • 1995-1998: NIST • 1998- : CNRI
Pythonは誰のもの • 1991-1995 Stichting Mathematisch Centrum • PSA(Python Software Activity)が開発・保守 • 1998/10 CNRIをホストとしてコンソーシアムが設立
Python 誕生 • Amoeba(分散型OS:CWI/A.Tanenbaum )のシステム管理用のスクリプト言語として誕生 • はじめのポートは Macintosh • ABC, Module-3, C, Icon などの影響 • 名前の由来はBBCのコメディ番組
Python が動作するOS • SCO • Sequent PTS • SGI IRIX • Solaris x86 • Sparc/Solaris • Sparc/SunOS • Ultrix • VMS/VAX • Windows 95/98/NT • Windows CE * • CRAY UNICOS * • HITACHI HP-UX * • AIX • BeOS • BSDI • Digital Unix (DEC OSF/1) • DGUX • FreeBSD • HPUX • Linux • Mac OS • OpenVMS (alpha and VAX) • OS/2(emx)
Pythonのユーザ事例 • Infoseek のUltra Seek Server11,000行のPythonプログラム • Yahoo のPeople Search • RedHat のインストールツール • ローレンス・リバモア研究所Numeric Python、GIST • NASA ジョンソン・スペースセンター • 他にも http://www.python.org/psa/Users.html
Pythonの記述例 >>> 2+2 # and a comment on the same line as code 4 >>> (50-5*6)/4 5 >>> # Integer division returns the floor: ... 7/3 2 >>> 7/-3 -3
Pythonの記述例 >>> width = 20 >>> height = 5*9 >>> width * height 900 >>> 123456789012345678901234567890L * 9 1111111101111111110111111111010L
Pythonの記述例 >>> numbers = [0.3333, 2.5, 0, 10] >>> for x in numbers: ... print x, ... try: ... print 1.0 / x ... except ZeroDivisionError: ... print '*** has no inverse ***' ... 0.3333 3.00030003 2.5 0.4 0 *** has no inverse *** 10 0.1
例外(Exceptions) • どこでも例外の発生と捕捉が可能 • 文字列もしくはユーザ定義 • ワイルドカード捕捉がOK
GUI in Pyhton • For UNIX • Tkinter: Tcl/Tk • Pwm • PyGtk • For Windows • Tkinter • WPY • wxPython
GUI in Pyhton from Tkinter import * class Application(Frame): def say_hi(self): print "hi there, everyone!" def createWidgets(self): self.QUIT = Button(self) self.QUIT["text"] = "QUIT" self.QUIT["fg"] = "red" self.QUIT["command"] = self.quit self.QUIT.pack({"side": "left"}) self.hi_there = Button(self) self.hi_there["text"] = "Hello", self.hi_there["command"] = self.say_hi self.hi_there.pack({"side": "left"})
GUI in Pyhton def __init__(self, master=None): Frame.__init__(self, master) self.pack() self.createWidgets() app = Application() app.mainloop()
Python Internet Resources • Pythonオフィシャル・ホームhttp://www.python.org • Walnut Creek CDROMhttp://www.cdrom.com/titles/prog/python.htm