Kelas dan Objek Python [Dengan Contoh]

Diterbitkan: 2021-06-25

OOP - kependekan dari Pemrograman Berorientasi Objek - adalah paradigma yang bergantung pada objek dan kelas untuk membuat program fungsional. OOP bekerja pada modularitas kode, dan kelas serta objek membantu dalam menulis potongan kode sederhana yang dapat digunakan kembali yang dapat digunakan untuk membuat fitur dan modul perangkat lunak yang lebih besar. C++, Java, dan Python adalah tiga bahasa Pemrograman Berorientasi Objek yang paling umum digunakan. Namun, dalam kasus penggunaan saat ini – seperti Ilmu Data dan Analisis Statistik – Python mengalahkan dua lainnya.

Ini tidak mengherankan karena Ilmuwan Data di seluruh dunia bersumpah dengan kemampuan bahasa pemrograman Python. Jika Anda berencana untuk memulai karir di bidang Ilmu Data dan ingin menguasai Python – mengetahui tentang kelas dan objek harus menjadi prioritas pertama Anda.

Melalui artikel ini, kami akan membantu Anda memahami semua nuansa di balik objek dan kelas di Python, bersama dengan bagaimana Anda bisa mulai membuat kelas Anda sendiri dan bekerja dengannya.

Daftar isi

Kelas di Python

Kelas dalam Python adalah prototipe yang ditentukan pengguna yang menggunakan objek mana yang dibuat. Sederhananya, kelas adalah metode untuk menggabungkan data dan fungsionalitas . Kedua kata kunci tersebut penting untuk diperhatikan. Data berarti variabel apa pun yang dipakai atau ditentukan, sedangkan fungsionalitas berarti operasi apa pun yang dapat dilakukan pada data itu. Bersama dengan data dan fungsionalitas yang dibundel dalam satu paket, kami mendapatkan kelas.

Untuk memahami perlunya membuat kelas, perhatikan contoh sederhana berikut. Misalkan, Anda ingin melacak kucing di lingkungan Anda yang memiliki karakteristik berbeda seperti usia, ras, warna, berat, dll. Anda dapat menggunakan elemen daftar dan lacak dengan cara 1:1, yaitu, Anda dapat melacak ras ke usia, atau usia dengan berat menggunakan daftar. Bagaimana jika seharusnya ada 100 kucing yang berbeda? Bagaimana jika ada lebih banyak properti yang akan ditambahkan? Dalam skenario seperti itu, menggunakan daftar cenderung tidak terorganisir dan berantakan.

Di situlah kelas masuk!

Kelas membantu Anda membuat struktur data yang ditentukan pengguna yang memiliki anggota data (variabel) dan fungsi anggotanya sendiri. Anda dapat mengakses variabel dan metode ini hanya dengan membuat objek untuk kelas (kita akan membicarakannya lebih lanjut nanti). Jadi, dalam arti tertentu, kelas seperti cetak biru untuk suatu objek.

Selanjutnya, membuat kelas secara otomatis membuat jenis objek baru – yang memungkinkan Anda untuk lebih jauh membuat lebih banyak objek dari jenis yang sama. Setiap instance kelas dapat memiliki atribut yang dilampirkan padanya untuk mempertahankan statusnya. Instance kelas sendiri dapat memiliki metode (sebagaimana didefinisikan oleh kelasnya) untuk memodifikasi status.

Beberapa poin di kelas Python:

  • Kelas dibuat dengan menggunakan kata kunci kelas.
  • Atribut adalah variabel yang khusus untuk kelas yang Anda buat.
  • Atribut ini selalu bersifat publik dan dapat diakses dengan menggunakan operator titik setelah nama kelas. Misalnya, ClassName.AttributeName akan mengambilkan Anda detail atribut tertentu dari kelas tersebut.

Sintaks untuk mendefinisikan kelas:

kelas Nama Kelas:

# Pernyataan-1

.

.

.

# Pernyataan-N

Sebagai contoh:

kucing kelas:

lulus

