Python Класс ба Объект /Classes and Objects/
Python бол объект хандалт програмчлалын хэл юм.
Python-ны шинж чанар аргууд болон бараг бүх зүйл нь объектод чиглэсэн байдаг.
Create a Class
class
түлхүүр үгийн тусламжтай класс үүсгэнэ.
Жишээ нь:
nas шинж чанартай (property), FirstClass нэртэй класс үүсгэж байна
class FirstClass:
nas = 15
print (FirstClass)
Үр дүн
C:\Users\Pc Name>classes.py
<class '__main__.FirstClass'>
Create Object
Одоо бид объект үүсгэхийн тулд FirstClass-г ашиглаж болно.
Жишээ нь:
hun гэдэг объект үүсгээд, nas-ийн утгыг хэвлэж үзье.
class FirstClass:
nas = 15
hun = FirstClass()
print (hun.nas)
The __init__() Function
Дээр дурдсан жишээ бол хамгийн энгийн ээр объект болон классыг тайлбарласан. Магадгүй энэ нь бодит орчинд хэрэглэгдэхгүй байж болно.
Классыг ойлгохын тул бид хамгийн эхэнд __init__() Функцийг ойлгох хэрэгтэй.
Бүх классууд нь __init__() Функцээр ажиллана. Гэхдээ классыг үүсгэсний дараа __init__() функцийг ажиллуулна.
__init__() Функцийг ашиглан объектын шинж чанарыг (property)-г тодорхойлно.
Жишээ нь:
Хүн гэж класс үүсгээд, нэр, нас, хүйс гэсэн утгыг __init__() функцээр тодорхойлно.class Hun:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
h1 = Hun("Цэцгээ", 33, "Эмэгтэй")
print (h1. name)
print (h1. age)
print (h1. gender)
Үр дүн
C:\Users\Pc Name>classes.py
Цэцгээ
33
Эмэгтэй
Object Methods
Объектууд бас Method-г агуулж болно. Объект дахь Method гэдэг нь тухайн объектод хамаарах функц юм.
Жишээ нь:
Хүн гэж класс үүсгээд, нэр, нас, хүйс гэсэн утгыг __init__() функцээр тодорхойлно.class Hun:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def myfunc(self):
print ("Миний нэр бол " + self.name)
print ("Би " + self.gender)
h1 = Hun("Цэцгээ", 33, "Эмэгтэй")
h1.myfunc()
Үр дүн
C:\Users\Pc Name>classes.py
Миний нэр бол Цэцгээ
Би Эмэгтэй
Дээрх жишээнд self
параметрийг классын хувьсагчид хандахад ашиглана.
The self Parameter
Дээрх жишээнд self
параметрийг классын хувьсагчид хандахад ашиглана. Гэвч заавал self
байх албагүй та хүссэн зүйлээр дуудаж болно, гэхдээ классын функцийн эхний параметр байх ёстой.
Жишээ нь:
Хүн гэж класс үүсгээд, нэр, нас, хүйс гэсэн утгыг __init__() функцээр тодорхойлно.class Hun:
def __init__(myFirstSelf, name, age, gender):
myFirstSelf.name = name
myFirstSelf.age = age
myFirstSelf.gender = gender
def myfunc(myFirstSelf):
print("Миний нэр бол " + myFirstSelf.name)
print("Би " + myFirstSelf.gender)
h1 = Hun("Цэцгээ", 33, "Эмэгтэй")
h1.myfunc()
Үр дүн
C:\Users\Pc Name>classes.py
Миний нэр бол Цэцгээ
Би Эмэгтэй
Modify Object Properties
Хүссэн объектын шинж чанарыг өөрчилж болно.
Жишээ нь:
Хүн гэж класс үүсгээд, нэр, нас, хүйс гэсэн утгыг __init__() функцээр тодорхойлно.class Hun:
def __init__(myFirstSelf, name, age, gender):
myFirstSelf.name = name
myFirstSelf.age = age
myFirstSelf.gender = gender
def myfunc(myFirstSelf):
print ("Миний нэр бол " + myFirstSelf.name)
print ("Би " + myFirstSelf.gender)
h1 = Hun("Цэцгээ", 33, "Эмэгтэй")
h1.age = 37
print (h1.age)
Үр дүн
C:\Users\Pc Name>classes.py
37
Delete Object Properties
Объектоос шаардлагагүй шинж чанарыг del
түлхүүр үгээр устгаж болно.
Жишээ нь:
h1 объектын age шинж чанарыг устгаад хэвлэж үзье.class Hun:
def __init__(myFirstSelf, name, age, gender):
myFirstSelf.name = name
myFirstSelf.age = age
myFirstSelf.gender = gender
def myfunc(myFirstSelf):
print ("Миний нэр бол " + myFirstSelf.name)
print ("Би " + myFirstSelf.gender)
h1 = Hun("Цэцгээ", 33, "Эмэгтэй")
del h1.age
print (h1.age)
Үр дүн
C:\Users\Pc Name>classes.py
Traceback (most recent call last):
File "G:\filezilla\python\variables.py", line 14, in
print(h1.age)
AttributeError: 'Hun' object has no attribute 'age'
Delete Object
Объектыг del
түлхүүр үгээр устгаж болно.
Жишээ нь:
h1 объектыг устгаад хэвлэж үзье.class Hun:
def __init__(myFirstSelf, name, age, gender):
myFirstSelf.name = name
myFirstSelf.age = age
myFirstSelf.gender = gender
def myfunc (myFirstSelf):
print ("Миний нэр бол " + myFirstSelf.name)
print ("Би " + myFirstSelf.gender)
h1 = Hun("Цэцгээ", 33, "Эмэгтэй")
del h1
print (h1)
Үр дүн
C:\Users\Pc Name>classes.py
Traceback (most recent call last):
File "G:\filezilla\python\variables.py", line 14, in
print (h1)
NameError: name 'h1' is not defined
The pass Statement
class
үүсгээд түр хоосон орхих тохиолдлууд цөөнгүй гардаг энэ тохиолдолд pass
түлхүүр үгийг ашиглана.
Жишээ нь:
h1 объектыг устгаад хэвлэж үзье.class Hun:
pass
Үр дүн
C:\Users\Pc Name>classes.py