menjadi sebuah variabel pribadi?

Oleh zackrozaq36 108 0 pada Sabtu, 3 Sep. 2022, 11:25:17


Kembali ke forum soal ini

#python #python-lanjutan #class-di-python


Petunjuk Diskusi
Silahkan masuk untuk berdiskusi



Maaf kak udah mentok minta tolong dibantu. terimakasih
class Kendaraan(object):
  def __init__(self):
    self.penumpang = []
  
  def __init__(self, nama):
    self.nama = nama
 
  def tambah_penumpang(self, nama_penumpang):
    self.penumpang.append(nama_penumpang)
    
# Code di bawah ini untuk anda memeriksa sendiri
# apakah code anda sudah benar
mobil = Kendaraan("Mobil")
motor = Kendaraan("Motor")

mobil.tambah_penumpang("Michael Schumacher")
mobil.tambah_penumpang("Rio Haryanto")

motor.tambah_penumpang("Nico Rosberg")

# Hasilnya haruslah berbeda
print motor.penumpang
print mobil.penumpang
0 jempol


datag
72
4
· 2 tahun, 3 bulan yang lalu · 3 jempol

class Kendaraan(object):
  penumpang = []
  
  def __init__(self, nama):
    self.nama = nama
    self.penumpang = []
 
  def tambah_penumpang(self, nama_penumpang):
    self.penumpang.append(nama_penumpang)


coba ganti dgn code diatas. lihatlah perbedaannya. 

saat penumpang = [ ]  berada di luar def __init__ berlaku untuk umum.

tapi jika self.penumpang = [ ] berada di dalam def __init__ baik itu menjadi paramtere seperti nama ataupun tidak. dirinya menjadi dikhususkan.

Pyth18
106
0
· 9 bulan, 3 minggu yang lalu · 0 jempol

jadi apakah fungsi self itu mengkhususkan variable?

mila11
105
0
· 4 bulan yang lalu · 0 jempol

hasilnya sudah benar tpi kenapa masih blum benar ya

class Kendaraan(object):
  penumpang = []
  
  def __init__(self, nama_penumpang):
    self.penumpang=[]
    
  def tambah(self, nama_penumpang):
    self.penumpang.append(nama_penumpang)
    
  def tambah_penumpang(self, nama_penumpang):
    self.penumpang.append(nama_penumpang)
    
# Code di bawah ini untuk anda memeriksa sendiri
# apakah code anda sudah benar
mobil = Kendaraan("Mobil")
motor = Kendaraan("Motor")

mobil.tambah_penumpang("Michael Schumacher")
mobil.tambah_penumpang("Rio Haryanto")

motor.tambah("Nico Rosberg")

# Hasilnya haruslah berbeda
print motor.penumpang
print mobil.penumpang