בסיסי > פונקציות > הגדרת פונקציות

הגדרת פונקציות

השימוש בפונקציות מוכנות הוא טוב ויפה (ואף נוח, כיון שהוא חוסך את הצורך לממש חישובים מתמטיים כדוגמת לוגריתם או סינוס בעצמנו), אולם מהר מאוד מתגלה הצורך בהגדרה של פונקציות חדשות. הגדרה זו יכולה להיות לצורך ביצוע פעולות מתמטיות מורכבות חדשות, או לצורך יצירת קבוצת פעולות קבועה שחוזרת על עצמה. יצירת פונקציה המבצעת את אותה סדרת פעולות קבועה מקלה על כתיבת תכניות – כפי שנראה בהמשך.

הגדרת פונקציה מתבצעת בדרך הבאה:

def NAME( LIST OF PARAMETERS ):
      
STATEMENTS

Name - ניתן להשתמש כמעט בכל שם עבור פונקציה חדשה, מלבד המלים השמורות של פייתון.

Parameters - רשימת הפרמטרים מציינת מהם הארגומנטים שהפונקציה מעוניינת לקבל (רשימה זו יכולה להיות ריקה, אם הפונקציה אינה זקוקה לארגומנטים).

Statements - לאחר שם הפונקציה מופיעות שורות הקוד שלה. אלו הן רשימה של ביטויים שמבוצעים בכל פעם שהפונקציה נקראת. מספר שורות הקוד שמכילה פונקציה אינו מוגבל. כל שורות הקוד של פונקציה חייבות להיות מוסחות ימינה, במרווח אחיד (אלא אם כן מקוננים בתוכה בלוקים נוספים). רוב ממשקי הכתיבה בפייתון יסיחו את השורות ימינה עמודה (tab) אחת, אולם גם הסחה של רווח (space) אחד מספיקה.

בתור התחלה, נכתוב פונקציה פשוטה שאינה מקבלת פרמטרים:

>>>def hello():
      
print "hello world."

שם הפונקציה הוא hello. היא אינה מקבלת ארגומנטים, ומדפיסה את השורה hello world. כשנרצה לקרוא לפונקציה שלנו, נעשה זאת על-ידי ציון שמה והוספת סוגריים (ריקים, כיוון שאינה מצפה לקבל ארגומנטים)

>>> hello()
hello world

מה אם היינו רוצים לקרוא לפונקציה שלנו מספר רב של פעמים? יכולנו לקרוא לה שוב ושוב:

>>> hello()
hello world

>>> hello()

hello world

>>> hello()

hello world

או לכתוב פונקציה חדשה, שתקרא לפונקציה הראשונה מספר פעמים:

>>> def three_hello():
      
hello()

      
hello()

      
hello()

>>> three_hello()
hello world

hello world

hello world

בדוגמה זו יש לפונקציה שלוש שורות קוד. השורה האחרונה (שורת הרווח) אינה מוסחת ימינה, וכך פייתון יודעת כי זהו סוף הפונקציה. יש לשים לב כי ניתן לקרוא לפונקציה אחת מתוך שורות קוד של פונקציה אחרת. יכולת זו היא הנותנות לנו את האפשרות לבנות פונקציות יותר ויותר מורכבות.

 
עמוד ראשי
הקדמה
התקנה
שימוש
התחלה
פונקציות
זרימת התכנית
טיפוסי נתונים
זרימת התכנית - מתקדם
תכנות מונחה עצמים
מודולים
כללי
שלבי הפרויקט
דוגמאות הרצה