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)

Coba di IDE

Output:

Dina

Contoh Lainnya

Nama atribut dari variabel

class Produk:
    pass

produk = Produk()
atribut = "harga"
setattr(produk, atribut, 25000)
print(getattr(produk, atribut))

Coba di IDE

Output:

25000

Mengubah atribut class

class Pengaturan:
    tema = "terang"

setattr(Pengaturan, "tema", "gelap")
print(Pengaturan.tema)

Coba di IDE

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)

Coba di IDE

Output:

3 4

Kesalahan Umum

  • Argumen name yang bukan string menghasilkan TypeError.
  • Property tanpa setter dapat menghasilkan AttributeError.
  • Penulisan atribut class memengaruhi seluruh instance yang tidak menimpanya.

Pelajari Lebih Lanjut