Pythonはどうやってlen関数で長さを手にいれているの?
PyCon JP 2017 talk
https://pycon.jp/2017/ja/schedule/presentation/22/
slide https://www.slideshare.net/shimizukawa/how-does-python-get-the-length-with-the-len-function
video https://youtu.be/aich6wqftkA
PyCon PH 2024 talk
PyCon PH 2024#65daa1171911970000f3e26b
slide How-does-Python-get-the-length-with-the-len-function for PyCon PH 2024
video https://youtu.be/a8nhzdes2es
PyCon mini 東海 2024 talk
PyCon mini 東海 2024#67382fcd191197000028a0bb
slide: Pythonはどうやってlen関数で長さを手にいれているの? PyCon mini 東海 2024
PyCon mini Shizuoka 2024
2025/2/11 予定
説明
Pythonには文字列やリストなど、長さをもつオブジェクトがあります。長さを手に入れるには、文字列なら、name.length ではなく len(name) のようにlen関数を使います。len関数はどうやってnameに入っているオブジェクトの長さを手に入れているのでしょうか。if文にはTrue/Falseとなる条件式を指定しますが、それだけでなく文字や数字、自分で作ったデータ型も渡せます。if文はどうやって与えられたオブジェクトがTrueなのかFalseなのかを手に入れているのでしょうか。 この発表では、Pythonのプログラムがどうやって必要な情報を手に入れているのか、また、自分で実装するときにどう実装すればlen()やif文やfor文に指定できるのかを説明します。
概要
脱初心者、のためのデータ型入門
len() はどうやってオブジェクトの長さを手に入れているのか
if はどうやって指定したオブジェクトを使っているのか
for はどうやって指定したオブジェクトを使っているのか
データ型が長さを返す、条件式に使える、繰り返し可能、のような動作を満たすための条件、プロトコル
まとめ
https://www.youtube.com/watch?v=aich6wqftkA&feature=youtu.be
メモ
len() の仕組み
Adapterパターン
プロトコル
for の仕組み
Iteratorパターン