Python အတန်းများနှင့် အရာဝတ္ထုများ
Python အတန်းများ/အရာဝတ္ထုများ
Python သည် object oriented programming language တစ်ခုဖြစ်သည်။
Python ရှိ အရာအားလုံးနီးပါးသည် ၎င်း၏ ဂုဏ်သတ္တိများနှင့် နည်းလမ်းများဖြင့် အရာဝတ္ထုတစ်ခုဖြစ်သည်။
Class သည် object constructor သို့မဟုတ် object ဖန်တီးရန်အတွက် "blueprint" နှင့်တူသည်။
အတန်းတစ်ခုဖန်တီးပါ။
အတန်းတစ်ခုဖန်တီးရန်၊ သော့ချက်စကားလုံးကို အသုံးပြု class
ပါ
ဥပမာ
x ဟူသော ဂုဏ်သတ္တိဖြင့် MyClass ဟု အမည်ပေးထားသော အတန်းကို ဖန်တီးပါ။
class MyClass:
x = 5
အရာဝတ္ထုဖန်တီးပါ။
ယခု ကျွန်ုပ်တို့သည် အရာဝတ္ထုများကို ဖန်တီးရန်အတွက် MyClass ဟုခေါ်သော အတန်းကို အသုံးပြုနိုင်သည်။
ဥပမာ
p1 အမည်ရှိ အရာဝတ္ထုတစ်ခုကို ဖန်တီးပြီး x တန်ဖိုးကို ပရင့်ထုတ်ပါ။
p1 = MyClass()
print(p1.x)
__init__() လုပ်ဆောင်ချက်
အထက်ဖော်ပြပါ ဥပမာများသည် ၎င်းတို့၏ အရိုးရှင်းဆုံးပုံစံရှိ အတန်းများနှင့် အရာဝတ္ထုများဖြစ်ပြီး လက်တွေ့ဘဝအသုံးချမှုများတွင် အမှန်တကယ် အသုံးမဝင်ပါ။
အတန်းများ၏ အဓိပ္ပါယ်ကို နားလည်ရန် built-in __init__() လုပ်ဆောင်ချက်ကို နားလည်ရပါမည်။
အတန်းအားလုံးတွင် __init__() ဟုခေါ်သော လုပ်ဆောင်ချက်တစ်ခု ရှိသည်
အရာဝတ္ထုဂုဏ်သတ္တိများကို တန်ဖိုးများသတ်မှတ်ရန် __init__() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ သို့မဟုတ် အရာဝတ္ထုကို ဖန်တီးနေချိန်တွင် လုပ်ဆောင်ရန် လိုအပ်သော အခြားလုပ်ဆောင်ချက်များကို အသုံးပြုပါ-
ဥပမာ
Person အမည်ရှိ အတန်းတစ်ခုကို ဖန်တီးပါ၊ အမည်နှင့် အသက်အတွက် တန်ဖိုးများကို သတ်မှတ်ရန် __init__() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John",
36)
print(p1.name)
print(p1.age)
မှတ်ချက်- အရာဝတ္ထုအသစ်တစ်ခုဖန်တီးရန် class ကိုအသုံးပြု သည့် __init__()
အခါတိုင်း function ကို အလိုအလျောက်ခေါ်သည်။
အရာဝတ္ထုနည်းလမ်းများ
အရာဝတ္တုများတွင် နည်းလမ်းများလည်း ပါဝင်နိုင်သည်။ Objects ရှိ Methods များသည် object နှင့်သက်ဆိုင်သော လုပ်ဆောင်ချက်များဖြစ်သည်။
Person class တွင် method တစ်ခုကို ဖန်တီးကြပါစို့။
ဥပမာ
နှုတ်ခွန်းဆက်စကား ပရင့်ထုတ်သည့် လုပ်ဆောင်ချက်ကို ထည့်သွင်းပြီး p1 အရာဝတ္တုတွင် ၎င်းကို လုပ်ဆောင်ပါ-
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John",
36)
p1.myfunc()
မှတ်ချက်self
။ _
Self Parameter သည်
က self
န့်သတ်ချက်သည် class ၏ လက်ရှိ instance ကို ကိုးကားပြီး class နှင့် သက်ဆိုင်သည့် variable များကို ဝင်ရောက်ရန် အသုံးပြုသည်။
၎င်းကို အမည်တပ်ရန် မလိုအပ်ပါ self
၊ သင်နှစ်သက်သလို ခေါ်နိုင်သည်၊ သို့သော် ၎င်းသည် class ရှိ မည်သည့် function ၏ ပထမဆုံး parameter ဖြစ်ရပါမည်။
ဥပမာ
self အစား mysillyobject နှင့် abc ဟူသော စကားလုံးများကို သုံးပါ ။
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("John",
36)
p1.myfunc()
Object Properties ကို ပြင်ဆင်ပါ။
ဤကဲ့သို့သော အရာဝတ္ထုများတွင် ဂုဏ်သတ္တိများကို သင်မွမ်းမံနိုင်သည်-
ဥပမာ
p1 မှ 40 ၏အသက်ကိုသတ်မှတ်ပါ-
p1.age = 40
Object Properties ကိုဖျက်ပါ။
del
သော့ချက်စကားလုံးကို အသုံးပြု၍ အရာဝတ္ထုများရှိ ဂုဏ်သတ္တိများကို ဖျက်နိုင်သည် -
ဥပမာ
p1 အရာဝတ္ထုမှ အသက် ပိုင်ဆိုင်မှုကို ဖျက်ပါ-
del p1.age
အရာဝတ္ထုများကို ဖျက်ပါ။
del
သော့ချက်စကားလုံးကို အသုံးပြု၍ အရာဝတ္ထုများကို ဖျက်နိုင်သည် -
ဥပမာ
p1 အရာဝတ္ထုကိုဖျက်ပါ
del p1
pass Statement ၊
class
အဓိပ္ပါယ်ဖွင့်ဆိုချက်များသည် ဗလာမဖြစ်နိုင်သော်လည်း အကြောင်းတစ်ခုခုကြောင့် သင့်တွင် class
အကြောင်းအရာမရှိသော အဓိပ္ပါယ်ဖွင့်ဆိုချက် တစ်ခုရှိနေပါ pass
က အမှားအယွင်းမဖြစ်စေရန်အတွက် ထုတ်ပြန်ချက်တွင် ထည့်သွင်းပါ။
ဥပမာ
class Person:
pass