SlideShare a Scribd company logo
pep 526 and 周辺ツールについて
2017/01/31 Python 3.6 Release Party @Yahoo!Japan
自己紹介
@Masahito
github: masahitojp
株式会社ヌーラボ所属
主に Scala(be er Java) とJSと少々のPythonでご飯を食べています
近頃はmypyとGrumPyがお気に入り
今日話すこと
PEP 526 - Syntax for Variable Annotations
typing module
周辺ツール、特にmypy
PEP 526‐ Syntax for Variable
Annota ons
PEP 526はPEP484 の拡張です。
PEP 484 ‐ Type Hint ご存知のかた?
PEP 484について
PEP-484 Type Hint(en)
@t2y さんの日本語訳も提供されてます
PEP-484 Type Hint(ja)
PEP484について軽く説明
PEP 3107 Function Annotations ってのがPythonに入ってPythonの関
数に、任意のメタデータを追加するための構文を導入する
def compile(source: "something compilable",
filename: "where the compilable thing comes from",
mode: "is this a single statement or a suite?"):
PEP3107 では特に意味づけがなかったものを Type Hint として使おうっ
ていうのがPEP484です
def greeting(name: str) -> str:
return 'Hello ' + name
PEP484の目的としないもの
Python は依然として動的型付け言語のままです。 Python の作者たちは
(たとえ規約としてであっても)型ヒントを必須とすることを望んではいませ
ん。
この方針はPEP526でも同じです。
じゃーなにが追加になったの?
変数に対して型付けする構文が追加になった
from typing import List
# pep 484
a = [1,2,3] # type: List[int]
# We should add *comments*
path = None # type: Optional[str] # Path to module source
# pep 526
a: List[int] = [1,2,3]
path: Optional[str] = None # Path to module sourde
値を指定しなくてもよい
# pep 484
child # type: bool # これはゆるされない
# pep 526
child: bool # こちらはok
if age < 18:
child = True
else:
child = False
これは全部同じ意味になる
# 3.6でもpep484スタイルを許す(後方互換性!
hour = 24 # type: int
# 値を指定せずに定義して代入
hour: int; hour = 24
hour: int = 24
variable annota on はどこに格納される?
__annotaitons__ に格納される
>>> answer:int = 42
>>> __annotations__
{'answer': <class 'int'>}
クラス変数のみ格納される、インスタンス変数は無視される
>>> class Car:
... stats: ClassVar[Dict[str, int]] = {}
... def __init__(self) -> None:
... self.seats = 4
>>> c: Car = Car()
>>> c.__annotations__
{'stats': typing.ClassVar[typing.Dict[str, int]]}
# only ClassVar!
こんな書き方をしてもPythonとしてはゆるしてくれる
>>> alice: 'well done' = 'A+' #
>>> bob: 'what a shame' = 'F-'
>>> __annotations__
{'alice': 'well done', 'bob': 'what a shame'}
けどPEP526ではType Hintとしてつかうことを推奨する
typing
typing moduleとは
Python 3.5でPEP484が実装された時に入ったモジュール
DictとかTupleとかListみたいなbuild inのものはすでにこのモジュー
ルで定義されている
from typing import Dict, Tuple, List
ConnectionOptions : Dict[str, str]
Address : Tuple[str, int]
Server : Tuple[Address, ConnectionOptions]
もちろんドキュメントも https://docs.python.org/3/library/typing.html
pip install typing python2でもつかえる, mypyのpy2modeを使うとき
に実は使います
typing moduleの変更点
Collection
ContextManager
withで実行されるような型
class Context(object):
def __init__(self):
print '__init__()'
def __enter__(self):
print '__enter__()'
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print '__exit__()'
NamedTuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(x=1, y=2)
print(p.z) # Error: Point has no attribute 'z'
Python 3.6 で以下のようにかけるようになった
from typing import NamedTuple
class Point(NamedTuple):
x: int
y: int
周辺ツール
周辺ツール
静的型チェッカー
っていうと難しく感じるかもですが要はコマンドです
mypy
pytype
IDE
PyCharm(今回は割愛
pytype
googleのリポジトリで開発されてる
Matthias Kramm(さんが一人でやってるっぽい
https://github.com/google/pytype
いまはPython2.7でのみ動く
けど、3.4/3.5モードで動かして型チェックすることも可能
pytype -V 3.5 program.py
PEP526のチェックもmasterブランチでは実装されてるが、いまのところ
3.6モードはない
Magic Exceptionがでる
mypy
pythonのレポジトリで開発されている
https://github.com/python/mypy
JukkaLさんが中心になって作成
今回は静的型チェッカーとしてのmypyについて話します
最近パッケージ名が変わった  mypy-lang -> mypy
こちらはすでに3.6モードが実装済み
じつはcobertruaで吐き出すモードがあったりとCIにつっこむと嬉しいオプ
ションもあります
mypy
from typing import Dict, NamedTuple
class Car:
stats: Dict[str, int] = {}
def __init__(self) -> None:
self.seats = 4
class Employee(NamedTuple):
name: str
id: int
c: Car = Car()
# print(c.__annotations__)
employee = Employee(name='Guido', id='x')
mypy --fast-parser --python-version 3.6 example.py
example.py:16: error: Argument 2 to "Employee" has incompatible type "str"; expected
typeshed について軽く
TypeScriptでいうところのDe nitely TypedのPython版
mypy/pytypeはこれを利用しています
つまりこれに対応していないモジュールは実行するとエラーになります
現状
(py36-mypy)~/s/p/try-pep526> cat collection.py
from typing import Collection
a: Collection[int] = [3,2,1]
a.append(1)
(py36-mypy)~/s/p/try-pep526> mypy --fast-parser --python-version 3.6 collection.
collection.py:2: error: Module 'typing' has no attribute 'Collection'
typeshedとtypingモジュールの状況
typeshedのtypingモジュールは3.5までしか対応してません  orz
そのため, いかのモジュールをimportすると定義されてないよエラーが
typing.ClassVar -> PEP526に書かれてるんだけどなぁ。。。。
https://github.com/python/typeshed/pull/889 無事近頃t
typeshedにはとりこまれた模様
typing.Collection -> Listとかで代用
typing.CotextManager -> ...
一応自分で定義(.ipr)をつくると行けそう
mypy for Python 3.6
構文追加系は動くのでぜひ使ってみるといいのでは
http://mypy.readthedocs.io/en/latest/python36.html
動く
PEP526対応済み(ただしClassVarはまだ
Underscores in numeric literals (PEP 515) e.g. million = 1_000_000
NamedTuple
未実装
Asynchronous generators (PEP 525)
Asynchronous comprehensions (PEP 530)
mypy for Python3.6
typeshedが対応すれば動くはず
typingで追加されたもの
時間が余ったとき用
typingにはじつは _Protocol ってのが存在してる
Protocols (a.k.a. structural subtyping)
要はこんな感じであるメソッドが実装されている型を新しくつくれるといい
ねっていう提案、mypy作者とGuido(!)を中心に議論
class Sized(Protocol):
@abstractmethod
def __len__(self) -> int: pass # __len__は特殊メソッド
def hoge(l : Sized) -> int:
return len(l) + 1
PEP 526が入ったことでこういうのもProtocolっぽく動くよねっていう議論が
class Point(<some magical base class):
x: float
y: float
z: float = 0
class MyPoint: # unrelated to Point
def __init__(self, x: float, y: float):
self.x, self.y = x, y
p = MyPoint(1, 2)
とこんな感じでまだ固まってないので typing.Protocol が使えるのはまだ先
のようです。
(typingの内部では使われているので興味ある方は読んでみるとよいかと)
まとめ
PEP526で変数名にType Hintつけるのが楽になった
typingモジュールもだんだん進歩している
ぜひ mypy とかを使っていただいて、  みんなで typeshed を育てていきま
しょう

More Related Content

What's hot

Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
Tomoya Nakayama
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
Atsuo Ishimoto
 
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hackTwitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
 
Python入門
Python入門Python入門
Python入門
Shohei Okada
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
Kir Chou
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
 
LLdeade Python Language Update
LLdeade Python Language UpdateLLdeade Python Language Update
LLdeade Python Language Update
Atsushi Shibata
 
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
Shiqiao Du
 
Boost.python
Boost.pythonBoost.python
Boost.pythonfate_fox
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
 
Python と型アノテーション
Python と型アノテーションPython と型アノテーション
Python と型アノテーション
K Yamaguchi
 
Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)
Yoshiaki Shibutani
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
 
Cython intro prelerease
Cython intro prelereaseCython intro prelerease
Cython intro prelerease
Shiqiao Du
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
 
Polyphony IO まとめ
Polyphony IO まとめPolyphony IO まとめ
Polyphony IO まとめ
ryos36
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cythonfuzzysphere
 
Python 学習教材 (~299ページ)
Python 学習教材 (~299ページ)Python 学習教材 (~299ページ)
Python 学習教材 (~299ページ)
Jun MITANI
 
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Relations Team
 

What's hot (20)

Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
 
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hackTwitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
 
Python入門
Python入門Python入門
Python入門
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
LLdeade Python Language Update
LLdeade Python Language UpdateLLdeade Python Language Update
LLdeade Python Language Update
 
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
 
Boost.python
Boost.pythonBoost.python
Boost.python
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
 
Python と型アノテーション
Python と型アノテーションPython と型アノテーション
Python と型アノテーション
 
Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)Pythonが動く仕組み(の概要)
Pythonが動く仕組み(の概要)
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
 
Cython intro prelerease
Cython intro prelereaseCython intro prelerease
Cython intro prelerease
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
Polyphony IO まとめ
Polyphony IO まとめPolyphony IO まとめ
Polyphony IO まとめ
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
 
Python 学習教材 (~299ページ)
Python 学習教材 (~299ページ)Python 学習教材 (~299ページ)
Python 学習教材 (~299ページ)
 
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
 

Viewers also liked

Python3 移行への軌跡
Python3 移行への軌跡Python3 移行への軌跡
Python3 移行への軌跡
Atsushi Odagiri
 
Pyconsg2014 pyston
Pyconsg2014 pystonPyconsg2014 pyston
Pyconsg2014 pyston
masahitojp
 
Pythonデータ分析 第3回勉強会資料 7章
Pythonデータ分析 第3回勉強会資料 7章Pythonデータ分析 第3回勉強会資料 7章
Pythonデータ分析 第3回勉強会資料 7章
Makoto Kawano
 
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章 Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
Makoto Kawano
 
DLhacks paperreading_20150902
DLhacks paperreading_20150902DLhacks paperreading_20150902
DLhacks paperreading_20150902
Makoto Kawano
 
Pythonデータ分析 第4回勉強会資料 10章
Pythonデータ分析 第4回勉強会資料 10章Pythonデータ分析 第4回勉強会資料 10章
Pythonデータ分析 第4回勉強会資料 10章
Makoto Kawano
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Hironori Washizaki
 
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
Makoto Kawano
 
Go & multi platform GUI Trials and Errors
Go & multi platform GUI Trials and ErrorsGo & multi platform GUI Trials and Errors
Go & multi platform GUI Trials and Errors
Yoshiki Shibukawa
 
Pythonデータ分析 第4回勉強会資料 12章
Pythonデータ分析 第4回勉強会資料 12章Pythonデータ分析 第4回勉強会資料 12章
Pythonデータ分析 第4回勉強会資料 12章
Makoto Kawano
 
RとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようRとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しよう
Yasuyuki Sugai
 
d3jsハンズオン @E2D3ハッカソン
d3jsハンズオン @E2D3ハッカソンd3jsハンズオン @E2D3ハッカソン
d3jsハンズオン @E2D3ハッカソン
圭輔 大曽根
 
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
Shinohara Masahiro
 
Rubyによるデータ解析
Rubyによるデータ解析Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
 
Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31
Shinichi Nakagawa
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
Ransui Iso
 
On the benchmark of Chainer
On the benchmark of ChainerOn the benchmark of Chainer
On the benchmark of Chainer
Kenta Oono
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
Yuta Kashino
 
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
Yahoo!デベロッパーネットワーク
 
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
Yusuke HIDESHIMA
 

Viewers also liked (20)

Python3 移行への軌跡
Python3 移行への軌跡Python3 移行への軌跡
Python3 移行への軌跡
 
Pyconsg2014 pyston
Pyconsg2014 pystonPyconsg2014 pyston
Pyconsg2014 pyston
 
Pythonデータ分析 第3回勉強会資料 7章
Pythonデータ分析 第3回勉強会資料 7章Pythonデータ分析 第3回勉強会資料 7章
Pythonデータ分析 第3回勉強会資料 7章
 
Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章 Pythonデータ分析 第3回勉強会資料 8章
Pythonデータ分析 第3回勉強会資料 8章
 
DLhacks paperreading_20150902
DLhacks paperreading_20150902DLhacks paperreading_20150902
DLhacks paperreading_20150902
 
Pythonデータ分析 第4回勉強会資料 10章
Pythonデータ分析 第4回勉強会資料 10章Pythonデータ分析 第4回勉強会資料 10章
Pythonデータ分析 第4回勉強会資料 10章
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
 
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
 
Go & multi platform GUI Trials and Errors
Go & multi platform GUI Trials and ErrorsGo & multi platform GUI Trials and Errors
Go & multi platform GUI Trials and Errors
 
Pythonデータ分析 第4回勉強会資料 12章
Pythonデータ分析 第4回勉強会資料 12章Pythonデータ分析 第4回勉強会資料 12章
Pythonデータ分析 第4回勉強会資料 12章
 
RとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようRとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しよう
 
d3jsハンズオン @E2D3ハッカソン
d3jsハンズオン @E2D3ハッカソンd3jsハンズオン @E2D3ハッカソン
d3jsハンズオン @E2D3ハッカソン
 
100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」100614 構造方程式モデリング基本の「き」
100614 構造方程式モデリング基本の「き」
 
Rubyによるデータ解析
Rubyによるデータ解析Rubyによるデータ解析
Rubyによるデータ解析
 
Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
On the benchmark of Chainer
On the benchmark of ChainerOn the benchmark of Chainer
On the benchmark of Chainer
 
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
 
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
 
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
俺のtensorが全然flowしないのでみんなchainer使おう by DEEPstation
 

Similar to 20170131 python3 6 PEP526

ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
AromaBlack
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPythonKatsumi Honda
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
kenhys
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2
Tomohiro Namba
 
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7Tetsuya Morimoto
 
Python 学習教材
Python 学習教材Python 学習教材
Python 学習教材
Jun MITANI
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
Kenta Oono
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
Etsuji Nakai
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)
Takayuki Shimizukawa
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Yasutomo Kawanishi
 
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話Hidenori Goto
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorial
NU_Pan
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto studyNaoya Inada
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
 
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしようみんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
 
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半
Tetsuya Morimoto
 
