Δημοσιεύτηκε: 12 Νοέμ 2010, 16:40
από medigeek
Μιλάς για το κεφάλαιο "Τα βασικά": http://www.swaroopch.com/notes/Python_e ... E%BA%CE%AC

yodan000 έγραψε:Υποθέστε ότι θα θέλατε μια συμβολοσειρά που να περιέχει ένα μονό εισαγωγικό ('), πώς θα το ορίσετε; Για παράδειγμα, η συμβολοσειρά είναι Δε σ' άκουσα!. Δεν μπορείτε να το ορίσετε ως 'Δε σ' άκουσα!' διότι η Python θα μπερδευτεί με την αρχή και το τέλος της συμβολοσειράς. Γι'αυτό, πρέπει να ορίσετε ξεχωριστά ότι το μονό εισαγωγικό δε δηλώνει το τέλος της συμβολοσειράς. Η λύση είναι με τη χρήση του αποκαλούμενου χαρακτήρα διαφυγής. Ορίζετε το μονό εισαγωγικό ως \' -προσέξτε την αριστερή πλάγια κάθετο. Τώρα, μπορείτε να ορίσετε τη συμβολοσειρά ως 'Δε σ\' άκουσα!'.


Εν ολίγοις, o χακακτήρας "\" (backslash) χρησιμοποιείται για να θέσεις ένα χαρακτήρα κυριολεκτικά (raw / ωμό, "όπως το δίνεις") μέσα σε ένα string (συμβολοσειρά). Τα strings έχουμε αναφέρει ότι πρέπει να τα εσωκλείσεις σε εισαγωγικά, είτε μονά ('example') είτε διπλά ("example"). Αν προσπαθήσεις να χρησιμοποιήσεις τον ίδιο χαρακτήρα μέσα σε ένα κείμενο-string, θα σου πετάξει σφάλμα:

έγραψε:$ python3
Python 3.1.2 (release31-maint, Sep 17 2010, 20:27:33)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'Δε σ'άκουσα'
File "<stdin>", line 1
a = 'Δε σ'άκουσα'
^
SyntaxError: invalid syntax


έγραψε:$ python3
Python 3.1.2 (release31-maint, Sep 17 2010, 20:27:33)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'Δε σ\'άκουσα'
>>> print(a)
Δε σ'άκουσα