Python

Modul pemeriksaan Python

Modul pemeriksaan Python

Gambaran keseluruhan

Pernah terfikir betapa hebatnya kekuatan untuk benar-benar mendapatkan kod sumber beberapa modul Python lain dalam Program anda sendiri? Ini akan membuka idea dan pintu kepada banyak peluang seperti memproses kod sumber modul, mendapatkan dokumen, menghasilkan dokumentasi untuk sekeping kod secara automatik. Izinkan saya memberitahu anda, ini mungkin 100% dengan Python's memeriksa modul.

Modul pemeriksaan Python

Python memeriksa modul membolehkan kita memeriksa objek program yang sedang berjalan, mendapatkan kod sumber modul, mendapatkan dokumen yang berkaitan dengan modul itu, membaca kaedah tandatangan fungsi di Python dan banyak lagi. Dengan cara ini, kita dapat membina projek yang menghasilkan dokumentasi kod langsung untuk projek kita sendiri. Ini bererti bahawa kita hanya perlu membuat komen yang diperlukan pada kod Python kita dan kita boleh menyerahkan tugas selebihnya kepada Python sendiri untuk menghasilkan dokumentasi untuk kita.

Menggunakan contoh kod

Untuk memahami bagaimana Python's memeriksa modul berfungsi, kami akan menggunakan salah satu definisi kod contoh kami sendiri di Python yang hanya menunjukkan warisan di Python dan bagaimana objek dibuat. Mari kita lihat contoh modul yang akan kita gunakan dalam sisa tutorial di sini:

def module_level_function (arg1, arg2 = 'default', * args):
"" Saya fungsi tahap modul."" "
local_var = arg1 * 2
pulangkan local_var
Orang kelas (objek):
"" "Definisi untuk kelas Orang."" "
def __init __ (diri, nama):
diri.nama = nama
def get_name (diri):
Msgstr "Mengembalikan nama kejadian."
kembalikan diri.nama
person_obj = Orang ('sample_instance')
Pelajar kelas (Orang):
"" Ini kelas Pelajar, kelas anak Orang.
"" "
# Kaedah ini bukan sebahagian daripada kelas Person.
def do_something_else (diri):
"" "Apa sahaja boleh dilakukan di sini."" "
def get_name (diri):
"Mengganti versi dari kelas Orang"
kembalikan 'Pelajar (' + diri.nama + ')'

Kami telah menentukan modul contoh supaya kami dapat mula mengekstrak kod sumber dan komponen lain daripadanya dalam contoh kemudian yang kami tulis. Mari kita mulakan.

Memeriksa modul

Modul Python di atas disimpan dalam fail yang dipanggil linuxhint.py dalam direktori yang sama di mana kita akan membuat skrip Python baru kita. Kita dapat memeriksa modul di Python dengan membuat import terlebih dahulu. Penyataan import ini akan ada dalam semua skrip yang kami tulis di bahagian kemudian juga. Berikut adalah contoh program untuk memeriksa modul kami:

import memeriksa
import linuxhint
untuk nama, data dalam pemeriksaan.getmembers (linuxhint):
sekiranya nama.bermula dengan('__'):
teruskan
cetak (': !r '.format (nama, data))

Inilah yang kita dapat kembali dengan arahan ini:

Modul pemeriksaan Python


Hasilnya memberi kami perincian mengenai berapa kelas, fungsi dan objek yang ada dalam modul ini semasa skrip dijalankan.

Memeriksa kelas dalam Modul

Contoh di atas yang kami tunjukkan menunjukkan semua butiran modul sekaligus. jika kita hanya ingin mendapatkan maklumat yang berkaitan dengan kelas dalam modul, kita boleh mendapatkan yang sama seperti:

import memeriksa
import linuxhint
untuk kunci, data dalam pemeriksaan.getmembers (linuxhint, memeriksa.isclass):
cetak (': !r '.format (kunci, data))

Mari lihat output untuk arahan ini:

Python memeriksa kelas modul


Keluarannya sama, hanya kali ini, hanya definisi kelas yang dicetak ke konsol.

Kaedah pemeriksaan di dalam kelas

Kaedahnya adalah kaedah yang menentukan tingkah laku kelas dalam OOP dan memberikan maklumat mengenai bagaimana tingkah laku Objek akan diubahsuai kerana kaedah tersebut dipanggil. Oleh sebab itulah, penting untuk mendokumentasikan semua kaedah yang ada di kelas atau modul. Kita boleh mendapatkan maklumat yang berkaitan dengan kaedah seperti ini:

