表1-13 市区町村別自殺者数 - 自殺日・住居地 - (平 …表1-13 市区町村別自殺者数 - 自殺日・住居地 - (平成22年) 0 全国 31282 32740 -1458 24.62
千里の道も一歩から...
Transcript of 千里の道も一歩から...
![Page 1: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/1.jpg)
千里の道も一歩から
幸福への道も殺伐から
![Page 2: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/2.jpg)
PEP-263 - たった1行で、あなたのPythonが! -
殺伐Python @shibukawa
ソースコードはすべて、 http://bitbucket.org/shibu にアップロード済みです
![Page 3: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/3.jpg)
大事なこと を最初に
![Page 4: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/4.jpg)
今のうちにPythonスキルを 上げてモテたい人はぜひ!
![Page 5: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/5.jpg)
初心者にやさしく したい人はこの本を
![Page 6: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/6.jpg)
PEP • Pythonの機能拡張の要望書
日本語訳:h#p://sphinx-‐users.jp/ar2cles/pep1.html
![Page 7: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/7.jpg)
PEP-263 • ソースコードのエンコーディングを指定できるようにするPEP • Python 2.3から組み込まれた
![Page 8: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/8.jpg)
# -*- encoding: utf-8 -*-
amin1 = “私は逢坂さんがいいと思うなあ” taiga1 = “・・・なにぃ!?” amin2 = “ほら、だって逢坂さんって、すっごく”¥ “ちっちゃくてかわいらしいし?” taiga2 = “なに言ってんだ超ばかちー!”
![Page 9: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/9.jpg)
# -*- encoding: utf-8 -*-
amin1 = “私は逢坂さんがいいと思うなあ” taiga1 = “・・・なにぃ!?” amin2 = “ほら、だって逢坂さんって、すっごく”¥ “ちっちゃくてかわいらしいし?” taiga2 = “なに言ってんだ超ばかちー!”
ソースコードに日本語が書けるように! 3系なら関数、クラス名も日本語OK
![Page 10: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/10.jpg)
処理の流れ
1,2行目 を見る
py
![Page 11: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/11.jpg)
処理の流れ
1,2行目 を見る
コーデック: unicode にする
py
![Page 12: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/12.jpg)
処理の流れ
1,2行目 を見る
コーデック: unicode にする
パーサ: 抽象構文木 (AST)作成
py
![Page 13: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/13.jpg)
処理の流れ
1,2行目 を見る
コーデック: unicode にする
パーサ: 抽象構文木 (AST)作成
コンパイラ: バイトコード 作成
pyc
py
![Page 14: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/14.jpg)
処理の流れ
1,2行目 を見る
コーデック: unicode にする
パーサ: 抽象構文木 (AST)作成
コンパイラ: バイトコード 作成
VM: バイトコード 実行
pyc
py
![Page 15: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/15.jpg)
処理の流れ
1,2行目 を見る
コーデック: unicode にする
パーサ: 抽象構文木 (AST)作成
コンパイラ: バイトコード 作成
VM: バイトコード 実行
pyc
py
![Page 16: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/16.jpg)
![Page 17: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/17.jpg)
コーデック は自作可能
![Page 18: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/18.jpg)
処理の流れ
1,2行目 を見る
自作 コーデック
パーサ: 抽象構文木 (AST)作成
コンパイラ: バイトコード 作成
VM: バイトコード 実行
pyc
py
![Page 19: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/19.jpg)
パーサが走る前に コードを加工できる!
![Page 20: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/20.jpg)
1
![Page 21: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/21.jpg)
C言語風マクロ
![Page 22: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/22.jpg)
実装部(一部抜粋) import encodings, codecs, sys, re
_find_macro = re.compile(r"#define\s+(\w+)\s+(.+)")
def replace_macro(input_lines): macros = [] result = [] for line in input_lines: match = _find_macro.match(line) if match: macros.append(match.groups()) continue for name, value in macros: line = line.replace(name, value) result.append(line) return result
全文は: http://bitbucket.org/shibu/demo
![Page 23: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/23.jpg)
C言語風マクロ # -*- encoding: define -*-
#define MSG “LL Tiger”
print “hello”, MSG
![Page 24: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/24.jpg)
2
![Page 25: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/25.jpg)
日本人なら
![Page 26: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/26.jpg)
実装部(一部抜粋) def rotate(lines): result = [] maxlength = max((len(line) for line in lines)) for line_number in xrange(maxlength-1, -1, -1): rline = [] for line in lines: if line.strip() == '' and not rline: continue try: rline.append(line[line_number]) except IndexError: rline.append(" ") result.append("".join(rline).rstrip()) return result
全文は: http://bitbucket.org/shibu/demo
![Page 27: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/27.jpg)
# -*- encoding: rotate -*-
f o r
p i r i i n n t r " a H n e g l e l ( o 4 " ) :
![Page 28: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/28.jpg)
すいません漢字は使えません
![Page 29: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/29.jpg)
3
![Page 30: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/30.jpg)
さて、次は何しましょう?
![Page 31: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/31.jpg)
Rubyでも動かしますか?
![Page 32: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/32.jpg)
処理の流れ
1,2行目 を見る
Ruby -‐> Python デコーダ
パーサ: 抽象構文木 (AST)作成
コンパイラ: バイトコード 作成
VM: バイトコード 実行
pyc
py
Ruby トークン 分解
Ruby AST作成
Python コード 生成
![Page 33: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/33.jpg)
処理の流れ(2回目)
Ruby -‐> Python デコーダ
VM: バイトコード 実行
pyc
py
Ruby トークン 分解
Ruby AST作成
Python コード 生成
1,2行目 を見る
パーサ: 抽象構文木 (AST)作成
コンパイラ: バイトコード 作成
![Page 34: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/34.jpg)
現在の進捗
• たのしいRubyの3章の途中までのサンプルが実行可能 • もうちょいしたらクラスの継承、モジュール、Mix-inも入るかもよ?
リポジトリはこちら: http://bitbucket.org/shibu/ruby/
![Page 35: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/35.jpg)
実装済み • if, unless, while, until(後置も含む) • 変数、整数、小数、文字列、配列、ハッシュのリテラル
• 関数宣言 • 関数呼び出し(ブロック付き) • クラスの内部表現 – 可視性制御など
リポジトリはこちら: http://bitbucket.org/shibu/ruby/
![Page 36: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/36.jpg)
目標 • $ easy_install ruby • dRubyで生Rubyと通信 • RubySpecのmspecは動くようにしたい • Rubyベンチマークに参戦したい
リポジトリはこちら: http://bitbucket.org/shibu/ruby/
![Page 37: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/37.jpg)
PEP-263便利でしょ?
![Page 38: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/38.jpg)
さて、先日の Pythonハッカソン
![Page 39: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/39.jpg)
![Page 40: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/40.jpg)
「どうがんばっても、PHPは Pythonに勝てません」 「PHPに最後の輝きを」
http://d.hatena.ne.jp/moriyoshi/20100710/1278778949
![Page 41: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/41.jpg)
PHPはすばらしい言語
• ウェブデザイナーでも勉強しようとする • 初心者をプログラミングの世界に多数引き込んだ
![Page 42: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/42.jpg)
![Page 43: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/43.jpg)
![Page 44: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/44.jpg)
PHPはモテ
![Page 45: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/45.jpg)
LL Tiger 大河
![Page 46: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/46.jpg)
![Page 47: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/47.jpg)
予想:PHP互換実装バトル勃発 • RbHP: Ruby: Hypertext Preprocessor • PyHP: Python: Hypertext Preprocessor • P6HP: PHP6: Hypertext Preprocessor • ErHP: Erlang: Hypertext Preprocessor • MsHP: MySQL: Hypertext Preprocessor • CjHP: Clojure: Hypertext Preprocessor • N8HP: N88Basic: Hypertext Preprocessor • SHP: Scala: Hypertext Preprocessor
![Page 48: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/48.jpg)
だけど!
• これでPythonは勝てる!
# -*- encoding: php -*-
![Page 49: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/49.jpg)
技術情報: h#p://www.freia.jp/taka/blog/725
![Page 50: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/50.jpg)
今のうちにPythonスキルを 上げてモテたい人はぜひ!
![Page 51: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/51.jpg)
初心者にやさしく したい人はこの本を
![Page 52: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/52.jpg)
まとめ • PEP-263はたったの一行。可能性無限。 • モテを狙うなら、Python! • 本買ってください – 読む用 – 貸す用 – サインをもらう用 – 裁断用
![Page 53: 千里の道も一歩から 幸福への道も殺伐からll.jus.or.jp/2010/slide/06-LT-Tiger/殺伐Python/PEP263.pdfPEP-263 • ソースコードのエンコーディン グを指定できるようにするPEP](https://reader035.fdocument.pub/reader035/viewer/2022071213/602b64108987a875e9333837/html5/thumbnails/53.jpg)
千里の道も一歩から
幸福への道も殺伐から