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.
dict
alih-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.
dir
hanyalah 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.
dir
perintah, yang akan menampilkan bidang untuk objek apa pun ... yang akan menunjukkan_asdict
fungsi secara langsung.