Bagaimana Anda membuat kelas dengan python?

Telah kita bahas pada tutorial sebelumnya, class adalah entitas virtual dan dapat dilihat sebagai blueprint dari sebuah objek. Kelas muncul ketika itu dipakai. Mari kita pahami dengan sebuah contoh

Misalkan kelas adalah prototipe dari sebuah bangunan. Sebuah bangunan berisi semua detail tentang lantai, kamar, pintu, jendela, dll. kita dapat membuat bangunan sebanyak yang kita inginkan, berdasarkan detail ini. Oleh karena itu, bangunan dapat dilihat sebagai sebuah kelas, dan kita dapat membuat banyak objek dari kelas ini

Di sisi lain, objek adalah turunan dari kelas. Proses pembuatan objek bisa disebut instantiation

Di bagian tutorial ini, kita akan membahas membuat kelas dan objek dengan Python. Kami juga akan membahas bagaimana atribut kelas diakses dengan menggunakan objek

Membuat Kelas dengan Python

Dalam Python, class dapat dibuat dengan menggunakan kata kunci class, diikuti dengan nama class. Sintaks untuk membuat kelas diberikan di bawah ini

Sintaksis

Dalam Python, kita harus memperhatikan bahwa setiap kelas diasosiasikan dengan string dokumentasi yang dapat diakses dengan menggunakan. __dokter__. Kelas berisi paket pernyataan termasuk bidang, konstruktor, fungsi, dll. definisi

Perhatikan contoh berikut untuk membuat kelas Karyawan yang berisi dua bidang sebagai id Karyawan, dan nama

Kelas juga berisi fungsi display[], yang digunakan untuk menampilkan informasi Karyawan

Contoh

Di sini, self digunakan sebagai variabel referensi, yang mengacu pada objek kelas saat ini. Itu selalu argumen pertama dalam definisi fungsi. Namun, menggunakan self adalah opsional dalam pemanggilan fungsi

Parameter diri

Self-parameter mengacu pada instance kelas saat ini dan mengakses variabel kelas. Kita bisa menggunakan apa saja selain self, tetapi itu harus menjadi parameter pertama dari fungsi apa pun yang termasuk dalam kelas

Membuat Objek [instance] dengan Python

Suatu kelas perlu dibuat instance-nya jika kita ingin menggunakan atribut kelas di kelas atau metode lain. Kelas dapat dibuat dengan memanggil kelas menggunakan nama kelas

Sintaks untuk membuat instance kelas diberikan di bawah ini

Contoh berikut membuat turunan dari kelas Karyawan yang didefinisikan dalam contoh di atas

Contoh

Keluaran

Dalam kode di atas, kami telah membuat kelas Karyawan yang memiliki dua atribut bernama id dan nama dan memberikan nilai kepada mereka. Kita dapat mengamati bahwa kita telah melewatkan diri sebagai parameter dalam fungsi tampilan. Ini digunakan untuk merujuk ke atribut kelas yang sama

Kami telah membuat objek instance baru bernama emp. Dengan menggunakannya, kita dapat mengakses atribut kelas

Hapus Objek

Kita dapat menghapus properti objek atau objek itu sendiri dengan menggunakan kata kunci del. Perhatikan contoh berikut

Dalam tutorial ini, kita akan belajar cara membuat dan bekerja dengan kelas Python. Secara khusus, kita akan membahas apa itu kelas Python, mengapa kita menggunakannya, jenis kelas apa yang ada, cara mendefinisikan kelas dengan Python dan mendeklarasikan/menyesuaikan objek kelas, dan banyak hal lainnya

Apa itu Kelas di Python?

Karena Python adalah bahasa pemrograman berorientasi objek [OOP], semua yang ada di dalamnya mewakili objek. Daftar, tupel, set, kamus, fungsi, dll. adalah semua contoh objek Python. Secara umum, objek Python adalah entitas item data dan metode yang menjelaskan perilaku item tersebut

