Pertanyaan

Apa output dar kode berikut? class MyClass: def __ init __ (self): se1f,val=10 obj1=Myclass( ) obj2=Myclass( ) obj1,va1=20 print(obj1.val, obj2,val) a. 1020 b. 2020 I c. 2010 d. 1010

Solusi

Terverifikasi Ahli
4.1 (405 Suara)
Hemang profesional ยท Tutor selama 6 tahun

Jawaban

Jawaban yang benar adalah **c. 20 10**Berikut penjelasannya:Kode tersebut mendefinisikan sebuah kelas `MyClass` dengan atribut `val` yang diinisialisasi menjadi 10 pada saat objek dibuat. Kemudian, dua objek `obj1` dan `obj2` dari kelas `MyClass` dibuat. Perhatikan bahwa baris `obj1.val = 20` mengubah nilai atribut `val` hanya untuk objek `obj1`. Atribut `val` dari `obj2` tetap 10 karena merupakan objek yang terpisah. Oleh karena itu, ketika kode mencetak `obj1.val` dan `obj2.val`, outputnya adalah 20 dan 10.**Perbaikan Kode:**Kode yang diberikan memiliki kesalahan sintaks. ` obj1,va1=20` seharusnya ditulis tanpa simbol dolar ($) dan dengan penulisan yang benar:```pythonclass MyClass: def __init__(self): self.val = 10obj1 = MyClass()obj2 = MyClass()obj1.val = 20print(obj1.val, obj2.val)```Kode yang diperbaiki ini akan menghasilkan output 20 10.