Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Kelas dan Objek
Objects adalah enkapsulasi dari variabel dan fungsi ke dalam satu entitas. Objek mendapatkan variabel dan fungsinya dari kelas. Kelas pada dasarnya adalah template untuk membuat objek Anda.
Sebuah kelas yang sangat dasar akan terlihat seperti ini:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
Kami akan menjelaskan mengapa Anda harus menyertakan "self" sebagai parameter sedikit nanti. Pertama, untuk menetapkan kelas (template) di atas ke sebuah objek, Anda dapat melakukan hal berikut:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
Sekarang variabel "myobjectx" menyimpan objek dari kelas "MyClass" yang berisi variabel dan fungsi yang didefinisikan dalam kelas yang disebut "MyClass".
Mengakses Variabel Objek
Untuk mengakses variabel di dalam objek yang baru dibuat "myobjectx", Anda melakukan hal berikut:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
myobjectx.variable
Jadi, misalnya, yang di bawah ini akan mencetak string "blah":
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
print(myobjectx.variable)
Anda dapat membuat beberapa objek berbeda yang berasal dari kelas yang sama (memiliki variabel dan fungsi yang sama yang didefinisikan). Namun, setiap objek berisi salinan independen dari variabel yang didefinisikan dalam kelas. Misalnya, jika kita mendefinisikan objek lain dengan kelas "MyClass" dan kemudian mengubah string dalam variabel di atas:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
myobjecty = MyClass()
myobjecty.variable = "yackity"
# Kemudian cetak kedua nilai
print(myobjectx.variable)
print(myobjecty.variable)
Mengakses Fungsi Objek
Untuk mengakses fungsi di dalam objek, Anda menggunakan notasi yang mirip dengan mengakses variabel:
class MyClass:
variable = "blah"
def function(self):
print("This is a message inside the class.")
myobjectx = MyClass()
myobjectx.function()
Yang di atas akan mencetak pesan "This is a message inside the class."
init()
Fungsi __init__()
, adalah fungsi khusus yang dipanggil ketika kelas sedang diinisiasi. Ini digunakan untuk menetapkan nilai-nilai dalam sebuah kelas.
class NumberHolder:
def __init__(self, number):
self.number = number
def returnNumber(self):
return self.number
var = NumberHolder(7)
print(var.returnNumber()) #Prints '7'
Exercise
Kami memiliki kelas yang didefinisikan untuk kendaraan. Buat dua kendaraan baru yang disebut car1 dan car2. Setel car1 sebagai mobil convertible merah senilai $60,000.00 dengan nama Fer, dan car2 sebagai van biru bernama Jump senilai $10,000.00.
# define the Vehicle class
class Vehicle:
name = ""
kind = "car"
color = ""
value = 100.00
def description(self):
desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
return desc_str
# your code goes here
# test code
print(car1.description())
print(car2.description())
# define the Vehicle class
class Vehicle:
name = ""
kind = "car"
color = ""
value = 100.00
def description(self):
desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
return desc_str
# your code goes here
car1 = Vehicle()
car1.name = "Fer"
car1.color = "red"
car1.kind = "convertible"
car1.value = 60000.00
car2 = Vehicle()
car2.name = "Jump"
car2.color = "blue"
car2.kind = "van"
car2.value = 10000.00
# test code
print(car1.description())
print(car2.description())
#test_output_contains('Fer is a red convertible worth $60000.00.')
#test_output_contains('Jump is a blue van worth $10000.00.')
success_msg("Great job!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!