Python文法詳解を詳解する会 #2 まとめ

2015年3月26日(木)に開催された「Python文法詳解を詳解する会 - 第2回」に関するまとめです。 http://python-in-depth.connpass.com/event/12943/ 講師は「Python文法詳解」の著者@atsuoishimotoさんです。
2
Daigo Akane (赤根 大吾)💉x4 @dgakane

今日の夜は「Python文法詳解を詳解する会 - 第2回」に参加予定です python-in-depth.connpass.com/event/12943/ #pygrambook

2015-03-26 11:58:28
Takayuki Shimizukawa @shimizukawa

「数値型について普通そこまで詳しく書いたりしないもんなんですが、ちょっとムキになってかなり詳しく書きました。」 #pygrambook

2015-03-26 19:04:23
Takayuki Shimizukawa @shimizukawa

「Python3からは8進数を 0777 ではなく 0o777 とかかなければいけません。といっても、8進数を使うことは最近少なくなりました」このへん、ファイルのモード指定するコードとかで使ってそうなイメージ。Fabricとか? #pygrambook

2015-03-26 19:13:42
Takayuki Shimizukawa @shimizukawa

「Python3から使えるキーワード専用引数で宣言された引数は、かならずキーワード付きで引数を渡さないとエラーになります」これも知らなかった。あるいは一度読んで忘れてた。便利や #pygrambook

2015-03-26 19:16:56
Takayuki Shimizukawa @shimizukawa

「Python3からは 9 / 2 は 4.5。さらに 9.0 // 2.0 は 4.0 になります。」えー、浮動小数型が返ってくるのに小数点以下切り捨てられてるのか。知らなかった #pygrambook (書き間違えてたので削除修正して再投稿)

2015-03-26 19:19:28
c-bata @c_bata_

>>> 0b1010 | 0b1100 # 0b1110 14 ビット演算なんてできたのか #pygrambook

2015-03-26 19:20:02
c-bata @c_bata_

整数型が無限長だから負の値を2の補数で表現できない #pygrambook

2015-03-26 19:22:12
NAKAMURA, Tomohiro @tomoh1r

シフト演算子は正負の符号が変わらないように処理するの、賢い #pygrambook

2015-03-26 19:24:53
c-bata @c_bata_

>>> 0b00000001 << 4 16 シフト演算まであるのか。多分使わない #pygrambook

2015-03-26 19:25:12
c-bata @c_bata_

複素数型存在すら知らなかった #pygrambook

2015-03-26 19:31:51
Takayuki Shimizukawa @shimizukawa

「(0.5).as_integer_ratio() は便利なメソッドで、一番近い割り算の形を返します。」便利メソッドだった。へー #pygrambook

2015-03-26 19:32:14
Takayuki Shimizukawa @shimizukawa

「Pythonの複素数型、使ったことがある人いますか?これ誰が使うんでしょうね?ってことで飛ばします」w #pygrambook

2015-03-26 19:32:45
Takayuki Shimizukawa @shimizukawa

10進浮動小数点数 Decimal。10進数のまま計算するためのオブジェクト。以前なんでDecimal("1.0") みたいに文字で渡すんだろう、って思ったことがあるけど、数値型で渡しちゃったらその時点で2進数表現になるからなんだね #pygrambook

2015-03-26 19:37:11
Daigo Akane (赤根 大吾)💉x4 @dgakane

10進浮動小数点数 >>> from decimal import Decimal >>> Decimal('0.1') Decimal('0.1') >>> Decimal('0.1') + Decimal(2e1) Decimal('20.1') #pygrambook

2015-03-26 19:37:30
Takayuki Shimizukawa @shimizukawa

第4章 シーケンスとコンテナ型。69ページ~173ページまで。300ページの本で100ページつかう章って.. まだ制御構文まで来てないよw #pygrambook

2015-03-26 19:42:31
Takayuki Shimizukawa @shimizukawa

シーケンスの章、絵で説明している部分がとても分かりやすい。プラスとマイナスのインデックスの関係とか、スライスとか #pygrambook

2015-03-26 19:45:05
Daigo Akane (赤根 大吾)💉x4 @dgakane

スライスの場合、範囲外を指定してもエラーにならない >>> a = [0,1] >>> a[0:10] [0, 1] #pygrambook

2015-03-26 19:47:09
Daigo Akane (赤根 大吾)💉x4 @dgakane

スライス指定を使いこなすと、上級者っぽい空気を出せる #pygrambook

2015-03-26 19:48:48
Takayuki Shimizukawa @shimizukawa

Q「slice(...).indices(...) とはなにをするメソッドですか?」 A「slice(10).indices(3) => (0, 3, 1) のように、実際のオブジェクトでどの範囲を使えばいいのかを返してくれるメソッドです」 #pygrambook

2015-03-26 20:00:12