Alat dan Utiliti Python: Panduan untuk Pemula

Helo di sana, pemula berminat di atas Python! Saya sangat gembira untuk menjadi pemandu anda dalam perjalanan yang menarik ini ke dunia alat dan utiliti Python. Sebagai seseorang yang telah mengajar Python untuk beberapa tahun, saya tidak sabar untuk membagikan alat ini yang hebat dengan anda. Mari kita wujud!

Python - Tools/Utilities

Modul dis: Melihat di Bawah Hood

Apa itu Modul dis?

Modul dis adalah seperti mesin x-ray penyihir untuk kod Python anda. Ia membolehkan anda untuk melihat bagaimana Python menterjemahkan kod anda ke arahan tingkat rendah yang komputer boleh fahami. Proses ini dipanggil disassembly.

Mengapa Gunakan Modul dis?

Anda mungkin bertanya-tanya, "Mengapa saya perlu melihat ini?" Wel, rakan kucing saya, memahami bagaimana Python menterjemahkan kod anda dapat membantu anda menulis program yang lebih efisien dan meng debug masalah yang sulit.

Cara Menggunakan Modul dis

Kita mula dengan contoh yang simple:

import dis

def greet(name):
return f"Helo, {name}!"

dis.dis(greet)

Apabila anda menjalankan kod ini, anda akan lihat seperti ini:

2           0 LOAD_CONST               1 ('Helo, ')
2 LOAD_FAST                0 (name)
4 FORMAT_VALUE             0
6 LOAD_CONST               2 ('!')
8 BUILD_STRING             3
10 RETURN_VALUE

Jangan khawatir jika ini terlihat seperti rakusiah pertama! Mari kita kongsi:

  1. LOAD_CONST muat nilai konstan (seperti rentetan "Helo, ")
  2. LOAD_FAST muat pembolehubah tempatan (dalam kes ini, name)
  3. FORMAT_VALUE format nilai untuk interpolasi rentetan
  4. BUILD_STRING cipta rentetan akhir
  5. RETURN_VALUE kembalikan hasil

Apabila anda mendapat lebih pengalaman, anda akan mula untuk mengenal pola ini dan gunakan mereka untuk optimalkan kod anda.

Modul pdb: Detektif Python Pribadi Anda

Apa itu Modul pdb?

Modul pdb adalah penyahpepijat terbina-dalam Python. Pikirkan tentang itu sebagai detektif pribadi anda, membantu anda untuk menjejaki pepijat di kod anda.

Mengapa Gunakan Modul pdb?

Penyahpepijatan adalah keterampilan penting bagi sebarang pemrogram. Modul pdb membolehkan anda untuk menghentikan eksekusi program anda, menginspeksi pembolehubah, dan membahagi-bahagi kod anda baris demi baris.

Cara Menggunakan Modul pdb

Mari lihat contoh yang simple:

import pdb

def divide_numbers(a, b):
pdb.set_trace()  # Baris ini menetapkan titik rakus
result = a / b
return result

print(divide_numbers(10, 0))

Apabila anda menjalankan kod ini, ia akan berhenti di atas baris pdb.set_trace(), dan anda akan lihat promp seperti ini:

-> result = a / b
(Pdb)

Sekarang anda boleh menggunakan pelbagai perintah untuk menginspeksi program anda:

  • n (next): Eksekusi baris semasa
  • p variable_name: Cetak nilai pembolehubah
  • c (continue): Teruskan eksekusi hingga titik rakus berikutnya

Sebagai contoh, anda boleh taip p a untuk melihat nilai a, atau n untuk menjalankan operasi pembahagian (yang akan memunculkan ZeroDivisionError dalam kes ini).

Modul profile: Waktu adalah Segalanya

Apa itu Modul profile?

Modul profile adalah seperti stopwatch untuk kod anda. Ia membantu anda untuk mengukur berapa lama bahagian berbeza dari program anda mengambil untuk dijalankan.

Mengapa Gunakan Modul profile?

Apabila program anda tumbuh lebih kompleks, adalah penting untuk tahu mana bahagian yang mengambil masa paling banyak. Pengetahuan ini membolehkan anda untuk optimalkan kod anda di tempat yang paling penting.

Cara Menggunakan Modul profile

Berikut adalah contoh yang simple:

import profile

def slow_function():
total = 0
for i in range(1000000):
total += i
return total

profile.run('slow_function()')

Apabila anda menjalankan kod ini, anda akan lihat output seperti ini:

4 function calls in 0.115 seconds

Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
1    0.115    0.115    0.115    0.115 <string>:1(<module>)
1    0.000    0.000    0.115    0.115 {built-in method builtins.exec}
1    0.115    0.115    0.115    0.115 {built-in method builtins.sum}
1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}

Output ini memberitahu anda berapa kali setiap fungsi dipanggil (ncalls), jumlah masa yang dihabiskan di atas fungsi (tottime), dan lain-lain maklumat waktu yang berguna.

Modul tabnanny: Polis Indentasi

Apa itu Modul tabnanny?

Modul tabnanny adalah pemeriksa indentasi Python. Ia membantu untuk memastikan bahwa indentasi kod anda konsistent dan betul.

Mengapa Gunakan Modul tabnanny?

Di Python, indentasi adalah penting untuk menentukan blok kod. Indentasi yang tidak konsistent boleh menyebabkan pepijat yang sulit untuk dilihat. Modul tabnanny membantu tangkap masalah ini sebelum mereka menyebabkan masalah.

Cara Menggunakan Modul tabnanny

Anda biasanya menggunakan tabnanny dari baris perintah:

python -m tabnanny your_file.py

Apabila tidak ada masalah indentasi, anda tidak akan lihat apa-apa output. Jika ada masalah, tabnanny akan memberitahu anda di mana mereka berada.

Anda juga boleh menggunakannya di atas skrip Python anda:

import tabnanny

tabnanny.check('your_file.py')

Ini akan memunculkan pengecualian jika ia menemui mana-mana masalah indentasi.

Ringkasan Alat dan Utiliti Python

Berikut adalah rakaman ringkas atas alat yang kita telah membahas:

Modul Tujuan Fungsi Utama
dis Disassembly kod dis.dis()
pdb Penyahpepijatan pdb.set_trace()
profile Pemilihan prestasi profile.run()
tabnanny Pemeriksaan indentasi tabnanny.check()

Ingat, alat ini adalah untuk membantu anda menulis kod Python yang lebih baik dan lebih efisien. Jangan takut untuk eksperimen dengan mereka apabila anda teruskan perjalanan Python anda. Selamat coding!

Credits: Image by storyset