Daftar Referensi Python
setattr() membuat atau mengubah atribut objek menggunakan nama atribut dalam bentuk string.
Sintaks
setattr(object, name, value)
Parameter
| Parameter | Wajib? | Keterangan |
|---|---|---|
object |
Ya | Objek yang atributnya akan diubah |
name |
Ya | Nama atribut dalam bentuk string |
value |
Ya | Nilai baru untuk atribut |
Nilai balik: None.
Contoh
class Profil:
pass
profil = Profil()
setattr(profil, "nama", "Dina")
print(profil.nama)
Output:
Dina
Contoh Lainnya
Nama atribut dari variabel
class Produk:
pass
produk = Produk()
atribut = "harga"
setattr(produk, atribut, 25000)
print(getattr(produk, atribut))
Output:
25000
Mengubah atribut class
class Pengaturan:
tema = "terang"
setattr(Pengaturan, "tema", "gelap")
print(Pengaturan.tema)
Output:
gelap
Mengisi beberapa atribut
class Titik:
pass
titik = Titik()
for nama, nilai in {"x": 3, "y": 4}.items():
setattr(titik, nama, nilai)
print(titik.x, titik.y)
Output:
3 4
Kesalahan Umum
- Argumen
nameyang bukan string menghasilkanTypeError. - Property tanpa setter dapat menghasilkan
AttributeError. - Penulisan atribut class memengaruhi seluruh instance yang tidak menimpanya.
Pelajari Lebih Lanjut
- Referensi: getattr() · hasattr() · delattr()
- Buku Belajar Python untuk Pemula: Bab 16
