Python adalah bahasa berorientasi objek dan hampir setiap entitas di Python adalah objek, yang berarti bahwa pemrogram secara ekstensif menggunakan kelas dan objek saat membuat kode dengan Python. Objek dalam Python pada dasarnya adalah enkapsulasi variabel dan fungsi Python yang mereka dapatkan dari kelas
Dalam modul ini, kita akan mempelajari setiap aspek kelas dan objek di Python dengan urutan sebagai berikut
Jadi, tanpa penundaan lebih lanjut, mari kita mulai
Tonton video ini di "Kelas dan Objek Python"
Ikuti Kursus Python Online paling profesional di Toronto untuk karier bintang sekarang
Apa itu Objek dengan Python?
Python adalah bahasa pemrograman yang berfokus pada pemrograman berorientasi objek. Di Python, hampir semuanya adalah objek. Kita dapat memeriksa apakah python adalah objek menggunakan type(). Itu hanyalah kumpulan variabel dan fungsi Python. Ada berbagai jenis objek di Python seperti Daftar, kamus, file, set, string, dll. Sebuah objek didefinisikan oleh kelasnya. Misalnya, variabel bilangan bulat adalah anggota dari kelas bilangan bulat. Objek adalah entitas fisik. Sifat-sifat suatu objek adalah sebagai berikut. Status, Identitas, dan perilaku adalah tiga properti kunci dari objek
Definisi kelas Python hanyalah entitas logis yang berperilaku sebagai prototipe atau templat untuk membuat objek. Kelas Python menyediakan metode yang dapat digunakan untuk mengubah status objek. Mereka juga menentukan kualitas yang mungkin dimiliki suatu objek
Variabel Kelas Python
Semua instance objek kelas berbagi variabel kelas Python. Ketika kelas sedang dibuat, variabel didefinisikan. Mereka tidak didefinisikan dalam salah satu metode kelas
Variabel dan fungsi didefinisikan di dalam kelas dan diakses menggunakan objek. Variabel dan fungsi ini secara kolektif dikenal sebagai atribut
Contoh Kelas dan Objek Python
Mari kita ambil contoh untuk memahami konsep kelas dan objek Python. Kita dapat menganggap suatu objek sebagai objek sehari-hari biasa, katakanlah, sebuah mobil. Sekarang seperti dibahas di atas, kita tahu bahwa sebuah kelas memiliki data dan fungsi yang didefinisikan di dalamnya, dan semua data dan fungsi ini masing-masing dapat dianggap sebagai fitur dan tindakan objek. Artinya, fitur (data) mobil (objek) tersebut adalah warna, harga, jumlah pintu, dll. Tindakan (fungsi) mobil (objek) adalah kecepatan, penerapan rem, dll. Beberapa objek dengan data dan fungsi berbeda yang terkait dengannya dapat dibuat menggunakan kelas seperti yang digambarkan oleh diagram berikut
Keuntungan Menggunakan Kelas di Python
- Kelas menyediakan cara mudah untuk menyatukan anggota data dan metode di satu tempat yang membantu menjaga program lebih teratur
- Menggunakan kelas juga menyediakan fungsionalitas lain dari paradigma pemrograman berorientasi objek ini, yaitu pewarisan
- Kelas juga membantu mengesampingkan operator standar apa pun
- Menggunakan kelas memberikan kemampuan untuk menggunakan kembali kode yang membuat program lebih efisien
- Mengelompokkan fungsi terkait dan menyimpannya di satu tempat (di dalam kelas) memberikan struktur yang bersih pada kode yang meningkatkan keterbacaan program
Menjadi Programmer Python Profesional dengan Pelatihan Python lengkap di Singapura ini
Sama seperti fungsi di Python didefinisikan menggunakan kata kunci def, kelas di Python juga didefinisikan menggunakan kata kunci class, diikuti dengan nama kelas
Mirip dengan fungsi, kami juga menggunakan docstring di kelas. Meskipun penggunaan docstrings tidak wajib, tetap disarankan karena dianggap praktik yang baik untuk memasukkan deskripsi singkat tentang kelas untuk meningkatkan keterbacaan dan pemahaman kode.
Contoh berikut mengilustrasikan cara mendefinisikan kelas dengan python
class IntellipaatClass: “Class statements and methods here'”Pernyataan create class akan membuat ruang nama lokal untuk semua atribut termasuk atribut khusus yang dimulai dengan garis bawah ganda (__), misalnya, __init__() dan __doc__(). Segera setelah kelas dibuat, objek kelas juga dibuat yang digunakan untuk mengakses atribut di kelas, mari kita pahami ini dengan bantuan contoh kelas Python
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _Keluaran
Welcome to Intellipaat 5Membuat Objek dengan Python
Kita melihat di topik sebelumnya bahwa objek kelas dengan nama yang sama dengan kelas digunakan untuk mengakses atribut. Itu tidak semua objek kelas digunakan untuk;
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’)#creating a new object named object1 using class object object1 = IntellipaatClass()Keluaran
Kita harus memperhatikan bahwa kita menggunakan parameter bernama self saat mendefinisikan fungsi di kelas, tetapi kita tidak benar-benar memberikan nilai apa pun saat memanggil fungsi tersebut. Itu karena, ketika sebuah fungsi dipanggil menggunakan objek, objek itu sendiri akan diteruskan secara otomatis ke fungsi sebagai argumen, jadi objek1. function1() sama dengan object1. fungsi1(objek1). Itu sebabnya argumen pertama dalam fungsi haruslah objek itu sendiri, yang secara konvensional disebut 'diri'. Itu juga bisa dinamai sesuatu yang lain, tetapi menamainya 'diri' adalah konvensi dan dianggap sebagai praktik yang baik untuk mengikuti konvensi ini.
Memodifikasi dan Menghapus Objek
Anda dapat memodifikasi objek seperti ini
Person.age=20Anda dapat menghapus objek dengan menggunakan kata kunci del
Misalnya,
del objectName _Ikuti Pelatihan Python berorientasi pekerjaan yang mendalam ini di Hyderabad sekarang
Jenis Kelas di Python
Ada berbagai jenis kelas dalam Python yang beberapa di antaranya adalah sebagai berikut
- Kelas Abstrak Python
- Kelas Python Beton
- Kelas Parsial Python
Pelajari dan kuasai Kelas dalam Python melalui Kursus Python Online kami
Kelas abstrak adalah kelas yang berisi satu atau lebih metode abstrak. Istilah "metode abstrak" mengacu pada metode yang memiliki deklarasi tetapi tidak ada implementasi. Saat bekerja dengan basis kode yang besar, mungkin sulit untuk mengingat semua kelas. Saat itulah kelas Abstrak Python dapat digunakan. Python, tidak seperti kebanyakan bahasa tingkat tinggi, tidak memiliki kelas abstrak secara default
Kelas dapat didefinisikan sebagai kelas abstrak menggunakan abc. ABC, dan metode dapat didefinisikan sebagai metode abstrak menggunakan abc. abstractmethod. Singkatan dari kelas dasar abstrak adalah ABC. Modul ABC, yang menyediakan dasar untuk membangun kelas Basis Abstrak, harus diimpor. Modul ABC beroperasi dengan mendekorasi metode kelas dasar sebagai abstrak. Itu menginstal kelas beton sebagai implementasi basis abstrak
Contoh
From abc import ABC, abstractmethod Class AbstractClassName(ABC): @abstract method def abstract_method_name(self): PassKelas beton hanya memiliki metode konkret tetapi kelas abstrak dapat memiliki metode konkret dan metode abstrak. Kelas beton mengimplementasikan metode abstrak, tetapi kelas dasar abstrak juga dapat melakukannya dengan menginisiasi metode melalui super()
Kelas parsial adalah salah satu kelas python. Kita dapat menggunakannya untuk mengembangkan fungsi baru yang hanya menerapkan sebagian dari pernyataan dan kata kunci yang Anda berikan padanya. Anda dapat menggunakan parsial untuk membekukan sebagian pernyataan dan/atau kata kunci fungsi Anda, yang menghasilkan pembuatan objek baru. Kita bisa menggunakan modul Functools untuk mengimplementasikan kelas ini
Dapatkan 100% Kenaikan
Kuasai Keterampilan yang Paling Banyak Diminta Sekarang
Objek Berkas Python
Objek file Python menawarkan akses ke dan manipulasi file melalui metode dan properti. Kita dapat membaca dan menulis file apapun dengan menggunakan objek file
Python menghasilkan objek file kapan saja kita membuka file untuk melakukan operasi apa pun padanya. Kita bisa menggunakan fungsi bawaan Python, seperti open() dan os. popen, untuk menghasilkan objek file ()
Ketika objek file disalahgunakan atau tindakan file gagal karena masalah terkait I/O, pengecualian IOError dilempar
Objek file dapat diklasifikasikan ke dalam tiga kategori, file teks, file biner, dan file mentah
Fungsi The_init_() dengan Python
Di kelas python, metode “__init__” dicadangkan. Ini secara otomatis dipanggil saat Anda membuat objek menggunakan kelas dan digunakan untuk menginisialisasi variabel kelas. Ini setara dengan konstruktor
- Seperti metode lainnya, metode init dimulai dengan kata kunci “def”
- "self" adalah parameter pertama dalam metode ini sama seperti metode lain meskipun dalam kasus init, "self" mengacu pada objek yang baru dibuat tidak seperti metode lain yang mengacu pada objek atau instance saat ini yang terkait dengan metode tertentu
- Parameter tambahan dapat ditambahkan
Contoh berikut mengilustrasikan cara menggunakan fungsi __init__()
class IntellipaatClass: def __init__(self, course): self.course = course def display(self): print(self.course) object1 = IntellipaatClass("Python") object1.display() Output: Python _Dalam contoh di atas, fungsi init berperilaku sebagai konstruktor dan dipanggil secara otomatis segera setelah pernyataan 'object1 = IntellipaatClass("Python")' dijalankan. Karena ini adalah fungsi di dalam kelas, argumen pertama yang diteruskan di dalamnya adalah objek itu sendiri yang ditangkap dalam parameter 'self'. Parameter kedua, i. e. , tentu saja, digunakan untuk menangkap argumen kedua yang melewati objek, yaitu 'Python'. Dan kemudian, kami telah menginisialisasi kursus variabel di dalam fungsi init. Selanjutnya, kami telah mendefinisikan fungsi lain bernama 'tampilan' untuk mencetak nilai variabel. Fungsi ini disebut menggunakan objek1
Catatan. Jangan lupa untuk memberikan lekukan yang tepat pada kode di atas
Warisan Python dan Jenisnya
Sebagai hasil dari bahasa pemrograman berorientasi objek, Python juga menggunakan warisan. Kemampuan suatu kelas untuk mewarisi sifat-sifat kelas lain dikenal sebagai pewarisan. Kelas yang mewarisi properti biasanya disebut subclass atau kelas turunan. Dan, kelas yang diwariskan dikenal sebagai kelas super atau kelas dasar
Warisan menyediakan penggunaan kembali kode karena kita dapat menggunakan kelas yang ada dan propertinya daripada membuat kelas dari awal dengan properti yang sama
class derived_Class_Name (base class): _Contoh
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _0Keluaran
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _1Ada berbagai bentuk pewarisan tergantung pada struktur pewarisan yang terjadi antara kelas turunan dan kelas dasar di Python. Mari kita bahas masing-masing secara individual
- Warisan tunggal. Jenis pewarisan ketika sebuah kelas mewarisi hanya satu kelas dasar dikenal sebagai pewarisan tunggal, seperti yang kita lihat pada contoh di atas
- Warisan berganda. Ketika sebuah kelas mewarisi beberapa kelas dasar, itu dikenal sebagai pewarisan berganda. Tidak seperti bahasa seperti Java, Python sepenuhnya mendukung pewarisan berganda. Semua kelas dasar disebutkan di dalam tanda kurung sebagai daftar yang dipisahkan koma
Contoh
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _2Keluaran
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _3- Warisan bertingkat. Ketika sebuah kelas mewarisi kelas dasar dan kemudian kelas lain mewarisi kelas yang diturunkan sebelumnya, membentuk struktur kelas 'induk, anak, dan cucu', maka itu dikenal sebagai pewarisan bertingkat.
Keluaran
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _5- Warisan hierarkis. Ketika hanya ada satu kelas dasar yang diwarisi oleh beberapa kelas turunan, itu dikenal sebagai pewarisan hierarkis
- Warisan hibrida. Warisan hibrida adalah ketika ada kombinasi dari jenis warisan yang disebutkan di atas, yaitu perpaduan lebih dari satu jenis warisan
Kami memiliki Kursus Python profesional yang sempurna di Bangalore untuk Anda
Atribut Pribadi Kelas dengan Python
Saat mengimplementasikan pewarisan, ada beberapa kasus di mana kita tidak ingin semua atribut kelas diwarisi oleh kelas turunan. Dalam kasus tersebut, kita dapat membuat atribut tersebut menjadi anggota pribadi dari kelas dasar. Kita cukup melakukan ini dengan menambahkan dua garis bawah (__) sebelum nama variabel
Contoh
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _6Ketika blok kode di atas dijalankan, itu akan memberikan kesalahan berikut
Keluaran
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _7Karena y adalah variabel privat di kelas dasar, kelas turunan tidak dapat mengaksesnya
Polimorfisme berarti memiliki banyak bentuk. Polimorfisme memungkinkan penggunaan satu antarmuka dengan tipe data Python yang berbeda, kelas yang berbeda, atau bahkan jumlah input yang berbeda
Polimorfisme terdiri dari dua jenis
- Polimorfisme run-time
- Polimorfisme waktu kompilasi
Polimorfisme run-time
Polimorfisme run-time adalah proses di mana panggilan ke metode yang diganti diselesaikan pada saat run-time. Dalam Python, kami menerapkan polimorfisme run-time melalui penggantian metode
Pengesampingan metode memungkinkan kita untuk mengubah penerapan metode di kelas anak yang didefinisikan di kelas induk
Untuk mengganti metode, kondisi berikut harus dipenuhi
- Harus ada warisan. Kelas anak harus diturunkan dari kelas induk
- Metode yang kita definisikan ulang harus memiliki jumlah parameter yang sama dengan metode di kelas induk
Contoh
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _8Keluaran
class IntellipaatClass: a = 5 def function1(self): print(‘Welcome to Intellipaat’) #accessing attributes using the class object of same name IntellipaatClass.function(1) print(IntellipaatClass.a) _9Polimorfisme waktu kompilasi
Polimorfisme waktu kompilasi adalah proses di mana panggilan ke metode diselesaikan pada saat kompilasi. Kami menerapkan polimorfisme waktu kompilasi melalui kelebihan metode
Dengan menggunakan kelebihan metode, Anda dapat mengimplementasikan fungsi kelas yang sama dengan parameter yang berbeda. Python tidak mendukung polimorfisme waktu kompilasi tetapi ada solusi seperti contoh di bawah ini
Contoh
Welcome to Intellipaat 5 0Keluaran
Welcome to Intellipaat 5 1Objek yang Dapat Diubah dan Tidak Dapat Diubah dengan Python
Objek yang dapat berubah adalah objek yang dapat diubah yang dapat dimodifikasi setelah dibuat. Daftar, dict, set, dan array byte semuanya adalah objek yang bisa berubah
Objek yang tidak dapat diubah adalah objek yang statusnya tidak dapat diubah setelah dibuat. Int, float, complex, string Python, tuple, set beku, dan byte tidak dapat diubah
Python menangani objek yang bisa berubah dan tidak berubah dengan cara yang berbeda. Objek yang dapat diubah sangat berguna dalam skenario di mana ada kebutuhan untuk mengubah ukuran objek. Objek yang tidak dapat diubah digunakan saat Anda ingin objek yang Anda buat selalu tetap sama seperti saat dibuat
Dengan ini, kita sampai pada akhir modul ini di Tutorial Python. Nah, jika Anda ingin tahu bagaimana python digunakan untuk data science, Anda bisa membaca blog ini di tutorial Python Data Science
Selanjutnya, lihat penawaran kami untuk Kursus Sertifikasi Python dan lihat juga pertanyaan wawancara Python yang sedang tren yang disiapkan oleh pakar industri