Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธี Serialize คลาสใน Python

การ Serialize และ Deserialize ออบเจ็กต์เป็นส่วนสำคัญของโปรแกรม Python ที่ซับซ้อน ไม่ว่าจะเป็นการบันทึกไฟล์ อ่านไฟล์ config หรือตอบสนอง HTTP Request ทั้งหมดเกี่ยวข้องกับ Serialization

มีรูปแบบ โปรโตคอล และวิธีการหลายอย่าง การเลือกใช้ส่งผลต่อความเร็วและความปลอดภัย

ตัวอย่างใช้โมดูล pickle (หรือ cPickle ใน Python 2) เพื่อ Serialize Dictionary (คลาสก็เป็นออบเจ็กต์ Python เช่นกัน)

import pickle

foo = dict(
    int_list=[3, 4, 5],
    text='Hello World',
    number=9.99,
    boolean=False,
    none=None
)

print(pickle.dumps(foo))
print(pickle.dumps(foo, protocol=pickle.HIGHEST_PROTOCOL))

หมายเหตุ: ใน Python 3 ใช้ pickle โดยตรง ไม่ต้อง import cPickle แยก