Sebaliknya, kelas Python adalah templat, atau konstruktor, yang digunakan untuk membuat objek Python. Kita dapat menganggapnya sebagai resep kuliner, di mana semua bahan dan jumlahnya, termasuk kemungkinan kisarannya, dicantumkan, dan seluruh proses memasak dijelaskan langkah demi langkah. Dalam hal ini, kita dapat membandingkan resep kue dengan kelas, dan kue yang dimasak mengikuti resep tersebut dengan objek [mis. e. , turunan dari kelas itu]. Menggunakan resep [kelas] yang sama, kita dapat membuat banyak kue [objek]. Inilah ruang lingkup pembuatan kelas dengan Python. untuk mendefinisikan elemen data dan aturan yang menetapkan bagaimana elemen ini dapat berinteraksi dan mengubah statusnya — lalu menggunakan prototipe ini untuk membuat berbagai objek [instance kelas] dengan cara yang telah ditentukan sebelumnya, alih-alih membuatnya dari awal setiap saat

Jenis Kelas di Python

Dimulai dengan Python 3, istilah kelas dan tipe untuk objek asli Python identik, artinya untuk objek apa pun

a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
8, nilai
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
9 dan






0 adalah sama. Mari kita konfirmasi ini

a = 5
b = 'Hello World'
c = [1, 2, 3]

for var in [a, b, c]:
    print[type[var]==var.__class__]
True
True
True

Ada beberapa kelas bawaan [tipe data] di Python. integer, float, string, Boolean, list, range, tuple, set, frozenset, dictionary, dan beberapa lainnya, yang jarang digunakan

a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]






Fungsi bawaan dan yang ditentukan pengguna memiliki kelas/jenisnya sendiri

def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
_

Saat kita menggunakan pustaka Python tambahan, seperti panda atau NumPy, kita bisa membuat objek dari kelas/tipe yang hanya terkait dengan pustaka tersebut

import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]


Namun, manfaat sebenarnya dari kelas di Python adalah kita dapat membuatnya sendiri dan menggunakannya untuk menyelesaikan tugas tertentu. Mari kita lihat caranya

Mendefinisikan Kelas dengan Python

Untuk mendefinisikan kelas Python, gunakan kata kunci







_1 diikuti dengan nama kelas baru dan titik dua. Mari buat kelas kosong yang sangat sederhana

class MyClass:
    pass

Perhatikan konvensi penamaan Python untuk kelas. gunakan gaya case unta, di mana setiap kata dimulai dengan huruf kapital, dan kata-kata tersebut ditulis bersamaan, tanpa pemisah. Konvensi lain yang sangat direkomendasikan adalah menambahkan docstring. string pertama di dalam konstruktor kelas yang menjelaskan secara singkat untuk apa kelas itu. Mari tambahkan docstring ke kelas kita

class MyClass:
    '''This is a new class'''
    pass

Kode di atas membuat objek kelas baru bernama







2. Catatan tambahan yang menarik di sini adalah, karena setiap objek di Python terkait dengan beberapa kelas [tipe], kelas/tipe kelas baru kita [serta semua kelas Python lainnya, termasuk kelas bawaan] adalah tipe

True
True
True
0
True
True
True
1

Mari kita kembali ke topik utama. Secara umum, saat mendefinisikan kelas baru, kami juga membuat







3 baru yang berisi semua atribut [variabel dan metode] yang terkait dengan kelas tersebut. Ada juga beberapa atribut dengan arti khusus, yang dimulai dan diakhiri dengan garis bawah ganda






4 dan terkait dengan semua kelas. Misalnya, atribut






_5 mengembalikan dokumen dari kelas tersebut, atau






6, jika tidak ada dokumen yang ditambahkan

Untuk mengakses atribut kelas, gunakan operator titik [







7].

True
True
True
_2

Ini adalah kelas lampu lalu lintas

True
True
True
_3

Fungsi







_8 yang didefinisikan di dalam kelas






9 di atas adalah contoh metode kelas, sedangkan variabel
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
0 adalah variabel kelas

Mendeklarasikan Objek Kelas dengan Python