Dalam contoh di atas, kata kunci class menunjukkan bahwa Anda membuat kelas diikuti dengan nama kelas (dalam hal ini Kucing). Peran kelas ini belum ditentukan.

Keuntungan menggunakan Kelas di Python

  • Kelas membantu Anda menyimpan semua jenis data yang berbeda terorganisir dengan baik di satu tempat. Dengan cara ini, Anda menjaga kode tetap bersih dan modular, meningkatkan keterbacaan kode Anda.
  • Menggunakan kelas memungkinkan Anda mengambil manfaat dari paradigma OOP lain – yang disebut Warisan. Ini adalah ketika sebuah kelas mewarisi properti dari kelas lain.
  • Kelas memungkinkan Anda untuk mengganti operator standar apa pun.
  • Kelas membuat kode Anda dapat digunakan kembali yang membuat program Anda jauh lebih efisien.

Objek dengan Python

Objek hanyalah turunan dari kelas apa pun yang telah Anda definisikan. Saat Anda membuat kelas, instance otomatis sudah dibuat. Jadi, seperti dalam contoh, kelas Cat secara otomatis membuat objek seperti kucing sebenarnya – ras Persia dan berusia 3 tahun. Anda dapat memiliki banyak contoh kucing yang berbeda yang memiliki sifat berbeda, tetapi untuk membuatnya masuk akal – Anda memerlukan kelas sebagai panduan Anda. Jika tidak, Anda akan merasa tersesat, tidak tahu informasi apa yang dibutuhkan.

Sebuah objek secara luas dicirikan oleh tiga hal:

  • Status: Ini mengacu pada berbagai atribut dari objek apa pun dan berbagai properti yang dapat ditunjukkannya.
  • Perilaku: Ini pada dasarnya menunjukkan metode objek itu. Ini juga mencerminkan bagaimana objek tertentu ini berinteraksi dengan atau merespons objek lain.
  • Identitas: Identitas adalah nama unik dari objek yang digunakannya yang dapat dipanggil saat dan saat diperlukan.

1. Mendeklarasikan Objek

Mendeklarasikan Objek juga dikenal sebagai membuat instance kelas karena segera setelah Anda mendefinisikan kelas, objek default dibuat dengan sendirinya (seperti yang kita lihat sebelumnya) – yang merupakan turunan dari kelas itu. Demikian juga, setiap kali Anda membuat objek, pada dasarnya Anda membuat instance baru dari kelas Anda.

Dalam kaitannya dengan tiga hal (keadaan, perilaku, identitas) yang kami sebutkan sebelumnya, semua contoh (objek) berbagi perilaku dan status, tetapi identitasnya berbeda. Satu kelas tunggal dapat memiliki sejumlah objek, seperti yang dipersyaratkan oleh programmer.

Lihat contoh di bawah ini. Berikut adalah program yang menjelaskan cara membuat instance kelas.

kucing kelas:

# Kelas sederhana

# atribut

attr1 = “kucing”

attr2 = “kucing”

# Metode sampel

pasti menyenangkan (diri):

print(“Saya adalah”, self.attr1)

print(“Saya adalah”, self.attr2)

# Kode pengemudi

# Instansiasi objek

Tom = kucing()

# Mengakses atribut kelas

# dan metode melalui objek

cetak(Tom.attr1)

tom.menyenangkan();

Output dari program sederhana ini adalah sebagai berikut:

Licik

saya kucing

aku adalah kucing

Seperti yang Anda lihat, pertama-tama kita membuat kelas bernama cat dan kemudian membuat instance objek dengan nama 'Tom.' Tiga output yang kami dapatkan adalah sebagai berikut:

  • Feline – ini adalah hasil dari print statement(Tom.attr1). Karena Tom adalah objek dari kelas Cat dan attr1 telah ditetapkan sebagai Feline, fungsi ini mengembalikan keluaran Feline.
  • Saya kucing – Tom.fun(); menggunakan objek yang disebut Tom untuk memanggil fungsi di kelas kucing, yang dikenal sebagai 'menyenangkan'. Objek Tom membawa serta atribut ke fungsi, dan oleh karena itu fungsi mengeluarkan dua kalimat berikut – “Saya kucing”.
  • Saya kucing – alasan yang sama seperti yang disebutkan di atas.

