9

dict Python の「関数」について考えていたところdict、実際には関数ではないことに気付き始めました。たとえば、 を実行するdir(dict)と、ユーザー定義関数の通常の名前空間には含まれないあらゆる種類のメソッドが取得されます。その考えを拡張すると、 と に似ていdir(list)ますdir(len)。それらは関数ではありませんが、実際にはtypes です。しかし、私はドキュメントページhttp://docs.python.org/2/library/functions.htmlについて混乱しています。(私はそれが本当に組み込み callables と言うべきだと思います)

それで、何が得られますか?(クラスと関数を区別するのは些細なことのように見え始めています)

4

4 に答える 4

5

一般的なクラスと同様に、これは呼び出し可能です。呼び出しdict()は、dict コンストラクターを効果的に呼び出すことです。これは、独自のクラス ( など) を定義し、それをインスタンス化するためにC呼び出すときのようなものです。C()

于 2013-08-30T14:04:02.203 に答える
1

dict()dictインスタンスのコンストラクタです。あなたがそうするとき、あなたdir(dict)は class の属性を見ていますdict。あなたが書いているときは、 type の新しいインスタンスにa = dict()設定しています。adict

dict()ここでは、それが「dict関数」と呼ばれるものであると想定しています。dictまたは、a['my_key']関数などのインデックス付きインスタンスを呼び出していますか?

于 2013-08-30T14:11:10.090 に答える