Saya memiliki kelas tuple bernama dalam python
class Town(collections.namedtuple('Town', [
'name',
'population',
'coordinates',
'population',
'capital',
'state_bird'])):
# ...
Saya ingin mengonversi instance Town menjadi kamus. Saya tidak ingin itu terikat ketat dengan nama atau jumlah bidang di Kota.
Apakah ada cara untuk menulisnya sehingga saya bisa menambahkan lebih banyak bidang, atau mengoper tuple bernama yang sama sekali berbeda dan mendapatkan kamus.
Saya tidak dapat mengubah definisi kelas asli seperti dalam kode orang lain. Jadi saya perlu mengambil contoh dari Kota dan mengubahnya menjadi kamus.
dictalih-alih 'namedtuple', dan meneruskan namesuple ke inisialisasi. Ingat bahwa jika Anda terbiasa dengan Cxx, class Town(x)bukan konstruktornya, def __init__(self, *args, **kwargs)di dalamnya ada.
dirhanyalah sebuah python built-in ... Anda dapat menjalankannya pada objek python apa saja , di konsol atau dalam skrip (di mana ia mengembalikan daftar yang dapat Anda cetak atau lakukan apa saja dengan), dan itu akan mengembalikan daftar (hampir ) semua atribut objek. membantu jika Anda mencoba mencari tahu cara kerja objek yang tidak dikenal.
dirperintah, yang akan menampilkan bidang untuk objek apa pun ... yang akan menunjukkan_asdictfungsi secara langsung.