Kita dapat menetapkan objek kelas ke variabel, membuat objek [instance] baru dari kelas itu. Kami menyebutnya proses instantiation. Objek kelas yang ditugaskan ke variabel adalah salinan dari kelas itu dengan nilai nyata yang membedakan objek ini dari yang lain dari kelas yang sama. Kembali ke contoh kuliner kita, ini adalah kue yang terbuat dari 370g tepung [ketika kisaran resepnya adalah 350-400] dan dengan hiasan manisan buah di atasnya, bukan cokelat.

Objek kelas memiliki properti berikut

  • negara - data [variabel] dari objek
  • perilaku - metode objek
  • identitas - nama unik dari objek

Mari kita tetapkan objek kelas dari kelas







_9 ke variabel
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
2

True
True
True
_4

Ini adalah kelas lampu lalu lintas

True
True
True
_5

Kami membuat instance objek baru dari kelas







_9 yang disebut
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
2 dan mengakses atributnya menggunakan nama objek [identitas]. Perhatikan bahwa kelas objek baru berbeda dari kelas kelas itu sendiri
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
5 bukan
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
6]. Selain itu, atribut
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
_7 mengembalikan nilai yang berbeda untuk instance kelas dan kelas itu sendiri. objek metode dalam kasus pertama dan objek fungsi dalam kasus kedua. Memanggil metode






8 pada objek
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
2 [dengan menentukan

0] memberikan "Go," yang, untuk saat ini, satu-satunya output yang mungkin dari metode kelas






9 ini

Hal penting lainnya yang perlu diperhatikan dalam kode di atas adalah kita menggunakan parameter


2 dalam definisi fungsi di dalam kelas. Namun, saat kami memanggil metode






_8 pada objek
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
2, kami tidak menambahkan argumen apa pun. Beginilah cara kerja parameter

_2. setiap kali instance kelas memanggil salah satu metodenya, objek itu sendiri diteruskan sebagai argumen pertama. Dengan kata lain,

_0 setara dengan

7. Secara lebih umum, ketika kita mendefinisikan metode kelas Python dengan beberapa parameter, membuat objek kelas ini, dan memanggil metode itu pada objek, Python mengubahnya di bawah tenda sesuai dengan skema berikut


_8 ➡️

9

Oleh karena itu, setiap metode kelas Python harus memiliki parameter pertama tambahan yang mewakili objek itu sendiri, meskipun tidak memiliki parameter lain. Dianjurkan untuk menyebutnya


_2, menurut konvensi penamaan Python

Mari buat kelas







_9 kita lebih bermakna dan, pada saat yang sama, perkenalkan metode khusus baru

True
True
True
6
True
True
True
7

Kami menggunakan metode

import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]
2 [alias
import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]
3] untuk menginisialisasi status objek [i. e. , untuk menetapkan semua variabel kelas pada saat pembuatan instance objek]. Dalam hal ini, kami membuat kelas Python baru






9 dengan dua metode.
import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]
5 untuk menginisialisasi warna lampu lalu lintas dan






8 untuk menyarankan tindakan yang sesuai berdasarkan warna lampu lalu lintas

Membuat dan Menghapus Atribut Objek dengan Python

Dimungkinkan untuk menambahkan atribut baru ke objek kelas setelah instantiasinya

True
True
True
_8
True
True
True
9
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
0

Pada kode di atas, kita membuat atribut baru

import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]
7 untuk objek
import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]
8 dan menugaskannya ke "red. " Karena atribut ini tidak ada dalam definisi
import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]
_9, saat kami mencoba memeriksanya untuk objek lain [


0], kami mendapatkan


1

Kita dapat menghapus atribut apa pun dari objek kelas menggunakan pernyataan



2

a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
1
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
2
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
3
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
4
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
5

Variabel Kelas dan Instance

