情報通信系学生の勉強メモ

勉強したことを書いていきます

python3.5

新機能

注目すべき機能としては行列演算とコルーチン、type hint(型アノテーション)ですかね 。 公式サイトを見ると、以下のようになってます。

PEP 465 , a new matrix multiplication operator
PEP 461 , %-formatting for binary strings
PEP 471 , os.scandir()
PEP 479 , change StopIteration handling inside generators
PEP 441 , improved Python zip application support
PEP 448 , additional unpacking generalizations
PEP 486 , make the Python Launcher aware of virtual environments
PEP 475 , retrying system calls that fail with EINTR
PEP 492 , coroutines with async and await syntax
PEP 488 , elimination of PYO files
PEP 484 , type hints
PEP 489 , redesigning extension module loading
PEP 485 , math.isclose(), a function for testing approximate equality

https://www.python.org/downloads/release/python-350b2/

PEPを見ると、@演算子はデコレーターで使われちゃってるけど、デコレーターはステートメントの最初でしか使われないから大丈夫でしょ、みたいなこと書かれてました。
コルーチンは非同期処理で使われるみたいです。(コルーチンの使い方わかってないので後で勉強してきます・・・・ )

誤差の検定

PEP485では誤差の検定?を導入するようです。多分統計に関連する話なんですが、統計知らない人は「2つの値がどれだけ近い」か調べてると思っていいんじゃないでしょうか。僕は統計かじっただけです^^;
以下が関数です。

isclose(a, b, rel_tol=1e-9, abs_tol=0.0)

  • a,b:テストする値です。
  • rel_tol:比較誤差つまり誤差の許容範囲です。rel_tolが0.05だったら5%になります。小さければ小さいほど、Trueになる二つの値の絶対値の制限が厳しくなります。rel_tolのデフォルト値は1e9です。

  • abs_tol:許容範囲の最小絶対値。デフォルトは0.0です。

細部まで読んでませんが返り値は多分TrueかFalseでしょう

おわり

僕も統計の講義でpython使ってますが、行列を統計や数学で使う人も多いでしょうから、行列の演算子が新しく加わったのは嬉しいんじゃないんでしょうか。
今までpython3系に移行しても迷ってた人もそろそろ移行してもいい頃合いですかね、python2系には当然新機能は来ませんしね。
僕もpython3.5系から面白そうな機能が増えるのでこれを気にpython3系をメインに使っていこうかな。

※python3系でipython使うとTABで補完されなくなる原因誰か教えてください;;