Sekarang setelah Anda memiliki pemahaman tentang bagaimana kelas dan objek bekerja dengan Python, mari kita lihat beberapa metode penting.

2. Metode Diri

Semua metode yang didefinisikan di kelas mana pun diharuskan memiliki parameter tambahan pertama dalam definisi fungsi. Parameter ini tidak diberi nilai apa pun oleh programmer. Namun, ketika metode dipanggil, Python memberikannya sebuah nilai.

Akibatnya, jika Anda mendefinisikan fungsi tanpa argumen, secara teknis fungsi tersebut masih memiliki satu argumen. Ini disebut 'diri' dalam Python. Untuk memahami ini dengan lebih baik, Anda dapat merevisi konsep Pointer Anda di C++ atau merujuknya di Java. Metode self bekerja pada dasarnya dengan cara yang sama.

Untuk memahami ini dengan lebih baik – ketika kita memanggil metode apa pun dari suatu objek, misalnya:

myObject.myMethod(arg1, arg2), Python secara otomatis mengubahnya menjadi myClass.myMethod(myObject, arg1, arg2).

Jadi Anda lihat, objek itu sendiri menjadi argumen pertama dari metode. Inilah tentang diri dalam Python.

3. Metode __init__

Metode ini mirip dengan konstruktor di Java atau C++. Seperti konstruktor, metode init digunakan untuk menginisialisasi status objek. Ini berisi kumpulan instruksi (pernyataan) yang dieksekusi pada saat pembuatan objek. Ketika sebuah objek dipakai untuk suatu kelas, metode init akan secara otomatis menjalankan metode yang diinisialisasi oleh Anda.

Berikut adalah potongan kode untuk menjelaskannya dengan lebih baik:

# Kelas sampel dengan metode init

orang kelas:

# metode init atau konstruktor

def __init__(diri sendiri, nama):

diri.nama = nama

# Metode Sampel

def say_hi(diri):

print('Halo, nama saya', self.name)

p = Orang(“Sam”)

p.say_hi()

Keluaran:

Halo, nama saya Sam

Pelajari kursus analisis data online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Variabel Kelas dan Instance

Variabel instance unik untuk setiap instance, sedangkan variabel kelas adalah untuk metode dan atribut yang dibagikan oleh semua instance kelas. Akibatnya, variabel instan pada dasarnya adalah variabel yang nilainya ditetapkan di dalam konstruktor atau metode dengan diri sendiri. Di sisi lain, variabel kelas adalah mereka yang nilainya ditetapkan dalam kelas.

Baca kode berikut untuk memahami bagaimana variabel instan didefinisikan menggunakan konstruktor (metode init):

kucing kelas:

# Variabel Kelas

hewan = 'kucing'

# Metode atau konstruktor init

def __init__(diri, ras, warna):

# Variabel Instance

self.breed = berkembang biak

diri.warna = warna

# Objek kelas Anjing

Tom = kucing("Persia", "hitam")

Snowy = kucing(“Indie”, “putih”)

