More Related Content
Similar to LLdeade Python Language Update (20)
LLdeade Python Language Update
- 2. 短い自己紹介
「みんなのPython」の著者です
嫁&息子&わんこLove
12年8月6日月曜日
- 5. 2003年にPythonの発表をしたとき
•珍獣扱い
• 「インデント,ウザくないですか?」という質問があった
• 意味が分からない
•外資ヘッドハントの標的
•秘密兵器的に使っていた
12年8月6日月曜日
- 7. 期待のルーキー
•標準ライブラリが充実(Battery Included)
•マルチプラットフォーム
•Googleが使い始める(2002年,Python 2.2)
•Python 2.3(2003年7月29日リリース)
12年8月6日月曜日
- 8. Zope Pythonのキラーアプリ
12年8月6日月曜日
- 9. Zope
• サーバ内蔵Webアプリケーションフレームワーク
• オブジェクト指向,メタプログラミングを使った開発
• テンプレート言語
• KVM風のオブジェクトデータベース(ZODB)内蔵
• プリミティブなO/Rマッパーを使ってDB操作
12年8月6日月曜日
- 11. Anaconda
• GUIフレームワークPyGTKベース
• ファンシーなUIでLinuxのインストールベース拡大に貢献
• Linuxのデスクトップは最近では普通にPythonを使っている
• yum
• PythonないとLinux動かない
12年8月6日月曜日
- 13. NumPy(Numeric)
• Pythonの科学計算用ライブラリ
• 大規模な多次元配列,行列のデータ型を内蔵
• 高速な数学ライブラリ
• SciPy(NumPy + MatPlotLib),BioPython,etc.
• iPythonは科学技術系紀元
12年8月6日月曜日
- 14. Pythonの
あんま変わってない
言語としての10年
12年8月6日月曜日
- 15. Changes between Python 2.3 to 2.7
Python 2.3 Python 2.4 Python 2.5 Python 2.6 Python 2.7
(2003) (2004) (2006) (2008) (2010)
yield文 set型 条件式 with文 Set型のリテラル
デコレータ 絶対/相対import except .. as
ディクショナリ/
ジェネレータ式 try/except/finally 8/2進数のリテラル Set内包表記
複数行import 例外の バイトリテラル Python 3からの
新スタイルクラス化 バックポート
整数型の統合 クラスデコレータ
Python 3からの
バックポート
12年8月6日月曜日
- 16. Changes between Python 3.0 to 3.3
Python 3.0 Python 3.1 Python 3.2 Python 3.3
(2008) (2009) (2011) (2012)
print()関数 with文で複数の (モラトリアム期) u”∼”リテラルの復活
context managerを
view 受けられるように yield from
比較の変更 浮動小数点の 例外の再構成
整数型の統合 評価方法変更
“/”演算子の変更
文字列型の変更
bytes型
関数注記
キーワードのみ引数
nonlocal文
クラスデコレータ
except .. as
12年8月6日月曜日
- 18. デコレータとは
def foo(self):
perform method operation
foo = classmethod(foo)
def foo(cls):
pass
foo = synchronized(lock)(foo)
foo = classmethod(foo)
もっと綺麗に書きたい
12年8月6日月曜日
- 19. 決まるまで4ヶ月かかった(c.f. PEP 318)
def func(arg1, arg2, ...): |が好きだよ派
pass
func = dec2(dec1(func)) |classmethod
def foo(arg1,arg2):
pass
decorate文が必要だよ派
decorate: @が好きだよ派
classmethod
def foo(arg1,arg2): def @classmethod foo(arg1,arg2):
pass pass
@classmethod
記号で囲むべきだよ派 def foo(arg1,arg2):
pass
[classmethod] def foo(arg1,arg2) @classmethod:
def foo(arg1,arg2): pass
pass
def foo @classmethod (arg1,arg2):
<classmethod> pass
def foo(arg1,arg2):
pass
前に記号をつけるべきだよ派
12年8月6日月曜日
- 21. 利用者の広がり PythonはWebだけじゃない
12年8月6日月曜日
- 23. チープ革命が科学計算の分野にもインパクトを
• SGI,クレイがコモディティ化したPCサーバに
• 並列計算が主流に
• FORTRANやMathematicaなどの代替としてPythonが選ばれる
• 外部ライブラリとの連携のしやすさ
• NumPy,SciPy,BioPython,MatPlotLib
12年8月6日月曜日
- 26. 気象とPython
• PyAOS
Python for Atmospheric
and Oceanic Science
• 海洋気象物理学のためのラ
イブラリ
• 日本の気象庁でも利用
• 省庁で日本の明日を真剣に考え
ているのは気象庁だけ
• 日本の明日を真剣に考えている
のはPythonだけ
12年8月6日月曜日
- 28. シンプルさがもたらす恩恵
• 複数の実装系
• Jython,IronPython,PyPy
• Python Inspiredな言語など
• Boo,CoffeeScript,Go(?)
• Pythonの世界広がりまくりんぐ
12年8月6日月曜日
- 29. そろそろPython 3
• Python 3.3イケてる(2012年8月末リリース予定)
• 主要フレームワーク,ライブラリがPython 3に対応
みんなのPython
第三版が出るのです
(2012年8月末くらい)
12年8月6日月曜日