Perbedaan antara kelas dan variabel instan adalah di mana nilainya diberikan dalam definisi kelas, yang juga menentukan ruang lingkup variabel

  • Variabel kelas. ditugaskan dalam deklarasi kelas tetapi di luar definisi metode apa pun [termasuk konstruktor kelas]. Mereka terkait dengan semua instance objek dari kelas itu
  • Variabel instan. ditugaskan di dalam metode kelas atau definisi konstruktor. Mereka unik untuk setiap instance objek dari kelas itu
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
6
a = 5.2
b = 'Hello World'
c = [1, 2, 3]
d = False
e = range[4]
f = [1, 2, 3]
g = complex[1, -1]

for var in [a, b, c, d, e, f, g]:
    print[var.__class__]
7

Untuk semua instance kelas di atas, kita memiliki nilai yang sama dari variabel



3, yang merupakan variabel kelas. Variabel
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
_0 ditugaskan di dalam konstruktor kelas, dan variabel
import pandas as pd
import numpy as np

s = pd.Series[{'a': 1, 'b': 2}]
df = pd.DataFrame[s]
arr = np.array[[1, 2, 3]]

print[s.__class__]
print[df.__class__]
print[arr.__class__]
7 dihitung di dalam metode kelas






8 berdasarkan nilai
def my_func[]:
    pass

print[my_func.__class__]
print[min.__class__]
0 untuk setiap instance kelas. Keduanya adalah variabel instan

Kesimpulan

Singkatnya, kita telah membahas banyak aspek dalam membuat dan menggunakan kelas Python

  • Apa itu kelas Python dan kapan menggunakannya
  • Berbagai jenis kelas bawaan Python
  • Hubungan antara kelas istilah dan tipe untuk objek Python
  • Cara mendefinisikan kelas baru dengan Python
  • Konvensi penamaan python untuk kelas
  • Apa itu atribut kelas dan bagaimana cara mengaksesnya
  • Cara membuat instance objek kelas
  • Properti dari objek kelas
  • Apa parameter
    
    
    _2 itu dan bagaimana cara kerjanya
  • Properti konstruktor kelas
  • Cara mengakses, membuat, atau menghapus atribut objek kelas
  • Perbedaan antara kelas dan variabel instan

Sekarang Anda memiliki toolkit lengkap untuk mulai bekerja dengan kelas-kelas di Python

Pelajari Python

Tentang Penulis

Elena Kosourova

Elena adalah ahli geologi perminyakan dan manajer komunitas di Dataquest. Anda dapat menemukannya mengobrol online dengan penggemar data dan menulis tutorial tentang topik ilmu data. Temukan dia di LinkedIn

Bagaimana Anda membuat kelas dengan Python?

Kelas dan Objek Python .
Buat Kelas. Untuk membuat kelas, gunakan kata kunci class. .
Buat Objek. Sekarang kita bisa menggunakan class bernama MyClass untuk membuat objek. .
Parameter diri. .
Ubah Properti Objek. .
Hapus Properti Objek. .
Hapus Objek

Bagaimana kelas dibuat dengan Python berikan contoh?

Dengan Python, class dapat dibuat dengan menggunakan kata kunci class, diikuti dengan nama class . Sintaks untuk membuat kelas diberikan di bawah ini. Dalam Python, kita harus memperhatikan bahwa setiap kelas diasosiasikan dengan string dokumentasi yang dapat diakses dengan menggunakan

Kapan membuat kelas dengan Python?

Sebagai aturan praktis, ketika Anda memiliki kumpulan data dengan struktur tertentu dan Anda ingin melakukan metode tertentu di dalamnya , . Namun, itu hanya valid jika Anda menggunakan beberapa struktur data dalam kode Anda. Jika seluruh kode Anda tidak akan pernah berurusan dengan lebih dari satu struktur.

Apa itu __ init __ di Python?

Metode __init__ adalah setara dengan Python dari konstruktor C++ dalam pendekatan berorientasi objek . Fungsi __init__ dipanggil setiap kali objek dibuat dari kelas. Metode __init__ memungkinkan kelas menginisialisasi atribut objek dan tidak melayani tujuan lain. Ini hanya digunakan di dalam kelas.

Bài mới nhất

Chủ Đề