Teclab3
Teclab3Teclab3
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Tetsuya Morimoto
 

Similar to 20170131 python3 6 PEP526 (20)

ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPython
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2
 
エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7エキ Py 読書会02 2010/9/7
エキ Py 読書会02 2010/9/7
 
Python 学習教材
Python 学習教材Python 学習教材
Python 学習教材
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)Introduction to Chainer (LL Ring Recursive)
Introduction to Chainer (LL Ring Recursive)
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)PYTHON PACKAGING (PyFes 2012.03 発表資料)
PYTHON PACKAGING (PyFes 2012.03 発表資料)
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
symfonyで汎用設定値を読み書きするモデル等をプラグインにした話
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorial
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしようみんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
 
エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半エキ Py 読書会02 2章前半
エキ Py 読書会02 2章前半
 
Teclab3
Teclab3Teclab3
Teclab3
 
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクトPython界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
 

More from masahitojp

Python と型ヒントとその使い方
Python と型ヒントとその使い方Python と型ヒントとその使い方
Python と型ヒントとその使い方
masahitojp
 
Enjoy Type Hints and its benefits
Enjoy Type Hints and its benefitsEnjoy Type Hints and its benefits
Enjoy Type Hints and its benefits
masahitojp
 
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless FrameworkBuild a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
masahitojp
 