print(“Detailnya:')

print('Tom adalah', Tom.hewan)

print('Breed: ', Tom.breed)

print('Warna: ', Tom.warna)

print('\nDetail bersalju:')

print(“Bersalju adalah', Snowy.animal)

print('Breed: ', Snowy.breed)

print('Warna: ', Snowy.color)

Jika Anda mengikuti kode di atas baris demi baris, inilah output yang akan Anda terima:

Keluaran:

Detail Tom:

Tom adalah kucing

Ras: Persia

Warna hitam

Detail bersalju:

Snowy adalah kucing

Breed: Indie

Warna putih

Kesimpulannya

Python adalah bahasa pemrograman yang relatif lebih mudah, terutama untuk pemula. Setelah Anda menguasai dasar-dasarnya, Anda akan siap untuk bekerja dengan berbagai pustaka Python dan memecahkan masalah khusus data. Namun, ingatlah bahwa sementara perjalanan dimulai dari memahami kelas dan objek, Anda juga harus belajar bagaimana bekerja dengan objek, kelas, dan nuansa yang berbeda.

Kami harap artikel ini membantu memperjelas keraguan Anda tentang kelas dan objek dengan Python. Jika Anda memiliki pertanyaan, silakan beri kami komentar di bawah - kami akan segera menghubungi Anda kembali!

Jika Anda mencari perubahan karier dan mencari bantuan profesional – upGrad ada di sini untuk Anda. Lihat Program PG Eksekutif kami dalam Ilmu Data yang ditawarkan bekerja sama dengan IIIT-B . Kenali 14+ bahasa pemrograman dan alat (termasuk Python) sambil juga mendapatkan akses ke lebih dari 30 proyek yang relevan dengan industri. Siswa dari aliran apa pun dapat mendaftar di program ini, asalkan mereka mendapat nilai minimal 50% di program sarjana mereka.

Kami memiliki basis pelajar 85+ negara yang solid, 40.000+ pelajar berbayar secara global, dan 500.000+ profesional yang senang bekerja. Bantuan karir 360 derajat kami, dikombinasikan dengan paparan belajar dan bertukar pikiran dengan siswa global, memungkinkan Anda memanfaatkan pengalaman belajar Anda sebaik mungkin.

Apa itu kelas dan objek dalam Python?

Kelas adalah templat atau cetak biru yang mengikat properti dan fungsi suatu entitas. Dalam Python, kelas kata kunci digunakan untuk mendefinisikan kelas. Semua entitas atau objek yang memiliki atribut serupa dapat ditempatkan di bawah satu kelas dan dapat diakses oleh fungsi anggota.
Objek adalah turunan dari kelas. Setelah kelas dibuat, objek mendapatkan semua informasi dari kelas itu. Itu seperti salinan kelas yang dihormati dengan nilai sebenarnya. Sebuah objek dikategorikan oleh tiga faktor:
Sebuah. Negara
B. Perilaku
C. Identitas

Paradigma pemrograman mana yang diikuti Python?

Ada empat paradigma utama yang dapat dibedakan diikuti oleh Python-berorientasi objek, prosedural, fungsional, dan imperatif. Python sangat mendukung konsep berorientasi objek; namun, ini bukan bahasa pemrograman berorientasi objek murni.
Alasan untuk mendukung berbagai paradigma pemrograman adalah karena hal itu sangat dipengaruhi oleh beberapa skrip seperti CoffeeScript dan bahasa pemrograman berorientasi objek seperti Ruby. Ini juga menggabungkan dengan bahasa seperti R untuk meningkatkan efisiensi dan daya komputasi.
Menjadi bahasa multi-paradigma, Python diyakini sebagai salah satu bahasa yang paling serbaguna. Ini banyak digunakan untuk pengembangan, analisis data, pengikisan web, dan otomatisasi.

Apa pengubah akses di Python?

Mirip dengan bahasa pemrograman berorientasi objek lainnya, kelas dalam Python juga memiliki tiga pengubah akses:
Sebuah. Pengubah Akses Publik : Anggota kelas yang ditentukan sebagai publik dapat langsung diakses oleh fungsi apa pun, yaitu oleh fungsi anggota dan juga fungsi non-anggota. Jika tidak ada penentu akses yang ditentukan maka semua anggota kelas dianggap sebagai anggota publik secara default oleh kompiler.
B. Pengubah Akses Pribadi : Anggota kelas ini disembunyikan dari anggota kelas lainnya. Mereka hanya dapat diakses oleh fungsi anggota kelas di mana mereka didefinisikan.
C. Pengubah Akses Terproteksi : Anggota kelas yang ditetapkan sebagai dilindungi hanya dapat diakses oleh fungsi anggota dari kelas yang sama dan akan menimbulkan kesalahan jika mencoba mengakses di luar kelas. Satu-satunya perbedaan utama antara penentu akses pribadi dan yang dilindungi adalah bahwa anggota yang dilindungi dapat diwarisi sedangkan anggota pribadi tidak dapat diwarisi.