Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah soalan yang paling kerap ditanya dalam temu bual Python?

Apakah soalan yang paling kerap ditanya dalam temu bual Python?

WBOY
WBOYke hadapan
2023-05-13 09:34:051251semak imbas

Soalan temu bual asas Python

1 Apakah struktur data Python?

  • Integer (int)

  • Takat terapung (terapung)

  • String (str)

  • Boolean (bool)

  • Senarai ( senarai)

  • tuple (tuple)

  • kamus (dikt)

  • set )

2. Apakah perbezaan antara senarai dan tupel? Adakah tupel benar-benar tidak berubah?

  • Senarai: senarai ialah jenis boleh ubah dan data boleh berubah secara dinamik

  • Tuple: ialah jenis tidak berubah, dengan saiz tetap

3. Apakah penjana dan iterator? Apakah perbezaan antara mereka?

Iterator

Peranan: Permudahkan kod gelung dan simpan memori

ialah objek yang boleh mengingati kedudukan yang dilalui. Objek iterator mula mengakses dari elemen pertama koleksi sehingga semua elemen telah diakses. Iterator hanya boleh pergi ke hadapan dan bukan ke belakang

Iterators mempunyai dua kaedah asas: iter() dan next().

Penjana

Fungsi: Menjimatkan banyak memori

Fungsi yang menggunakan hasil dipanggil penjana mengembalikan lelaran hanya digunakan untuk operasi lelaran. Lebih mudah untuk memahami bahawa penjana adalah lelaran

Prinsip: Semasa proses memanggil penjana, fungsi akan menjeda dan menyimpan semua nilai semasa setiap kali ia menemui hasil . Jalankan maklumat, kembalikan nilai hasil, dan teruskan berjalan dari kedudukan semasa apabila kaedah seterusnya() dilaksanakan

4. Apakah penutupan? Apa itu penghias? Apa yang dilakukan oleh penghias? Adakah anda pernah menggunakan penghias? Sila tulis contoh penghias

Penutupan merujuk kepada objek yang diperoleh dengan membungkus bahasa ​​​​yang membentuk fungsi dan persekitaran pelaksanaan bahasa ini​​​ dalam Python

Penghias ialah sejenis fungsi tambahan atau fungsi kelas, yang boleh memasukkan fungsi yang sama dengan cepat ke dalam fungsi atau kelas yang berbeza. Sintaks: "@nama dekorator" ditambahkan sebelum fungsi Contoh:

Apakah soalan yang paling kerap ditanya dalam temu bual Python?

5. Apakah fungsi tanpa nama?

Fungsi tanpa nama : Fungsi yang dibuat menggunakan lambda Apa yang dipanggil tanpa nama bermakna fungsi tidak lagi ditakrifkan dalam bentuk standard seperti pernyataan def.

Faedah:

1 Apabila menggunakan Python untuk menulis beberapa skrip pelaksanaan, menggunakan lambda boleh menyimpan proses mentakrifkan fungsi dan menjadikan kod lebih diperkemas.

2. Untuk beberapa fungsi abstrak yang tidak akan digunakan semula di tempat lain, kadangkala sukar untuk menamakan fungsi menggunakan lambda tidak memerlukan isu penamaan.

3. Menggunakan lambda kadangkala menjadikan kod lebih mudah difahami.

Senario aplikasi: sering digunakan dalam kombinasi dengan beberapa fungsi terbina dalam, seperti map()、filter()、sorted()、reduce(), dsb.

Format ungkapan : lambda 参数列表: lambda体

Kes:

frame.applymap(lambda x: '%.2f' % x)
frame.apply(lambda x: x.max() - x.min())

6 Bagaimana untuk meningkatkan kecekapan pengendalian Python?

Gunakan penjana untuk mengoptimumkan memori

Pengoptimuman gelung: Untuk beberapa pertimbangan keadaan elif, anda boleh menulis keadaan yang paling mungkin berlaku dahulu, yang boleh mengurangkan bilangan pertimbangan program dan meningkatkan kecekapan