Presentation kyushu-2018
Presentation kyushu-2018Presentation kyushu-2018
Presentation kyushu-2018
masahitojp
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
masahitojp
 
The Benefits of Type Hints
The Benefits of Type HintsThe Benefits of Type Hints
The Benefits of Type Hints
masahitojp
 
chat bot framework for Java8
chat bot framework for Java8chat bot framework for Java8
chat bot framework for Java8
masahitojp
 
Akka meetup 2014_sep
Akka meetup 2014_sepAkka meetup 2014_sep
Akka meetup 2014_sep
masahitojp
 
Riak map reduce for beginners
Riak map reduce for beginnersRiak map reduce for beginners
Riak map reduce for beginners
masahitojp
 
Play2 translate 20120714
Play2 translate 20120714Play2 translate 20120714
Play2 translate 20120714masahitojp
 
Play2の裏側
Play2の裏側Play2の裏側
Play2の裏側masahitojp
 
Play!framework2.0 introduction
Play!framework2.0 introductionPlay!framework2.0 introduction
Play!framework2.0 introduction
masahitojp
 
5分で説明する Play! scala
5分で説明する Play! scala5分で説明する Play! scala
5分で説明する Play! scalamasahitojp
 

More from masahitojp (14)

Python と型ヒントとその使い方
Python と型ヒントとその使い方Python と型ヒントとその使い方
Python と型ヒントとその使い方
 
Enjoy Type Hints and its benefits
Enjoy Type Hints and its benefitsEnjoy Type Hints and its benefits
Enjoy Type Hints and its benefits
 
Build a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless FrameworkBuild a RESTful API with the Serverless Framework
Build a RESTful API with the Serverless Framework
 
Presentation kyushu-2018
Presentation kyushu-2018Presentation kyushu-2018
Presentation kyushu-2018
 
serverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Pythonserverless framework + AWS Lambda with Python
serverless framework + AWS Lambda with Python
 
The Benefits of Type Hints
The Benefits of Type HintsThe Benefits of Type Hints
The Benefits of Type Hints
 
chat bot framework for Java8
chat bot framework for Java8chat bot framework for Java8
chat bot framework for Java8
 
Akka meetup 2014_sep
Akka meetup 2014_sepAkka meetup 2014_sep
Akka meetup 2014_sep
 
Pykonjp2014
Pykonjp2014Pykonjp2014
Pykonjp2014
 
Riak map reduce for beginners
Riak map reduce for beginnersRiak map reduce for beginners
Riak map reduce for beginners
 
Play2 translate 20120714
Play2 translate 20120714Play2 translate 20120714
Play2 translate 20120714
 
Play2の裏側
Play2の裏側Play2の裏側
Play2の裏側
 
Play!framework2.0 introduction
Play!framework2.0 introductionPlay!framework2.0 introduction
Play!framework2.0 introduction
 
5分で説明する Play! scala
5分で説明する Play! scala5分で説明する Play! scala
5分で説明する Play! scala
 

20170131 python3 6 PEP526