回答編集履歴

3

__setattr__を追記

2016/08/21 05:30

投稿

flied_onion
flied_onion

スコア2604

test CHANGED
@@ -52,6 +52,10 @@
52
52
 
53
53
 
54
54
 
55
+ setの方は `__setattr__` かと。
56
+
57
+
58
+
55
59
  検索するなら「python 特殊メソッド」とか「python 特殊メソッド 未定義メンバ」あたりですかね。
56
60
 
57
61
 

2

追記前部分の明記

2016/08/21 05:30

投稿

flied_onion
flied_onion

スコア2604

test CHANGED
@@ -62,6 +62,10 @@
62
62
 
63
63
 
64
64
 
65
+ **追記前(php側の関数を勘違いしていた)**
66
+
67
+
68
+
65
69
  実装というか
66
70
 
67
71
 

1

勘違いしていたので __getattr__について追記

2016/08/21 05:28

投稿

flied_onion
flied_onion

スコア2604

test CHANGED
@@ -1,3 +1,67 @@
1
+ **追記**
2
+
3
+
4
+
5
+ すいません、 `__getattr__` とかの事ですね。
6
+
7
+
8
+
9
+ ```
10
+
11
+ class Sample():
12
+
13
+ def __init__(self):
14
+
15
+ self.__x = 10
16
+
17
+
18
+
19
+ def __private(self, x):
20
+
21
+ print(x)
22
+
23
+
24
+
25
+ def __getattr__(self, name):
26
+
27
+ if name == 'p':
28
+
29
+ print(str(name) + ' is accessed ')
30
+
31
+ else:
32
+
33
+ return lambda *args: None
34
+
35
+
36
+
37
+
38
+
39
+ if __name__ == '__main__':
40
+
41
+ s = Sample()
42
+
43
+ s._Sample__private(1)
44
+
45
+ p = s.p
46
+
47
+ print(s._Sample__x)
48
+
49
+ s.q()
50
+
51
+ ```
52
+
53
+
54
+
55
+ 検索するなら「python 特殊メソッド」とか「python 特殊メソッド 未定義メンバ」あたりですかね。
56
+
57
+
58
+
59
+
60
+
61
+ ---
62
+
63
+
64
+
1
65
  実装というか
2
66
 
3
67