เหมือนกับ 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 แทนโหลดทั้งหมด