מחרוזת string
בפייתון יש דרכים רבות לסווג מידע, לנהל מידע ולאכסן אותו, כאשר כל אכסניה מאפשרת טיפול שונה במידע (באנגלית אומרים manipulation אבל איכשהו אני לא משתחרר מהקונוטציה השלילית של המילה הזאת- מניפולציה). בתחילה הזכרנו סוג של מידע המסווג כמחרוזת. הדרכים לסווג מידע כמחרוזת הם לשים אותו בין גרש (') או גרשיים(") משני צדיו או להפעיל את הפקודה ( )str על סוג מידע אחר על מנת לסווג אותו כמחרוזת. נראה איך אפשר לטפל במחרוזות לאחר שיצרנו אותן –
אפשר להדפיס את האיבר הראשון במחרוזת – האיבר הראשון מתחיל ב- 0 ולא באחד.
x="shalom" print(x[0])
>>>
s
הדבר מלמד אותנו שמחרוזות כוללות index המסמן כל אחד ואחד מהאיברים במחרוזת (בהמשך נלמד להשתמש בפקודה index).
אפשר להדפיס טווח בתוך המחרוזת ולמעשה לבצע חיתוך של המחרוזת -
x="shalom" print(x[0:4])
>>>
shal
בתוכנית למעלה אנו רואים שחיתוך הטווח (המיוצג על ידי שני מספרים לפני ואחרי נקודתיים) כולל את האיבר הראשון (0) האות s אבל אינו כולל את האיבר האחרון בטווח המסומן 4 (האות o), כלומר אנו מקבלים באופן הזה ארבעה איברים שהאינדקס שלהם הוא 0,1,2,3 (ולכן התוכנית הדפיסה את המילה shal) עניין זה יחזור על עצמו כאשר נלמד על רשימות, והוא מבלבל מעט, עד שמתרגלים אליו.
אנו יכולים להדפיס מחרוזת מהתחלה (איבר 0) ועד האיבר מספר 7 (לא כולל) בקפיצות של 2 וכך זה נראה -
x = '12345678' print(x[0:7:2])
>>>
1357
אפשר גם להדפיס את המחרוזת מהתחלה עד הסוף [::], בעתיד נראה שגם לזה יש שימוש כשלעצמו, אבל כאן אנו מדגימים קפיצות של -1 (מינוס 1), מה שאומר שהמחרוזת מודפסת מהסוף להתחלה. משום ש- index של מינוס 1 מייצג את האיבר האחרון, כמו שמינוס 2 מייצג את האיבר הלפני אחרון. כך זה נראה -
x="shalom" print(x[::-1])
>>>
molahs
אפשר לחבר שתי מחרוזת –
x="shalom" y="halechem"
print(x+y)
>>>
shalomhalechem
תוכנית שנייה
x="shalom" y="halechem" print(x+" "+y)
>>>
shalom halechem
בתוכנית הראשונה חיברנו שתי מחרוזות ובשנייה חיברנו שלוש מחרוזות, כאשר המחרוזת האמצעית היא פשוט מרווח" " -.
אפשר להפוך אותיות באנגלית לאותיות גדולות או קטנות – זה מאוד שימושי -
x = 'hello' x = x.upper() print(x)
x = x.lower()
print(x)
>>>
HELLO
hello
אפשר לספור כמה פעמים מופיע איבר מסוים במחרוזת – נגיד כמה פעמים האות l מופיעה במילה hello -
x = 'hello'
print(x.count('l'))
>>>
2
אפשר למדוד את אורך המחרוזת -
x = 'hello'
print(len(x))
>>>
5
אפשר להחליף במחרוזת איבר מסויים באיבר אחר – כך למשל האות l במחרוזת תהפוך ל- t -
x = 'hello' x = x.replace('l', 't') print(x)
>>>
hetto
אפשר למצוא מיקום של איבר (index) בתוך מחרוזת (אם מופיע כמה פעמים זה נותן רק את המיקום של האיבר הראשון) -
x = 'shalom' print(x.index('a'))
>>>
2
החסרון הוא שאם מה שמחפשים לא נמצא במחרוזת מקבלים הודעת שגיאה. על מנת להימנע משגיאה אפשר להשתמש גם ב- (('print(x.find('h כך, במקרה שמה שמחפשים לא נמצא במחרוזת, מקבלים את ה ערך -1(מינוס 1) ולא הודעת שגיאה.
יש דרך מקוצרת להכפיל מופע של מחרוזת – פשוט כותבים את זה כתרגיל כפל -
x = 't' x = x*3 print(x)
>>>
ttt