Python'un ham dizeleri hakkındaki tüm yanlış kanı, çoğu insanın ters eğik çizginin (ham bir dize içinde) diğerleri gibi normal bir karakter olduğunu düşünmesidir. O değil. Anlaşılması gereken anahtar bu python'un öğretici dizisidir:
Bir ' r ' veya ' R ' öneki mevcutsa, dizeye ters eğik çizgiyi izleyen bir karakter değişmeden dahil edilir ve tüm ters eğik çizgiler dizede bırakılır
Yani ters eğik çizgi izleyen herhangi bir karakter olan ham dizenin parçası. Ayrıştırıcı bir ham dizeye (Unicode olmayan bir) girip bir ters eğik çizgi ile karşılaştığında 2 karakter olduğunu (bir ters eğik çizgi ve onu izleyen bir karakter) bilir.
Bu yoldan:
r'abc \ d' içerir , a, b, c, \, d
r'abc \ 'd' içerir , a, b, c, \,' d
r'abc \ '' içerir , a, b, c, \, '
ve:
r'abc \ ' , a, b, c, \,' içerir, ancak şu anda sonlandırma teklifi yoktur.
Son durum, belgelere göre, bir ayrıştırıcının, yukarıda gördüğünüz son teklifin dizenin bir parçası olduğu için kapanış teklifini bulamadığını gösterir, yani ters eğik çizgi, dizgi kapanış karakterini 'yiyip bitireceği için burada son olamaz.