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:
pass
2. Метод болон Хувьсагч нэрлэх стандарт
- СнейкКейс (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}"