หน้า 1 จากทั้งหมด 1
ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โพสต์แล้ว: 18/01/2017 5:17 pm
โดย dawthana
การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
ใน
python (ไพทอน) จะทำการลบตัวแปร หรือ Object ที่ไม่ได้ใช้ให้อัตโนมัติแล้วคืนค่าหน่วยความจำให้กับระบบ โดยใช้ฟังก์ชัน __del__() (เดล) เพื่อการบริหาร
Memory (เมมโมรี่) ในการสร้าง
Class (คลาส) ที่มีขนาดใหญ่ซึ่งเรียกการจัดการนี้ว่า “Destructor (ดีสทรัคเตอร์)”
ตัวอย่างการใช้ del statement (เดล สเตรทเม้นท์)
- del_statement.png (40.84 KiB) Viewed 1746 times
ตัวอย่างการใช้ Destroy Object (ดิซทรอย ออบเจ็ค)
- Destory_Object.png (52.35 KiB) Viewed 1746 times
ศึกษาข้อมูลมาจาก
https://www.youtube.com/watch?v=RsFkuXB ... lzdKrpxsMM
Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โพสต์แล้ว: 18/01/2017 5:18 pm
โดย dawthana
Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โพสต์แล้ว: 25/01/2018 3:51 pm
โดย Four
โค้ด: เลือกทั้งหมด
class test:
def __init__(self, a=0, b=0):
self.a = b
self.b = a
print("class")
def __del__(self):
class_name = self.__class__.__name__
print(class_name,"Function")
pt1 = test()
pt2 = pt1
pt3 = pt2
print(id(pt1))
print(id(pt2))
print(id(pt3))
ผลรัน
Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โพสต์แล้ว: 25/01/2018 4:04 pm
โดย Jom07
โค้ด: เลือกทั้งหมด
class ob:
def __init__(self, m=0, n=0):
self.n = n
self.m = m
print("Start class >>>>>")
def __del__(self):
class_name = self.__class__.__name__
print("The",class_name,"Function is Destroyed")
pt1 = ob()
pt2 = pt1
pt3 = pt2
print(id(pt1))
print(id(pt2))
print(id(pt3))
ผลรัน
ศึกษาข้อมูลจาก :
https://www.youtube.com/watch?v=RsFkuXB ... M&index=44
Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โพสต์แล้ว: 05/05/2018 4:10 pm
โดย rangsan
การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โค้ด: เลือกทั้งหมด
class Mindpoint:
def __init__(self, x=0, o=0):
self.x = o
self.o = x
print("Starting class :)")
def __del__(self):
class_name = self.__class__.__name__
print("This "+class_name+" Function is Deleting")
pt1 = Mindpoint()
pt2 = pt1
pt3 = pt2
print(id(pt1))
print(id(pt2))
print(id(pt3))
ผลการรัน
- output_del_function.png (10.35 KiB) Viewed 1577 times
ศึกษาจาก :
https://www.youtube.com/watch?v=RsFkuXB ... lzdKrpxsMM
Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โพสต์แล้ว: 11/07/2018 6:55 pm
โดย prakon
เป็นคำสั่งที่ไว้ใช้ลบ คลาส ออกโดยจะคืนค่าสู่ เมมโมรี่
โค้ด: เลือกทั้งหมด
#การลบค่าตัวแปร แบบ ทั่วๆไป
var_dic={"A":"A","B":"B","C":"C"}
print(var_dic)
del (var_dic["A"])
print(var_dic)
#การลบ class
class MindpPoint:
def __init__(self, x=0 ,y=0):
self.x = x
self.y = y
print("Start using class >>")
def __del__(self):
class_name = self.__class__.__name__
print("The",class_name,"function is Destroyed!!")
pt1 = MindpPoint() #นำความสามรถของ classมาเก็บไว้ในตัวแปร
pt2 = pt1
pt3=pt2
print(id(pt1)) #ที่อยู่บนเมมโมรี่ของ pt1
print(id(pt2)) #ที่อยู่บนเมมโมรี่ของ pt2
print(id(pt3)) #ที่อยู่บนเมมโมรี่ของ pt3
Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
โพสต์แล้ว: 09/06/2020 10:52 am
โดย MBMoo
โค้ด: เลือกทั้งหมด
class delete:
def __init__(self, b=0, k=0):
self.b = b
self.k = k
print("class")
def __del__(self):
class_name = self.__class__.__name__
print("the",class_name,"Function is Destroyed!!")
pt1 = delete()
pt2 = pt1
pt3 = pt2
print(id(pt1))
print(id(pt2))
print(id(pt3))
ผลลัพธ์
- Python Knowledge-1.png (8.79 KiB) Viewed 1034 times