問題タブ [python-internals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2892 参照

python - Python、組み込みid()のオブジェクトメソッドとは?

Python の場合:

  • len(a)で置き換えることができますa.__len__()
  • str(a)orはorrepr(a)で置き換えることができますa.__str__()a.__repr__()
  • ==__eq__+__add__、など

を取得する同様の方法はありid(a)ますか? そうでない場合、使用せずに python オブジェクトの一意の ID を取得する回避策はありますid()か?


編集:追加の質問: そうでない場合は? を定義しない理由はあります__id__()か?

0 投票する
1 に答える
35383 参照

python - Python での非常に大きな辞書のパフォーマンスの向上

最初に空の辞書を初期化し、for ループ (約 110,000 キー、各キーの値はリストであり、ループでも増加) で要素を辞書に追加すると、次のように速度が低下することがわかりました。 forループが行きます。

問題は、ディクショナリが初期化時にキーの数を認識しておらず、非常にスマートな処理を行っていないため、おそらくストレージの衝突が頻繁に発生し、速度が低下することです。

キーの数とそれらのキーが正確に何であるかがわかっている場合、Pythonで辞書(またはハッシュテーブル)をより効率的に機能させる方法はありますか? キーを知っていれば、ハッシュ関数をスマートに設計し(完全なハッシュ?)、事前にスペースを割り当てることができることを漠然と覚えています。

0 投票する
1 に答える
8803 参照

python - Python の cmp_to_key 関数はどのように機能しますか?

この関数hereに出会いました。

これがどのように実装されるかについて私は困惑しています-keyによって生成された関数はcmp_to_key、特定の要素が他のすべての対象要素とどのように比較されるかをチェックせずに、特定の要素がどの「位置」であるべきかをどのように知るのでしょうか?

0 投票する
3 に答える
3737 参照

python - str は Python でどのように実装されていますか?

空の文字列が非常に多くのバイトを使用するのはなぜですか? これらの40バイトに何が格納されているか知っている人はいますか?

0 投票する
2 に答える
4729 参照

python - *args 構文を使用する引数リストで末尾のコンマが SyntaxError になるのはなぜですか?

*argsPython で末尾のコンマを使用できないのはなぜですか? 言い換えれば、これは機能します

しかし、これはそうではありません

これは、Python 2 と Python 3 の両方に当てはまります。

0 投票する
14 に答える
639447 参照

python - @property デコレータは Python でどのように機能しますか?

組み込み関数がどのように機能するかを理解したいと思いますproperty。私を混乱させるのはproperty、デコレーターとしても使用できることですが、組み込み関数として使用する場合にのみ引数を取り、デコレーターとして使用する場合には使用しません。

この例はドキュメントからのものです:

propertyの引数は、、、getxおよびドキュメント文字列です。setxdelx

以下のコードでpropertyは、デコレータとして使用されています。そのオブジェクトはx関数ですが、上記のコードでは、引数にオブジェクト関数の場所がありません。

x.setterこの場合、デコレータとデコレータはどのようにx.deleter作成されますか?

0 投票する
3 に答える
1396 参照

python - モジュール全体よりもモジュールから関数をインポートする方が時間がかかるのはなぜですか?

検討:

モジュール全体ではなく Dispatch 関数だけをインポートすると、かなり時間がかかります。単一の関数を取得するためのオーバーヘッドが非常に悪い理由を誰かが説明できますか? ありがとう!

0 投票する
1 に答える
2056 参照

python - __slots__ を持つクラスで __setattr__() を定義できますか?

を定義するクラスがあるとします__slots__:

それを定義できます__setattr__()か?

Fooがないので、__dict__何を更新しますか?

0 投票する
2 に答える
348 参照

python - 0x7FFFFFFF に制限されたスライス インデックス

Python (2.7.4) でスライスを使って遊んでいます:

すべてが期待どおりに動作するようです:

ただし、スライス インデックスは 0x7FFFFFFF に制限されているようです。

スライス インデックスが通常の値と同じlong整数昇格の対象にならないのはなぜですか? intこれに対する回避策はありますか?