Python-ы класс бол объект хандалтат программчлалын үндсэн нэгж юм. Класс нь объектуудын төлөв (Attribute) ба үйлдлүүдийг (Action) тодорхойлдог. Классыг тодорхойлохдоо class түлхүүр үгийг ашиглана. Класс дотор хувьсагчид ба функцуудыг тодорхойлж болно.
Доорх жишээгээр Python-д хэрхэн класс тодорхойлохыг тайлбарлая.
Класс тодорхойлох
Алхам 1: Класс үүсгэх
class Dog:
# Конструктор метод (объект үүсгэх үед дуудагдана)
def __init__(self, name, age):
self.name = name # Объектын төлөв буюу Attribute
self.age = age # Объектын төлөв буюу Attribute
# Объектын үйлдэл (Action) буюу метод
def bark(self):
return f"{self.name} is barking."
def get_age(self):
return f"{self.name} is {self.age} years old."Алхам 2: Объект үүсгэх
my_dog = Dog("Buddy", 3) # Dog классын жишээ буюу объект үүсгэх
# Объектын төлөвүүдэд хандах
print(my_dog.name) # Output: Buddy
print(my_dog.age) # Output: 3
# Объектын методыг дуудах
print(my_dog.bark()) # Output: Buddy is barking.
print(my_dog.get_age()) # Output: Buddy is 3 years old.Тайлбар
- Класс тодорхойлох:
classтүлхүүр үгийг ашиглаж классыг тодорхойлно. Манай жишээндDogнэртэй класс байна. - Конструктор метод:
__init__нь тусгай метод бөгөөд объект үүсгэх үед автоматаар дуудагдана. Энэ метод доторselfпараметрээр дамжуулан объектын төлөвийг тодорхойлдог.selfнь тухайн объектыг зааж байгаа бөгөөд үргэлж эхний параметр байх ёстой. - Төлөв:
self.nameбаself.ageньDogклассын объектын төлөвүүд юм. Тэдгээрийг__init__метод дотор оноож өгдөг. - Метод: Класс дотор тодорхойлсон функцуудыг метод гэнэ. Манай жишээнд
barkбаget_ageгэсэн хоёр метод байна. Эдгээр нь тухайн объектыг өөрийнselfпараметрээр дамжуулан үйлдэл гүйцэтгэдэг. - Объект үүсгэх:
my_dogнэртэйDogклассын нэг жишээ буюу объект үүсгэсэн. Объект үүсгэх үед__init__метод дуудагдан,nameболонageтөлөвүүдийг онооно. - Төлөв ба методыг ашиглах: Объектын төлөвүүдэд хандахдаа
my_dog.name,my_dog.ageгэх мэтээр хандана. Объектын методыг дуудахдааmy_dog.bark(),my_dog.get_age()гэх мэтээр дуудаж болно.
Нэмэлт метод болон төлөв нэмэх
Dog класст нэмэлт төлөв болон методыг нэмэх боломжтой. get_breed гэсэн методыг нэмье.
class Dog:
def __init__(self, name, age, breed):
self.name = name
self.age = age
self.breed = breed # Нэмэлт төлөв
def bark(self):
return f"{self.name} is barking."
def get_age(self):
return f"{self.name} is {self.age} years old."
def get_breed(self):
return f"{self.name} is a {self.breed}."
# Шинэ объект үүсгэх
my_dog = Dog("Buddy", 3, "Golden Retriever")
# Нэмэлт методыг дуудах
print(my_dog.get_breed()) # Output: Buddy is a Golden Retriever.Класс болон методыг нэрлэх стандарт
Python-д класс болон методын нэрлэхдээ дагаж мөрдөх стандартууд байдаг. Эдгээр стандартууд нь кодыг илүү ойлгомжтой, засварлахад хялбар болгож өгдөг. Python-д эдгээр стандартуудыг PEP 8 (Python Enhancement Proposal 8) гэж нэрлэдэг.
1. Класс Нэрлэх Стандарт
- КамелКейс (CamelCase) ашиглана.
- Нэрийг том үсгээр эхлүүлнэ.
- Үг хоорондын зайг том үсгээр тэмдэглэнэ.
Жишээ:
class MyClass:
pass
class Dog:
pass
class DataProcessor:
pass2. Метод болон Хувьсагч нэрлэх стандарт
- СнейкКейс (snake_case) ашиглана.
- Нэрийг жижиг үсгээр эхлүүлнэ.
- Үг хоорондын зайг доогуур зураас (_) ашиглан тэмдэглэнэ.
Dog class:
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
return f"{self.name} is barking."
def get_age(self):
return f"{self.name} is {self.age} years old."Car class:
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def start_engine(self):
return f"The {self.make} {self.model} engine is now running."
def stop_engine(self):
return f"The {self.make} {self.model} engine is now off."
def get_car_info(self):
return f"{self.year} {self.make} {self.model}"