回答編集履歴
6
追記
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
いずれにせよ、Pythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。基本的には、クラスという仕組みとデコレータという仕組みの上に「プロパティのように使えるもの」を実装しているだけです。
|
14
14
|
|
15
15
|
|
16
16
|
|
5
追記
test
CHANGED
@@ -6,7 +6,11 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのは
|
9
|
+
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのは原理的には可能……と思ったけど、恐らく属性アクセスの仕組みの側でpropertyオブジェクトへの参照を特別扱いにしているので、mypropertyを作るのは難しいかもしれない……。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
そしてPythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。基本的には、クラスという仕組みとデコレータという仕組みの上に「プロパティのように使えるもの」を実装しているだけです。
|
10
14
|
|
11
15
|
|
12
16
|
|
4
追記
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しく
|
9
|
+
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しくないはずです(と、思いますが、さすがに書いたことがないのですぐ思いつきはしません。実際の実装がpure Pythonだと厳しい仕組みになっている可能性はあります)。そしてPythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。デコレータという仕組みの上に「プロパティのように使えるもの」を実装しているだけです。
|
10
10
|
|
11
11
|
|
12
12
|
|
3
追記
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しくありません。そしてPythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。デコレータという仕組みの上に「プロパティのように使えるもの」を実装しているだけです。
|
9
|
+
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しくありません(と、思いますが、さすがに書いたことがないのですぐ思いつきはしません)。そしてPythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。デコレータという仕組みの上に「プロパティのように使えるもの」を実装しているだけです。
|
10
10
|
|
11
11
|
|
12
12
|
|
2
追記
test
CHANGED
@@ -6,11 +6,25 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しくありません。そしてPythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。
|
9
|
+
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しくありません。そしてPythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。デコレータという仕組みの上に「プロパティのように使えるもの」を実装しているだけです。
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
同じような応用として、classmethodなどが組み込みで定義されています。
|
13
|
+
同じような応用として、classmethodなどが組み込みで定義されています。こちらも同じような位置づけです。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
組み込みの「デコレータとして使えるもの」は「組み込み関数」のページにまとめて書かれています(それでぜんぶ、のはず)。`@`でページ検索するとわかりますが、
|
18
|
+
|
19
|
+
- classmethod
|
20
|
+
|
21
|
+
- property
|
22
|
+
|
23
|
+
- staticmethod
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
だけです。なお、他に組み込みモジュール内に定義されているデコレータも存在します(functools.lru_cacheなど)。
|
14
28
|
|
15
29
|
|
16
30
|
|
1
追記
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しくありません。
|
9
|
+
それに比べればpropertyクラスなどは一つの応用に過ぎず、仮に組み込みになかったとしても、同様に機能するものをpure Pythonで書くのはさほど難しくありません。そしてPythonの「プロパティ」関連の機能は、けっきょくこれがすべてです。
|
10
10
|
|
11
11
|
|
12
12
|
|