回答編集履歴

2

更に追記

2018/04/29 06:10

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -75,3 +75,25 @@
75
75
 
76
76
 
77
77
  これはPEPなどで明文化されてるのだろうか・・・。
78
+
79
+
80
+
81
+ ### 更に余談
82
+
83
+ > なぜ、len関数は括弧内に変数に入れて、meanは変数の後にメソッドで指定するのか、
84
+
85
+ > その背後にある考え方について教えていただけないでしょうか?
86
+
87
+
88
+
89
+ 上の私の回答はこれへの直接の回答になってないかもなので、追記。
90
+
91
+ len()の方は古(いにしえ)からある関数であります。オブジェクト指向原理主義者の人には「なんでメソッドにしないのよ」とよく言われるのですが(でも最近は見かけない気がする。古い記事でそういうのはたくさんある)、こういう理由でメソッドになっていないらしいです。
92
+
93
+
94
+
95
+ [len が py3k でも 関数のままである理由 - methaneのブログ](https://methane.hatenablog.jp/entry/20090721/1248195293)
96
+
97
+
98
+
99
+ numpyのmeanメソッドは、numpy作った人たちの思想です、としか言いようがないです。

1

変更

2018/04/29 06:10

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  ### 余談
64
64
 
65
- まあでも、だいたい次のような法則があり、組み込みや標準ライブラリの関数は大半のものが従っています(すべてではないのが厄介なところ)。
65
+ まあでも、だいたい次のような法則があり、組み込みや標準ライブラリの関数・オブジェクトは大半のものが従っています(すべてではないのが厄介なところ)。
66
66
 
67
67
  0. 破壊的な操作をする系のものは概ねメソッドにし、返り値はNone(list.sort()、list.reverse()などメソッドを呼んだ相手の中身が変わるもの)
68
68