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

ขีดจำกัดความยาวสูงสุดของ String ใน Python (sys.maxsize)

เหมือนกับ List ความยาวสูงสุดของ String ขึ้นอยู่กับ Platform โดยอ้างอิง sys.maxsize

ตัวอย่าง

>> import sys
>>> sys.maxsize
9223372036854775807  # 2⁶³ - 1 บน 64-bit

รายละเอียด

  • sys.maxsize = ค่าสูงสุดของ Py_ssize_t (C Type สำหรับขนาด/Index)
  • ใช้ร่วมกับ: List, String, Dict, Tuple, Bytes, Bytearray, และ Containers อื่นๆ
  • 32-bit: ~2.14 Billion Characters, 64-bit: ~9.22 Quintillion Characters

ขีดจำกัดจริง: Memory

>> # String 1 GB (ประมาณ 1 Billion Characters)
>>> s = 'x' * (1024**3)  # 1 GB String
MemoryError  # หาก RAM ไม่พอ

String ใน Python 3 เป็น Unicode (1-4 bytes/char ขึ้นอยู่กับการเก็บภายใน) → 1 GB String ใช้ RAM ประมาณ 1-4 GB

Best Practices สำหรับ String ใหญ่

  • ใช้ io.StringIO สร้าง String แบบ Streaming
  • ใช้ mmap สำหรับไฟล์ขนาดใหญ่
  • ประมวลผลแบบทีละบรรทัด/Chunk แทนโหลดทั้งหมด