import memeriksa
dari pprint import pprint
import linuxhint
kertas cetak (periksa.ahli (linuxhint).Orang, periksa.fungsi))

Inilah yang kita dapat kembali dengan arahan ini:

Memeriksa kaedah kelas


Keluaran hanya memaparkan definisi kaedah setiap kaedah yang ada.

Memeriksa objek kelas

Apabila anda meninjau berapa banyak ruang yang dihuni semasa kami menjalankan skrip Python, adalah penting untuk mengetahui berapa banyak objek untuk kelas yang dijadikan contoh untuk kelas dalam program. Untuk mengetahui perkara ini, kita juga boleh mendapatkan maklumat mengenai Objek kelas dalam modul:

import memeriksa
dari pprint import pprint
import linuxhint
orang = linuxhint.Orang (nama = 'inspect_getmembers')
kertas cetak (periksa.ahli gabungan (orang, memeriksa.kaedah))

Mari lihat output untuk arahan ini:

Memeriksa Objek kelas


Ini juga mencetak alamat memori di mana objek ini tinggal semasa program ini.

Memeriksa Docstring kelas

Dokstring modul adalah bahagian yang sebenarnya memberitahu pengguna atau pembangun mengenai modul ini dan ciri apa yang disediakan olehnya. Dengan modul pemeriksaan, kita dapat memperoleh dokumentasi modul lengkap untuk mendokumentasikannya dengan lebih baik. Mari lihat bagaimana kita dapat mengekstraksi dokumen untuk kelas:

import memeriksa
import linuxhint
cetak ('Orang.__doc__: ')
cetak (linuxhint.Orang.__doc__)
cetak ()
cetak ('getdoc (Orang):')
mencetak (memeriksa.getdoc (linuxhint.Orang))

Inilah yang kita dapat kembali dengan arahan ini:

Mendapatkan Docstring untuk kelas

Memeriksa Sumber kelas

Akhirnya, kita dapat melihat bagaimana kita dapat mengekstrak kod sumber lengkap kelas dalam program Python juga. Ini adalah ciri penting dan ini membantu kita membina alat dokumentasi mengenai modul Python. Mari lihat contoh dalam tindakan:

import memeriksa
import linuxhint
mencetak (memeriksa.getource (linuxhint.Pelajar))

Inilah yang kita dapat kembali dengan arahan ini:

Mendapatkan kod sumber kelas

Memeriksa Sumber kaedah

Dengan cara yang sama kita mengekstrak kod sumber kelas, kita sekarang akan mengekstrak kod sumber kaedah dalam program Python kami:

import memeriksa
import linuxhint
mencetak (memeriksa.getource (linuxhint.Pelajar.get_name))

Inilah yang kita dapat kembali dengan arahan ini:

Mendapatkan sumber kaedah dalam kelas

Tandatangan Kaedah Pemeriksaan

Tanda tangan kaedah memberikan gambaran mendalam tentang apa kaedah dilakukan dan input apa yang diperlukannya. Ini memberi kita kekuatan untuk mendokumentasikan suatu kaedah dengan lebih baik kerana dokumentasi suatu kaedah tidak lengkap tanpa mengetahui apa input yang diperlukan. Inilah cara kami dapat mengekstrak maklumat yang berkaitan dengan tandatangan kaedah:

import memeriksa
import linuxhint
mencetak (memeriksa.tandatangan (linuxhint.modul_level_fungsi))

Inilah yang kita dapat kembali dengan arahan ini:

Mendapatkan Tandatangan Kaedah

Kesimpulannya

Dalam pelajaran ini, kami melihat bagaimana kami dapat memanfaatkan modul pemeriksaan Python untuk melihat kod sumber dan banyak lagi ciri dalaman program Python. Baca lebih banyak catatan berdasarkan Python di sini.

Kursor melompat atau bergerak secara rawak semasa menaip di Windows 10
Sekiranya anda mendapati kursor tetikus anda melompat atau bergerak sendiri, secara automatik, secara rawak semasa menaip komputer riba atau komputer ...
Cara membalikkan arah tatal Tetikus dan Pad Sentuh pada Windows 10
Tetikus dan Pad sentuhs bukan sahaja menjadikan pengkomputeran mudah, tetapi lebih cekap dan kurang memakan masa. Kami tidak dapat membayangkan kehidu...
Cara menukar saiz, warna & skema penunjuk dan kursor tetikus pada Windows 10
Penunjuk dan kursor tetikus di Windows 10 adalah aspek yang sangat penting dalam sistem operasi. Ini boleh dikatakan untuk sistem operasi lain juga, j...