שימוש במתודות בפייתון
-
שלום חברים: במדריך הזה בעזרת ה', אני יסביר לכם איך להשתמש בכמה מהמתודות שנתקלתי בהם תוך כדי למידת הקורס באתר קמפוס il.
אז קודם כל מהם מתודות?
מתודה היא בעצם פונקציה שמוגדרת לעשות פעולה כלשהי, על נתונים (ערכים) שאתם מכניסים לה, והיא מובנית כבר בשפת פייתון.
פרמטרים- הם בעצם הערכים שאותם אנחנו מכניסים למתודה בשביל שתדע על מה היא צריכה לעבוד..אם הייתם רוצים למשל, שאם יש 15 תווים במחרוזת, אז המחשב ידפיס למסך את אותה כמות של ילדים מחייכים, אז יכולנו להתחיל לספור ידנית תווים כל פעם מחדש... יכולנו גם להתחיל לשחק עם פקודות בוליאניות של אם מספר התווים גדול מ> אבל קטן מ< ולהתחיל לנסות לשבור את הראש איך להגיע למספר המדויק של התווים שיש, אבל לא היתה לנו דרך פשוטה לדעת את המספר. וגם אם היינו מוצאים דרך ארוכה, (או אם אתם יצירתיים ומצליחים למצוא איזה קסם שיעשה את הספירה לפשוטה), עדיין כל פעם שהיינו רוצים לדעת כמות של תווים היינו צריכים לכתוב לאינטרפטר את כל שורות הקוד מחדש..
אבל אם היתה אפשרות שמישהו אחר יספור בשבילינו.. ויחזיר לנו את המספר, ובדרך פשוטה ונוחה שלא נצטרך לכתוב שורות ארוכות כל פעם מחדש..
אז זהו שבאמת קם מישהו ועשה את זה!
אל תדאגו, הוא לא עומד וסופר את כל התווים, הוא מצא דרך לספור, והכי חשוב- והחלק שנוגע לעניינינו, הוא קיפל את דרך הפעולה שלו למילה אחת פשוטה, כך שלא כל פעם שנרצה לדעת את מספר התווים נסתבך עם מלא שורות שחורות
ועכשיו כל פעם שאנחנו רוצים לעשות את הפעולה הזאת, אנחנו פשוט נקרא לפונקציה שהוא המציא והיא תעשה לבד את החשבון ותחזיר לנו את התוצאה..
הפעולה שהוא עשה (לא פעולת החשבון, אלא מה שהוא בנה קובץ שעושה פעולה ארוכה על ידי קריאה למילה אחת) נקראת מתודה .
אז בעצם מתודה היא כלי שאנחנו קוראים לו לשימושינו בקובץ פייתון על ידי קריאה בשמו, והוא עושה לבד את הפעולה שלו ומשאיר אותנו עם התוצאה, בלי להשתמש בשורות על גבי שורות מיותרות.במדריך הזה בעזרת ה, נסקור כמה מתודות שיש בקורס שהבאתי לעיל ואת דרך השימוש בהם.
(שימו ️. במדריך הזה נביא רק מתודות לטיפוסים מסגנון מחרוזת (string, או בקיצור str).
שימו לב שוב, אנחנו קוראים למתודות על ידי קריאה בשם המתודה, (באנגלית כמובן) ואז מיד נפתח סוגריים, נכתוב את הערכים שעליהם אנחנו רוצים שהמתודה תרוץ, אם יש כמה ערכים נפריד ביניהם באמצעות סוגריים, ואז נסגור את הסוגריים.
(יש מתודות שקוראים להם בצורה טיפה שונה, נראה אותם עוד מעט.)
גם אם אין ערכים שאנחנו מכניסים לסוגריים, עדיין אנחנו צריכים לכתוב סוגריים ולהשאיר אותם ריקות.נראה כמה דוגמאות למתודות:
המתודה הראשונה היא הפונקציה של ספירת מספר התווים במחרוזת:
המתודה נקראת Len ואנחנו נשתמש בה כך:
a = 'hello world' num_of_str = len(a) print(num_of_str)
והתוצאה תהיה:
11
כאן בעצם בשורה אחד הגדרנו משתנה שהוא ניגש למחרוזת.
בשורה 2 הגדרנו משתנה חדש שנקרא "מספר של מחרוזת" (כאן השתמשנו במתודה len, כבר ניגע בה).
ובשורה 3 הגדרנו שפייתון תדפיס את משתנה "מספר של מחרוזת", שהוא בעצם כמו שאפשר לנחש- מספר התווים שיש במחרוזת.
אם שמתם לב, כשקראנו למתודה len בעצם עשינו דבר כזה: היתה לנו מחרוזת קיימת ('hello world'), ואנחנו קראנו למתודה len, פתחנו סוגריים, הכנסנו למתודה את המשתנה שמצביע על הערך שאותו היא תצטרך לחשב כמה תווים יש בו, (שהמשתנה הזה נקרא גם פרמטר או ערך) סגרנו סוגריים, וlen חישבנה לנו כמה תווים קיימים.
יש בעצם עוד דרך להשתמש במתודה, אם נכניס בסוגריים לא את המשתנה אלא את המחרוזת עצמה:a = len('hello world') print(a)
אפשר להשתמש ב2 הדרכים כדי לקרוא למתודה, רק מה שצריך לזכור: תמיד צריך שבמתודה יהיה סוגריים גם אם הם ריקות! (כאן לא נתקלנו בזה אבל בהמשך תתקלו במתודות שאין ערכים להכניס להם בסוגריים, ובכל זאת צריך אותם!)
עכשיו נראה מתודה שמשמשת אותנו לקחת את הטקסט שהזין המשתמש ולהדפיס אותו בתור אותיות גדולות.
המתודה נקראת upper
גם כאן אנחנו יכולים לקרוא למתודה, אבל שימו לב- כאן אנחנו קודם כל צריכים לכתוב את המחרוזת (או את המשתנה שמצביע על המחרוזת) ואז לעשות נקודה! (.), ואז לרשום upper()
ואם נדפיס את התוצאה נראה טקסט שמורכב רק מאותיות גדולות..a = 'hello world' b = a.upper() print(b)
והתוצאה שקיבלנו היא:
HELLO WORLD
כאן- אנחנו מכניסים את הערך (או את המשתנה שמצביע על ערך) ורק אז קוראים למתודה (עם הסוגריים). בכאלו מקרים חשוב לשים לב- בין הערך למתודה חייבים לשים נקודה (.)!
בלי זה פייתון לא תדע שקראתם למתודה ולא תיישם את הפונקציה שרציתם, ואפילו תחזיר לכם שגיאה..
בינתיים ראינו את 2 הדרכים לקרוא למתודה, גם כשמתודה היא לפני ערך, ואז הערך בסוגריים, וגם כשמתודה היא אחרי ערך ואז הערך נמצא לפני הנקודה.המתודה lower
נראה מתודה שלישית. היא משמשת אותנו להדפיס למסך ערך עם אותיות קטנות.
היא עובדת בדיוק כמו המתודה upper- רק הפוך .
נראה דוגמה לשימוש בה:a = 'HELLO world' b =a.lower() print(b)
והתוצאה שקיבלנו היא:
hello world
כאן בעצם הכנסנו לפייתון משתנה שמורכב ממחרוזת עם אותיות קטנות וגדולות ביחד, קראנו למתודה lower שתפעל על הטקסט שהכנסנו, ואז הדפסנו את התוצאה של המתודה, וקיבלנו למסך טקסט של אותיות קטנות בלבד!
המתודה הבאה נקראת zfill
היא משמשת אותנו להדפסת מחרוזת שאנחנו מכניסים לה, ומילוי של המחרוזת מצד שמאל באפסים, עד שהמחרוזת תהיה עם אותו מספר תווים שהכנסנו למתודה כפרמטר.
בעצם אם יש לנו מחרוזת שנקראת ':My name is' שהיא עם 10 תווים, אנחנו יכולים להשתמש במתודה zfill, להכניס לה כפרמטר את המספר 14 לדוגמה, ואז אם נדפיס את התוצאה נראה שקיבלנו מחרוזת שמתחילה ב4 אפסים (10 תווים המחרוזת הקיימת, וכדי להשלים את המספר שהכנסנו שהוא 14 zfill מוסיפה בשבילינו אפסים..)a = 'My name is' b =a.zfill(14) print(b)
התוצאה שקיבלנו כאן היא
"0000My name is"
נראה את זה על דוגמה נוספת:
a = ':-) ' b =a.zfill(7) print(b)
כאן התוצאה שאנו מקבלים היא:
000:-)
המתודה find
המתודה האחרונה שאותה נראה כעת נקראת find והיא משמשת אותנו כדי למצוא תווים מסוימים במחרוזת שאותה אנחנו מכניסים כפרמטר (ערך) למתודה.
המתודה תחזיר לנו את המיקום שבהם התווים מופיעים במחרוזת.
כמובן בפייתון- המחרוזת לא מתחילה מהמספר 1, אלא מאפס...
אם התווים מופיעים בשני מקומות במחרוזת- המתודה תצביע לנו רק על המקום הראשון בו הוא נמצא.
ואחרון חביב- אם התו לא נמצא במחרוזת בכלל, נקבל בחזרה את המיקום: -1
נראה דוגמאות לכל אופציה:a = 'hello world' b = a.find('h') print(b)
התוצאה שאנו מקבלים כאן היא:
0
כי התו h הוא הראשון במחרוזת, ובפייתונית מתחילים לספור מ0.
הדוגמה השנייה היא לתו שנמצא פעמיים (או בדוגמה שלנו- 3 פעמים):a = 'hello world' b = a.find('l') print(b)
והתוצאה תהיה:
2
כי זה המקום הראשון שבו נמצא התו 'l' ( זוכרים? פייתון מתחילה מ0).
ונראה דוגמה לתו שלא נמצא בכלל:a = 'hello world' b = a.find('q') print(b)
אם ננסה להדפיס את התוצאה הזאת נקבל את התוצאה:
-1
עד כאן ראינו כמה מתודות בפייתון, אולי בהמשך אני יעלה עוד מדריך על מתודות נוספות, בינתיים תאחלו לי בהצלחה בהמשך הקורס, ותחזרו על המתודות האלו! תנסו אותם שוב ושוב.
אם נתקלתם במתודות שאתם לא מכירים אתם יכולים פשוט לחפש אותם בגוגל, עושים את זה כך:
רושמים את שם המתודה באנגלית, ואז רושמים בחיפוש גם את המילה python (פייתון) וגוגל תפנה אתכם לאתרים שימושיים מאד שמסבירים על כל סוגי המתודות הקיימות, יש מתודות פשוט מגניבות! תחפשו אותם..
להכנת המדריך השתמשתי בעיקר בסייעתא דשמיא, וגם באתר הזה.
וגם כמובן בקמפוס il
יאללה, תתחילו לעבוד..
בהצלחה -
-
-
-
-