Optimumkan masa algoritma: kerumitan masa algoritma mempengaruhi pelaksanaan program Kecekapan mempunyai impak yang paling besar Dalam Python, kerumitan masa boleh dioptimumkan dengan memilih struktur data yang sesuai Contohnya, kerumitan masa mencari elemen tertentu dalam senarai dan ditetapkan ialah O(n) dan O(. 1)

7 masing-masing , Adakah anda pernah menggunakan kelas? Adakah anda tahu tentang harta pusaka? Sila tulis contoh menggunakan warisan.

Warisan: merujuk kepada menjadi objek anak bagi objek atau subkelas kelas dengan mendapatkan atribut dan keupayaan objek induk, serta atribut dan keupayaan tersuai.

Apakah soalan yang paling kerap ditanya dalam temu bual Python?

Tulis Semula: Nama kaedah adalah sama, dan kaedahnya ditulis semula

Apakah soalan yang paling kerap ditanya dalam temu bual Python?

8 copy

  • Salinan cetek, menukar nilai elemen jenis pembolehubah dalam objek asal juga akan mempengaruhi objek yang disalin; menukar nilai elemen jenis tidak berubah dalam objek asal tidak akan menjejaskan objek yang disalin.

  • Salinan dalam, sebagai tambahan kepada salinan peringkat atas, juga menyalin sub-elemen. Selepas penyalinan mendalam, semua alamat elemen pembolehubah objek asal dan objek yang disalin tidak lagi sama

9 Antara 8 modul yang biasa digunakan, yang manakah disenaraikan?

: Menyediakan banyak fungsi yang berkaitan dengan sistem pengendalian os模块

: Skrip alat biasa sering memanggil parameter baris arahan alat ekspresi untuk pemprosesan rentetan lanjutan. Untuk pemadanan dan pemprosesan yang kompleks, ungkapan biasa menyediakan penyelesaian yang ringkas dan dioptimumkan: sys模块

: Menyediakan alatan untuk menjana nombor rawak. re模块

json模块: Menyediakan kaedah untuk Python menghuraikan data json dan menukar kepada dan daripada format python

time模块: Modul untuk masa pemprosesan dalam python

logging模块: Modul untuk pemprosesan log dalam python

xml模块: Modul untuk mencari tag html dalam perangkak python

10. Mekanisme pengumpulan sampah Python? (Baru tahu)

Python menggunakan mekanisme pengiraan rujukan sebagai strategi utama, ditambah dengan dua mekanisme: tanda jelas dan pengumpulan generasi (kitar semula antara generasi, kitar semula generasi)

Mekanisme pengiraan: Modul GC Python terutamanya menggunakan pengiraan rujukan untuk menjejak dan mengitar semula sampah. Berdasarkan pengiraan rujukan, "mark-clear" juga boleh digunakan untuk menyelesaikan masalah rujukan bulat yang mungkin berlaku dalam objek kontena. Meningkatkan lagi kecekapan kutipan sampah dengan menukar ruang dengan masa melalui kutipan generasi.

Mark-Clear:: Kemunculan tanda-jelas memecahkan rujukan bulat, iaitu, ia hanya memfokus pada objek yang mungkin menjana rujukan bulatan Kelemahan: Operasi tambahan yang disebabkan oleh mekanisme ini Berkadar dengan blok memori yang perlu dituntut semula.

Kitar semula antara generasi Prinsip: Bahagikan semua blok memori dalam sistem kepada koleksi yang berbeza mengikut masa kemandiriannya Setiap koleksi menjadi "generasi", dan kekerapan kutipan sampah meningkat dengan masa hidup "generasi" berkurangan dengan peningkatan. Dalam erti kata lain, semakin lama objek hidup, semakin kecil kemungkinan ia menjadi sampah, dan kekerapan kutipan sampah untuknya harus dikurangkan. Jadi bagaimana untuk mengukur masa hidup ini: Ia biasanya diukur dengan beberapa tindakan kutipan sampah Jika sesuatu objek telah melalui lebih banyak kutipan sampah, boleh disimpulkan bahawa objek itu mempunyai masa hidup yang lebih lama.

Atas ialah kandungan terperinci Apakah soalan yang paling kerap ditanya dalam temu bual Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam