מחרוזות הן סוג הנתונים השכיח ביותר בשפת Python ואנו יכולים ליצור אותן על ידי סגירת רצף תווים מתמשך בסימני גרשיים
בשפת Python ניתן להשתמש בגרשיים כפולות (" ") או בודדות (' ') באותו האופן. יצירת מחרוזות היא משימה פשוטה כמו להזין ערך מספרי למשתנה:
varA = "Hello World!" varB = 'Good Morning!'
לגשת לערכים במחרוזות
שפת Pyhon איננה תומכת בסוגי אותיות, אלו נחשבות כמחרוזות באורך של תו בודד או תת-מחרוזות. על מנת לגשת לתת מחרוזות יש להשתמש בסימן החיתוך [ ] עם מספר האינדקס בתוכו על מנת לייבא את התת-מחרוזת הרצויה, כפי שניתן לראות בדוגמה הבאה:
var1 = "Hello World!" var2 = 'Good Morning!' print ("var1[0]: ", var1[0]) print ("var2[1:5]: ", var2[1:8])
שתיתן לנו את התוצאה הבאה:
var1[0]: H
var2[1:8]: ood Mor
המשפט הראשון מציג לנו את אינדקס 0 של המחרוזת הראשונה, המשפט השני מציג לנו את אינדקס 2 עד 7 כולל של המחרוזת השנייה.
עדכון מחרוזות
ניתן לעדכן מחרוזת, כלומר לעדכן את המחרוזת ממספר אינדקס מסוים על ידי שימוש בסימן החיתוך ונקודותיים [ : ]:
var1 = "Hello World!" print ("Updated String :- ", var1[:6] + '& Good Morning')
Updated String :- Hello & Good Morning
תווי בריחה
תווי בריחה (\) הם תווים מיוחדים שהמקשר מבצע למרות שהתווים סגורים בתוך הגרשיים של המחרוזת:
תו בריחה | תו הקסדצימלי | תאור |
---|---|---|
a\ | 0x07 | Bell or alert |
b\ | 0x08 | Backspace |
cx\ | Control-x | |
C-x\ | Control-x | |
e\ | 0x1b | Escape |
f\ | 0x0c | Formfeed |
M-\C-x\ | Meta-Control-x | |
n\ | 0x0a | Newline |
nnn\ | Octal notation, where n is in the range 0.7 | |
r\ | 0x0d | Carriage return |
s\ | 0x20 | Space |
t\ | 0x09 | Tab |
v\ | 0x0b | Vertical tab |
x\ | Character x | |
xnn\ | Hexadecimal notation, where n is in the range 0.9, a.f, or A.F |
אופרטורים מיוחדים למחרוזות
נניח ויש לנו משתנה מחרוזת a שמחזיק את הערך Hello ו-b שמחזיק את הערך Python:
אופרטור | תאור | דוגמה |
---|---|---|
+ | חיבור שני האופרנדים שמצידי האופרטור + | יתנו לנו a + b HelloPython |
* | הכפלה | יתנו לנו a*2 HelloHello |
[] | חיתוך – נותן תו מתוך המחרוזת לפי מספר אינדקס | [a[1 יתנו לנו e |
[ : ] | טווח חיתוך – מאיזה מספר אינדקס עד איזה מספר אינדקס יתבצע החיתוך | ell יתנו לנו [a[1:4 |
in | חברות – מחזיר לנו אמת (1) אם התו חבר במחרוזת הנתונה | H in a יתנו לנו 1 |
not in | אי חברות – מחזיר לנו אמת (1) אם התו אינו חבר במחרוזת הנתונה | M not in a יתנו לנו 1 |
r\R | מבטל תווי בריחה במחרוזת. המקשר ידפיס תווים מיוחדים כרגיל | print r'\n' prints \n and print R'\n'prints \n |
% | מאתחל מחרוזת | הסבר בחלק הבא |
אופרטור % Formatting למחרוזות
אחד מהכלים החשובים למחרוזות בשפת Python הוא האופרטור % String Formatting Operator. אופרטור זה הוא מיוחד למחרוזות וניתן להשתמש בו בכל מיני דרכים. לדוגמה:
print ("My name is %s and my age is %i!" % ('Shontal', 24))
!My name is Shontal and my age is 24
לפניכם טבלה שבה ניתן לראות את כל סוגי התווים שניתן לשלב עם %, הרגישו בנוח לשנות את סוג הסימן בתוכנית כדי לראות בעצמכם מה בדיוק כל סימן עושה:
גרשיים משולשות
גרשיים משולשות ("') בשפת Pyhton הן דרך לסמן מחרוזות ארוכות שנפרשות על פני יותר משורת קוד אחת, למשל:
paragraphA = """bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla ( \t ) bla bla. bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla [ \n ], bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla. """ print (paragraphA)
bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla ( ) bla bla. bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
] bla bla bla bla bla
, bla bla bla bla bla bla bla bla bla bla[
bla bla bla bla bla.
שימו לב כי ניתן ליצור גרשיים משולשות גם מבודדות ("') וגם מכפולות ("""), אך חשוב שמחרוזת אחת תהיה מסומנת באותו הסוג משני צדדיה.
מחרוזת Unicode
Python 3 משתמשת בתווי Unicode, לעומת שפת Python 2 שהייתה משתמשת בתווי 8-ביט ASCII .וקיימות בה הפונקציות המובנות הבאות למניפולציה על מחרוזות: