Upload
toru-furukawa
View
1.590
Download
0
Embed Size (px)
DESCRIPTION
Python 3.2 概要
Citation preview
Python 3.2
ふるかわとおる 株式会社ビープラウド @torufurukawa #bucho
もうすぐリリース
• 11/13 alpha 4 • 12/04 beta 1 • 12/18 beta 2 • 01/08 RC1 • 01/22 RC2 • 02/05 release
Python Language Moratorium
Python 3.1 リリース後2年間は 文法、セマンティクス、
ビルトインを変更しない [PEP 3003]
3.2 では言語に変更がない
• 2010/06/27 Python 3.1 • 2011/02/05 Python 3.2 • 2012/06/27 モラトリアム終了
FAQ: Python 3.2 使うべき?
答: あなた次第
hOp://wiki.python.org/moin/Python2orPython3
もっともな言い訳が必要
いくつかネタを
• logging • .pyc • Japanese characters
logging モジュール
• 標準ライブラリ • What’s New in Python 3.2 の第1項目
Before: API or .ini ファイルで設定 my_logger =\ logging.getLogger('MyLogger') my_logger.setLevel(logging.DEBUG) handler =\ logging.handlers.RotaangFileHandler( LOG_FILENAME, maxBytes=20, backupCount=5) my_logger.addHandler(handler)
[handlers] keys=consoleHandler [formaOers] keys=simpleFormaOer [logger_root] level=DEBUG handlers=consoleHandler [logger_simpleExample] level=DEBUG handlers=consoleHandler qualname=simpleExample propagate=0
Ager: 辞書で設定 {"version": 1, "formaOers": {"brief": {"format": "%(levelname)-‐8s: %(name)-‐15s: %(message)s"}, "full": {"format": "%(ascame)s %(name)-‐15s %(levelname)-‐8s %(message)s"}, }, "handlers": {"console": { "class": "logging.StreamHandler", "formaOer": "brief", "level": "INFO", "stream": "ext://sys.stdout"}, "console_priority": { "class": "logging.StreamHandler", "formaOer": "full", "level": "ERROR", "stream": "ext://sys.stderr"}, }, "root": {"level": "DEBUG", "handlers": ["console", "console_priority"]}}
辞書使えるよ! JSON とかで設定できるね logging しようぜ
辞書なしで使ってるし logging 使わねーし
.pyc はバージョンごとに生成
Before: foo.py à foo.pyc
• 複数バージョンで同じモジュールをインポートすると .pyc が再生成される
Ager: Python のバージョンごとに pyc
__pycache__/foo.cpython-‐32.pyc
スピンアップ短縮に 期待!
スクリプト共有しないし
日本語ファイル名
Before: ファイル名のエンコーディングが危うい
• UTF-‐8 想定 • Windows では、mbcs でエンコードできなくても ‘ignore’
Ager: システムロケール
• システムロケールのエンコーディングを使う • Windows では mbcs エンコードできなければエラー
• os.fsencode() • os.fsdecode()
日本語ファイル名を使う アプリがしがし 開発するぜ
もう対処してるし
いくつかネタを紹介しました
• logging • .pyc • Japanese file names
使う理由を教えてください
• 使わない理由は分かってます • あえて、使ってる人は、何やってるの?