Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengakses dan Mengubah Suai Atribut Objek dalam Python Menggunakan Rentetan?

Bagaimanakah Saya Boleh Mengakses dan Mengubah Suai Atribut Objek dalam Python Menggunakan Rentetan?

Linda Hamilton
Lepaskan: 2024-12-24 08:38:11
asal
318 orang telah melayarinya

How Can I Access and Modify Object Attributes in Python Using Strings?

Mengakses Atribut Objek mengikut Rentetan

Pertimbangkan senario di mana anda mempunyai objek t dan rentetan x mewakili nama atribut bagi t. Bagaimanakah anda boleh mendapatkan semula atau mengubah suai nilai atribut ini?

Bahasa Python menyediakan mekanisme yang mudah untuk operasi ini:

Fungsi getattr() dan setattr():

Python menawarkan fungsi terbina dalam getattr() dan setattr() untuk mengakses dan mengubah suai atribut objek secara dinamik. Fungsi ini mengambil sintaks berikut:

getattr(object, attrname) # Retrieves the attribute value
setattr(object, attrname, value) # Sets the attribute value
Salin selepas log masuk

Contoh:

Dalam coretan kod yang diberikan:

class Test:
   def __init__(self):
       self.attr1 = 1
       self.attr2 = 2

t = Test()
x = "attr1"
Salin selepas log masuk

Untuk mendapatkan nilai atribut yang diwakili oleh x, anda boleh menggunakan:

x = getattr(t, 'attr1')
Salin selepas log masuk

Untuk menetapkan nilai atribut diwakili oleh x hingga 21:

setattr(t, 'attr1', 21)
Salin selepas log masuk

Pendekatan ini menyediakan cara yang fleksibel dan dinamik untuk mengakses dan mengubah suai atribut objek, terutamanya berguna apabila bekerja dengan struktur data dinamik atau rentetan yang mewakili nama atribut.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses dan Mengubah Suai Atribut Objek dalam Python Menggunakan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan