Πώς να δημιουργήσετε κλάσεις και αντικείμενα Python
Οι κλάσεις Python είναι σαν σχέδια κατασκευής ή πρότυπα. Μπορείτε να τις χρησιμοποιήσετε για να γράψετε επαναχρησιμοποιήσιμο κώδικα με τη μορφή χαρακτηριστικών και μεθόδων κλάσης.
Τι είναι οι κλάσεις Python;
Μια κλάση είναι μια αφηρημένη έννοια που περιγράφει τα χαρακτηριστικά και τις μεθόδους των αντικειμένων. Μια κλάση Python λειτουργεί ως πρότυπο για τη δημιουργία συγκεκριμένων αντικειμένων, τα οποία είναι περιπτώσεις της κλάσης. Για παράδειγμα, μια κλάση Car θα μπορούσε να ορίσει χαρακτηριστικά όπως το χρώμα και τη μάρκα, μαζί με μεθόδους όπως __drive__ ή __brake__.
Ενώ κάθε αντικείμενο μιας κλάσης μπορεί να έχει μοναδικές τιμές χαρακτηριστικών, τα αντικείμενα της ίδιας κλάσης μοιράζονται μεθόδους και βασικό πλαίσιο συμπεριφοράς με άλλες παρουσίες στην κλάση. Για παράδειγμα, το αντικείμενο my_car της κλάσης Car μπορεί να δημιουργηθεί με το χρώμα __red__ και τη μάρκα __Toyota__, αλλά οι μέθοδοι __drive__ και __brake__ θα μεταφερθούν αυτόματα στην παρουσία.
Πώς να δημιουργήσετε κλάσεις Python
Στην Python, ορίζετε τις κλάσεις χρησιμοποιώντας τη λέξη-κλειδί class.
class MyClass:
# Constructor method called when creating an object
def __init__(self, attribute1, attribute2):
self.attribute1 = attribute1
self.attribute2 = attribute2
# Method defined within the class
def my_method(self):
return f"Attribute 1: {self.attribute1}, Attribute 2: {self.attribute2}"pythonΟ παραπάνω κώδικας ορίζει μια κλάση με το όνομα MyClass. Έχει έναν κατασκευαστή __init__, ο οποίος καλείται κατά τη δημιουργία του αντικειμένου, αρχικοποιώντας δύο χαρακτηριστικά: attribute1 και attribute2. Η μέθοδος my_method επιστρέφει μια μορφοποιημένη συμβολοσειρά που περιέχει τις τιμές αυτών των χαρακτηριστικών.
Για να δημιουργήσετε ένα αντικείμενο από αυτήν την κλάση, χρησιμοποιήστε το όνομα της κλάσης ακολουθούμενο από αγκύλες:
object1 = MyClass("Value 1", "Value 2")
# Calling a method of the object
result = object1.my_method()pythonΠαραδείγματα χρήσης των κλάσεων Python
Οι κλάσεις Python μπορούν να δημιουργήσουν σύνθετα συστήματα και σχέσεις μεταξύ διαφορετικών οντοτήτων. Στις επόμενες ενότητες, θα σας δείξουμε πώς να εργάζεστε με τις κλάσεις Python.
__str()__ λειτουργία
Η συνάρτηση __str__() στη Python είναι μια ειδική μέθοδος που μπορείτε να ορίσετε μέσα στις κλάσεις της Python. Όταν υλοποιείται, επιστρέφει μια συμβολοσειρά που αντιπροσωπεύει μια φιλική προς τον χρήστη αναπαράσταση ενός αντικειμένου. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση str() απευθείας σε ένα αντικείμενο ή να τη συνδυάσετε με μια δήλωση print().
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"Name: {self.name}, Age: {self.age}"
person1 = Person("Alice", 30)
print(person1) # Output: Name: Alice, Age: 30pythonΣτον παραπάνω κώδικα, η μέθοδος __str__() μέσα στην κλάση Person δημιουργεί μια μορφοποιημένη συμβολοσειρά που εμφανίζει το όνομα και την ηλικία ενός ατόμου. Όταν εκτελείται print(person1), καλεί αυτόματα τη μέθοδο __str__() του αντικειμένου person1 και εμφανίζει τη συμβολοσειρά που επιστρέφεται από τη μέθοδο.
Ορισμός μεθόδων σε κλάσεις Python
Στην Python, μπορείτε να ορίσετε μεθόδους μέσα σε μια κλάση για να εκτελέσετε λειτουργίες στα αντικείμενα της κλάσης. Αυτές οι μέθοδοι μπορούν στη συνέχεια να κληθούν από τα αντικείμενα που έχουν δημιουργηθεί.
class Rectangle:
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
def perimeter(self):
return 2 * (self.length + self.width)
# Creating an object of the class
my_rectangle = Rectangle(5, 10)
# Calling methods of the object
area = my_rectangle.area()
perimeter = my_rectangle.perimeter()
# Printing the calculated values
print("Area =", area) # Output: Area = 50
print("Perimeter =", perimeter) # Output: Perimeter = 30pythonΣτο παράδειγμα Python, ορίζουμε την κλάση Rectangle με δύο μεθόδους area() και perimeter(), οι οποίες υπολογίζουν το εμβαδόν και την περίμετρο του ορθογωνίου χρησιμοποιώντας το μήκος και το πλάτος που παρέχονται κατά την αρχικοποίηση του αντικειμένου. Στην Python, self σε μια μέθοδο κλάσης λειτουργεί ως αναφορά στο αντικείμενο στο οποίο εφαρμόζεται η μέθοδος.
Το αντικείμενο my_rectangle δημιουργείται με μήκος 5 και πλάτος 10. Στη συνέχεια, καλούμε τις μεθόδους area() και perimeter() σε αυτό το αντικείμενο για να υπολογίσουμε τις αντίστοιχες τιμές.
Αλλαγή των ιδιοτήτων των αντικειμένων
Ο τελεστής . dot μπορεί να χρησιμοποιηθεί για την πρόσβαση σε συγκεκριμένα χαρακτηριστικά του αντικειμένου και την ενημέρωση των τιμών τους. Μπορείτε να εκχωρήσετε νέες τιμές απευθείας στο χαρακτηριστικό.
person1.name = "Sarah"
person1.age = 35pythonΗ λέξη-κλειδί del χρησιμοποιείται για τη διαγραφή των ιδιοτήτων ενός αντικειμένου.
del person1.namepythonΝα θυμάστε ότι οι μεταβλητές της στιγμής διαφέρουν από τις μεταβλητές της κλάσης Python. Οι μεταβλητές της κλάσης ορίζονται εκτός του κατασκευαστή και μπορούν να αλλάξουν μόνο χρησιμοποιώντας το όνομα της κλάσης.