Python 3 - Araçlar / Yardımcı Programlar

Standart kitaplık, hem modüller hem de komut satırı yardımcı programları olarak kullanılabilen bir dizi modülle birlikte gelir.

Dis Modülü:

Dis modülü, Python çözücüdür. Bayt kodlarını insan tüketimi için biraz daha uygun bir biçime dönüştürür.

Sökücüyü komut satırından çalıştırabilirsiniz. Verilen betiği derler ve parçalanmış bayt kodlarını STDOUT'a yazdırır. Dis'i bir modül olarak da kullanabilirsiniz. dis function bir sınıf, yöntem, fonksiyon veya kod nesnesini tek argüman olarak alır.

Misal

#!/usr/bin/python3
import dis

def sum():
   vara = 10
   varb = 20

   sum = vara + varb
   print ("vara + varb = %d" % sum)

# Call dis function for the function.

dis.dis(sum)

Bu, aşağıdaki sonucu verecektir -

6           0 LOAD_CONST               1 (10)
              3 STORE_FAST               0 (vara)

  7           6 LOAD_CONST               2 (20)
              9 STORE_FAST               1 (varb)

  9          12 LOAD_FAST                0 (vara)
             15 LOAD_FAST                1 (varb)
             18 BINARY_ADD
             19 STORE_FAST               2 (sum)

 10          22 LOAD_CONST               3 ('vara + varb = %d')
             25 LOAD_FAST                2 (sum)
             28 BINARY_MODULO
             29 PRINT_ITEM
             30 PRINT_NEWLINE
             31 LOAD_CONST               0 (None)
             34 RETURN_VALUE

pdb Modülü

Pdb modülü, standart Python hata ayıklayıcıdır. Bdb hata ayıklayıcı çerçevesine dayanır.

Hata ayıklayıcıyı komut satırından çalıştırabilirsiniz (sonraki satıra gitmek ve mevcut komutların bir listesini almak için yardım etmek için n [veya sonraki] yazın) -

Misal:

Koşmaya çalışmadan önce pdb.py, yolunu düzgün bir şekilde Python kitaplık dizinine ayarlayın. Öyleyse yukarıdaki örnek sum.py ile deneyelim -

$pdb.py sum.py
> /test/sum.py(3)<module>()
-> import dis
(Pdb) n
> /test/sum.py(5)<module>()
-> def sum():
(Pdb) n
>/test/sum.py(14)<module>()
-> dis.dis(sum)
(Pdb) n
  6           0 LOAD_CONST               1 (10)
              3 STORE_FAST               0 (vara)

  7           6 LOAD_CONST               2 (20)
              9 STORE_FAST               1 (varb)

  9          12 LOAD_FAST                0 (vara)
             15 LOAD_FAST                1 (varb)
             18 BINARY_ADD
             19 STORE_FAST               2 (sum)

 10          22 LOAD_CONST               3 ('vara + varb = %d')
             25 LOAD_FAST                2 (sum)
             28 BINARY_MODULO
             29 PRINT_ITEM
             30 PRINT_NEWLINE
             31 LOAD_CONST               0 (None)
             34 RETURN_VALUE
--Return--
> /test/sum.py(14)<module>()->None
-v dis.dis(sum)
(Pdb) n
--Return--
> <string>(1)<module>()->None
(Pdb)

profil Modülü

Profil modülü standart Python profilleyicisidir. Profil oluşturucuyu komut satırından çalıştırabilirsiniz -

Misal

Aşağıdaki programın profilini çıkarmaya çalışalım -

#!/usr/bin/python3

vara = 10
varb = 20

sum = vara + varb
print "vara + varb = %d" % sum

Şimdi koşmayı dene cProfile.pybu dosya üzerinde sum.py aşağıdaki gibi -

$cProfile.py sum.py
vara + varb = 30
         4 function calls in 0.000 CPU seconds

   Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno
   1    0.000    0.000    0.000    0.000 <string>:1(<module>)
   1    0.000    0.000    0.000    0.000 sum.py:3(<module>)
   1    0.000    0.000    0.000    0.000 {execfile}
   1    0.000    0.000    0.000    0.000 {method ......}

tabnanny Modülü

Tabnanny modülü, belirsiz girinti için Python kaynak dosyalarını kontrol eder. Bir dosya sekmeleri ve boşlukları girintiyi ortadan kaldıracak şekilde karıştırıyorsa, hangi sekme boyutunu kullanıyor olursanız olun, dadı şikayet eder -

Misal

Aşağıdaki programın profilini çıkarmaya çalışalım -

#!/usr/bin/python3

vara = 10
varb = 20

sum = vara + varb
print "vara + varb = %d" % sum

Tabnanny.py ile doğru bir dosya denerseniz, aşağıdaki gibi şikayet etmez -

$tabnanny.py -v sum.py
'sum.py': Clean bill of health.