มีไม่มาก ๆ "ดิบสตริง "; มีตัวอักษรสตริงดิบซึ่งเป็นตัวอักษรสตริงที่มีการทำเครื่องหมายโดย'r'
ก่อนที่จะพูดเปิด
"สตริงตัวอักษรดิบ" เป็นไวยากรณ์ที่แตกต่างกันเล็กน้อยสำหรับสตริงตัวอักษรซึ่งเป็นเครื่องหมายแบ็กสแลช\
จะถูกนำมาเป็นความหมาย "เพียงแค่แบ็กสแลช" (ยกเว้นเมื่อมันมาก่อนคำพูดที่จะยุติตัวอักษร) - ไม่มี "escape sequences" เพื่อแสดงบรรทัดใหม่แท็บ backspaces แบบฟอร์มฟีดและอื่น ๆ ในตัวอักษรสตริงปกติเครื่องหมายแบ็กสแลชแต่ละอันจะต้องถูกเพิ่มเป็นสองเท่าเพื่อหลีกเลี่ยงการถูกใช้เป็นจุดเริ่มต้นของลำดับการยกเว้น
ตัวแปรไวยากรณ์นี้มีอยู่เป็นส่วนใหญ่เนื่องจากไวยากรณ์ของรูปแบบการแสดงออกปกติหนักกับแบ็กสแลช (แต่ไม่สิ้นสุดดังนั้นประโยค "ยกเว้น" ด้านบนไม่สำคัญ) และมันดูดีขึ้นเล็กน้อยเมื่อคุณหลีกเลี่ยงการเพิ่มแต่ละคู่ - - นั่นคือทั้งหมดที่ นอกจากนี้ยังได้รับความนิยมในการแสดงพา ธ ไฟล์ของ Windows ดั้งเดิม (ด้วยแบ็กสแลชแทนที่จะเป็นสแลชปกติเหมือนบนแพลตฟอร์มอื่น ๆ ) แต่ก็ไม่ค่อยมีความจำเป็นมากนัก (เนื่องจากสแลชปกติส่วนใหญ่ทำงานได้ดีบน Windows เช่นกัน) ข้างบน).
r'...'
เป็นสตริงไบต์ (ในหลาม 2 *) ur'...'
เป็นสตริง Unicode (อีกครั้งในหลาม 2 *) และอื่น ๆ ของสามชนิดอ้างว่ายังผลิตประเภทเดียวกันของสตริง (ดังนั้นสำหรับตัวอย่างr'...'
, r'''...'''
, r"..."
, r"""..."""
เป็นสตริงไบต์ทั้งหมดและอื่น ๆ )
ไม่แน่ใจว่าสิ่งที่คุณหมายถึงโดย " กลับไป " - ไม่มีทิศทางกลับไปกลับมาเพราะไม่มีประเภทสตริงดิบมันเป็นเพียงไวยากรณ์ทางเลือกในการแสดงวัตถุสตริงปกติอย่างสมบูรณ์ไบต์หรือ Unicode เช่นที่พวกเขาอาจจะ
และใช่ในหลาม 2. * u'...'
เป็นแน่นอนเสมอแตกต่างจากเพียง'...'
- อดีตเป็นสตริง Unicode หลังเป็นสตริงไบต์ สิ่งที่เข้ารหัสตัวอักษรอาจจะแสดงออกมาเป็นปัญหามุมฉากอย่างสมบูรณ์
เช่นพิจารณา (Python 2.6):
>>> sys.getsizeof('ciao')
28
>>> sys.getsizeof(u'ciao')
34
แน่นอนว่าวัตถุ Unicode นั้นใช้พื้นที่หน่วยความจำมากกว่า (แตกต่างกันเล็กน้อยสำหรับสตริงที่สั้นมากชัด ;-)