4 תשובות
את רוצה שמתוך מחרוזת מלאה להחליף את כל המקומות האפשריים שיש בהם war?
שואל השאלה:
כןכן משהו כזה
כןכן משהו כזה
func=lambda string:string.replace('war','flower')
#קריאה אל הפונקצייה
print(func('war is now'))
#קריאה אל הפונקצייה
print(func('war is now'))
ההסבר הוא כזה: יצרתי פונקצייה אנונימית/תחשיב למדא בו יש את הפרמטר string. בגוף הפונקצייה שמתי את הערך string.replace('war','flower שיוחזר כאשר אקרא לפונקציה. לא כמו בהגדרה של פונקצייה רגילה, בפונקצייה אנונימית אני לא מציינת שאני מחזירה ערך עם מילת המפתח return אלא אני פשוט כותבת איזה ערך להחזיר. בנוסף לכך, בתחשיב למדא לא כמו בהגדרת פונקצייה רגילה, אפשר לשים רק ביטויים (יחידה תכנותית שמניבה ערך) ולא פקודות (יחידה תכנותית שנותנת הוראות לתוכנה). אבל עכשיו לדבר היותר חשוב:
מהו string.replace('war','flower')?
אז מה שהשתמשתי כאן זה בשיטת המחרוזת replace שבה אני אומרת על איזה מחרוזת להפעיל על השיטה, איזה תת מחרוזת להחליף, ועם מה להחליף. במקרה הזה אמרתי להפעיל את השיטה על הפרמטר string, ואמרתי להחליף את התת מחרוזת 'war' בתת מחרוזת 'flower'. ובכך יצרתי פונקצייה שמחליפה כל פעם שמופיע במחרוזת את המילה war במילה flower.
למקרה שעוד לא למדת תחשיב למדא, הנה גרסה של הגדרת פונקצייה באופן הרגיל (וגם הקריאה אליה כמובן, הרי מה הטעם ליצור פונקצייה ללא דוגמה לשימוש בה):
def func(string):
return string.replace('war','flower')
#קריאה אל הפונקצייה
print(func('war is now'))
מהו string.replace('war','flower')?
אז מה שהשתמשתי כאן זה בשיטת המחרוזת replace שבה אני אומרת על איזה מחרוזת להפעיל על השיטה, איזה תת מחרוזת להחליף, ועם מה להחליף. במקרה הזה אמרתי להפעיל את השיטה על הפרמטר string, ואמרתי להחליף את התת מחרוזת 'war' בתת מחרוזת 'flower'. ובכך יצרתי פונקצייה שמחליפה כל פעם שמופיע במחרוזת את המילה war במילה flower.
למקרה שעוד לא למדת תחשיב למדא, הנה גרסה של הגדרת פונקצייה באופן הרגיל (וגם הקריאה אליה כמובן, הרי מה הטעם ליצור פונקצייה ללא דוגמה לשימוש בה):
def func(string):
return string.replace('war','flower')
#קריאה אל הפונקצייה
print(func('war is now'))
באותו הנושא: