Junior — Middle
Πώς μπορεί κανείς να καλέσει μια στατική μέθοδο μέσα σε μια κλάση ή εκτός του πλαισίου της;
sobes.tech AI
Απάντηση από AI
Στην Python, η στατική μέθοδος δηλώνεται με τον διακοσμητή @staticmethod. Μπορεί να κληθεί τόσο μέσα όσο και έξω από την κλάση, χρησιμοποιώντας το όνομα της κλάσης ή ένα στιγμιότυπο.
Παράδειγμα:
class ΗΚλάσηΜου:
@staticmethod
def χαιρετισμός(όνομα):
return f"Γειά σου, {όνομα}!"
# Κλήση μέσα στην κλάση (π.χ. από μια άλλη μέθοδο)
class ΗΚλάσηΜου:
@staticmethod
def χαιρετισμός(όνομα):
return f"Γειά σου, {όνομα}!"
def καλωσόρισμα(self):
return ΗΚλάσηΜου.χαιρετισμός("Αλίκη")
# Κλήση έξω από την κλάση
print(ΗΚλάσηΜου.χαιρετισμός("Bob"))
obj = ΗΚλάσηΜου()
print(obj.χαιρετισμός("Charlie")) # λειτουργεί επίσης, αλλά προτιμάται η κλήση μέσω της κλάσης
Έτσι, η στατική μέθοδος δεν εξαρτάται από ένα στιγμιότυπο και δεν δέχεται το παράμετρο self.