Pertanyaan yang diberi tag «python-internals»

Bagaimana cara kerja Python di bawah tenda? Gunakan untuk pertanyaan yang berkaitan dengan (misalnya) keputusan desain yang dibuat dan struktur data internal dan algoritma yang digunakan.

10
Mengapa "1000000000000000 dalam jangkauan (100000000000000001)" begitu cepat di Python 3?
Ini adalah pemahaman saya bahwa range()fungsi, yang sebenarnya merupakan tipe objek di Python 3 , menghasilkan kontennya dengan cepat, mirip dengan generator. Karena itu, saya akan mengharapkan baris berikut untuk mengambil jumlah waktu banyak, karena untuk menentukan apakah 1 kuadriliun berada dalam kisaran, nilai kuadriliun harus dihasilkan: 1000000000000000 in range(1000000000000001) …

14
Bagaimana cara kerja dekorator properti?
Saya ingin memahami cara propertykerja fungsi bawaan. Yang membingungkan saya adalah bahwa itu propertyjuga dapat digunakan sebagai dekorator, tetapi hanya membutuhkan argumen ketika digunakan sebagai fungsi bawaan dan bukan saat digunakan sebagai dekorator. Contoh ini dari dokumentasi : class C(object): def __init__(self): self._x = None def getx(self): return self._x def …



4
Apakah kamus dipesan dengan Python 3.6+?
Kamus diperintahkan dalam Python 3.6 (di bawah implementasi CPython setidaknya) tidak seperti dalam inkarnasi sebelumnya. Ini sepertinya perubahan besar, tetapi hanya paragraf pendek dalam dokumentasi . Ini digambarkan sebagai detail implementasi CPython daripada fitur bahasa, tetapi juga menyiratkan ini dapat menjadi standar di masa depan. Bagaimana kinerja implementasi kamus baru …

20
Kapan del berguna dalam python?
Saya tidak dapat memikirkan alasan mengapa python membutuhkan delkata kunci (dan sebagian besar bahasa tampaknya tidak memiliki kata kunci yang serupa). Sebagai contoh, alih-alih menghapus variabel, seseorang bisa langsung menugaskannya None. Dan ketika menghapus dari kamus, sebuah delmetode dapat ditambahkan. Apakah ada alasan untuk tetap delmenggunakan python, atau hanya sisa-sisa …


2
Mengapa beberapa perbandingan float <integer empat kali lebih lambat dari yang lain?
Ketika membandingkan pelampung dengan bilangan bulat, beberapa pasang nilai membutuhkan waktu lebih lama untuk dievaluasi daripada nilai lain dengan besaran yang sama. Sebagai contoh: &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 Tetapi jika float atau integer dibuat lebih kecil atau lebih besar dengan jumlah …

2
Mengapa 'x' di ('x',) lebih cepat daripada 'x' == 'x'?
&gt;&gt;&gt; timeit.timeit("'x' in ('x',)") 0.04869917374131205 &gt;&gt;&gt; timeit.timeit("'x' == 'x'") 0.06144205736110564 Juga berfungsi untuk tupel dengan banyak elemen, kedua versi ini tampaknya tumbuh secara linear: &gt;&gt;&gt; timeit.timeit("'x' in ('x', 'y')") 0.04866674801541748 &gt;&gt;&gt; timeit.timeit("'x' == 'x' or 'x' == 'y'") 0.06565782838087131 &gt;&gt;&gt; timeit.timeit("'x' in ('y', 'x')") 0.08975995576448526 &gt;&gt;&gt; timeit.timeit("'x' == 'y' or …

8
Apakah kunci juru bahasa global (GIL) dalam CPython?
Apa itu kunci juru bahasa global dan mengapa itu menjadi masalah? Banyak suara telah dibuat sekitar menghapus GIL dari Python, dan saya ingin mengerti mengapa itu sangat penting. Saya belum pernah menulis kompiler atau penerjemah sendiri, jadi jangan hemat dengan detail, saya mungkin perlu mereka mengerti.






Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.