概要
object.__get__(self, instance, owner=None)の説明の第一段落の以下の2文:
instance を通じて属性をアクセスする時に、オプションの owner 引数はオーナークラスです。 owner を通じて属性アクセスするときは None です。
について、後半の文の主語が抜けていることで意味が不明瞭(あるいは誤り)になっている。
問題のある箇所 (URLで指定すること)
https://docs.python.org/ja/3/reference/datamodel.html#object.%5F%5Fget%5F%5F
問題の詳細
対応する原文は
https://docs.python.org/3/reference/datamodel.html#object.%5F%5Fget%5F%5F
The optional owner argument is the owner class, while instance is the instance that the attribute was accessed through, or None when the attribute is accessed through the owner.
です。同ページの3.3.2.3. Invoking Descriptorsで説明されているように、インスタンスを通じて属性アクセスするときは__get__()の引数 instance はそのインスタンスであり、クラスを通じて属性アクセスするときは(owner は Noneにならず) instance はNoneになります。従ってこの原文のNoneに対応する主語は instance のはずです。しかし概要で引用した日本語訳ではNoneの主語が instance であるとは読めません。(それどころか主語が owner 引数であると誤って解釈される可能性もあります。)
修正案
オプションの owner 引数はオーナークラスです。 instance はインスタンスを通じて属性アクセスするときはそのインスタンス、 owner を通じて属性アクセスするときは None です。
のようにすれば主語および意味が明確になると思います。
概要
object.__get__(self, instance, owner=None)の説明の第一段落の以下の2文:について、後半の文の主語が抜けていることで意味が不明瞭(あるいは誤り)になっている。
問題のある箇所 (URLで指定すること)
https://docs.python.org/ja/3/reference/datamodel.html#object.%5F%5Fget%5F%5F
問題の詳細
対応する原文は
https://docs.python.org/3/reference/datamodel.html#object.%5F%5Fget%5F%5F
です。同ページの3.3.2.3. Invoking Descriptorsで説明されているように、インスタンスを通じて属性アクセスするときは
__get__()の引数 instance はそのインスタンスであり、クラスを通じて属性アクセスするときは(owner はNoneにならず) instance はNoneになります。従ってこの原文のNoneに対応する主語は instance のはずです。しかし概要で引用した日本語訳ではNoneの主語が instance であるとは読めません。(それどころか主語が owner 引数であると誤って解釈される可能性もあります。)修正案
のようにすれば主語および意味が明確になると思います。