ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

dawthana
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 604
ลงทะเบียนเมื่อ: 07/12/2016 10:55 am

ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้

โพสต์โดย dawthana » 18/01/2017 5:17 pm

การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้
ใน python (ไพทอน) จะทำการลบตัวแปร หรือ Object ที่ไม่ได้ใช้ให้อัตโนมัติแล้วคืนค่าหน่วยความจำให้กับระบบ โดยใช้ฟังก์ชัน __del__() (เดล) เพื่อการบริหาร Memory (เมมโมรี่) ในการสร้าง Class (คลาส) ที่มีขนาดใหญ่ซึ่งเรียกการจัดการนี้ว่า “Destructor (ดีสทรัคเตอร์)”

ตัวอย่างการใช้ del statement (เดล สเตรทเม้นท์)
del_statement.png
del_statement.png (40.84 KiB) เปิดดู 139 ครั้ง

ตัวอย่างการใช้ Destroy Object (ดิซทรอย ออบเจ็ค)
Destory_Object.png
Destory_Object.png (52.35 KiB) เปิดดู 139 ครั้ง


ศึกษาข้อมูลมาจาก https://www.youtube.com/watch?v=RsFkuXB0p2E&index=44&list=PLLi1ciqQAf8TVFbJpl7XY23lzdKrpxsMM


Four
PHP Hero Member
PHP Hero Member
โพสต์: 180
ลงทะเบียนเมื่อ: 08/01/2018 9:55 am

Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้

โพสต์โดย Four » 25/01/2018 3:51 pm

โค้ด: เลือกทั้งหมด

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))


ผลรัน

รูปภาพ

ภาพประจำตัวสมาชิก
Jom07
PHP Super Member
PHP Super Member
โพสต์: 205
ลงทะเบียนเมื่อ: 08/01/2018 9:56 am

Re: ทำความรู้จักกับภาษา python (44) : การจัดการกับ Object (ออบเจ็ค) ที่ไม่ได้ใช้

โพสต์โดย Jom07 » 25/01/2018 4:04 pm

โค้ด: เลือกทั้งหมด

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=RsFkuXB0p2E&list=PLLi1ciqQAf8TVFbJpl7XY23lzdKrpxsMM&index=44


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 4 และ บุคคลทั่วไป 0 ท่าน