הקדמה
פייתון תומך בשרשור מחרוזות באמצעות המפעיל +
. ברוב שפות התכנות האחרות, כאשר אנו משרשרים מחרוזת עם מספר שלם (או כל סוג נתונים פרימיטיבי אחר), השפה מתעסקת בהמרתם למחרוזת ואז משרשרת אותם.
אך, בפייתון, אם תנסו לשרשר מחרוזת עם מספר שלם באמצעות המפעיל +
, תקבלו שגיאת ריצה.
דוגמה
בואו נסתכל על דוגמה לשרשור של מחרוזת (str
) ומספר שלם (int
) באמצעות המפעיל +
.
current_year_message = 'Year is '
current_year = 2018
print(current_year_message + current_year)
הפלט הרצוי הוא המחרוזת: Year is 2018
. אך, כאשר אנו מריצים את הקוד הזה אנו מקבלים את השגיאה בזמן ריצה הבאה:
Traceback (most recent call last):
File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str
אז איך לשרשר str
וint
בפייתון? ישנן דרכים שונות לבצע את הפעולה הזו.
דרישות מוקדמות
על מנת להשלים את המדריך הזה, יהיה עליכם להפעיל:
- היכרות עם התקנת Python 3. ויכולת לכתוב ב-Python. איך לכתוב בפייתון 3 סדרת תכנים או בשימוש ב-VS Code עבור פייתון.
המדריך הזה נבדק עם Python 3.9.6.
שימוש בפונקציית str()
ניתן להעביר int
לפונקציית str()
והיא תומרת אותו ל-str
:
print(current_year_message + str(current_year))
השנה הנוכחית בפורמט מחרוזת: שנת 2018
.
שימוש באופרטור האינטרפולציה %
ניתן להעביר ערכים למבנה ההמרה עם עיצוב מחרוזות בסגנון printf:
print("%s%s" % (current_year_message, current_year))
השנה הנוכחית מאותרת למחרוזת: שנת 2018
.
באמצעות הפונקציה str.format()
ניתן גם להשתמש בפונקציה str.format()
לשרטוט מחרוזת ומספר שלם.
print("{}{}".format(current_year_message, current_year))
המשתנה current_year
מומר לסוג מחרוזת: שנת 2018
.
באמצעות מחרוזות f
אם אתה משתמש בגרסה 3.6 של Python או גרסאות גבוהות יותר, תוכל גם להשתמש ב-f-strings.
print(f'{current_year_message}{current_year}')
המשתנה current_year
מוכנס לתוך מחרוזת: שנת 2018
.
סיכום
ניתן לבדוק את הסקריפט המלא של Python ודוגמאות נוספות ב-Python בקטע השולי שלנו ב-מאגר ה-GitHub שלנו.
Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int