בסיסי > פונקציות > קריאה לפונקציות

קריאה לפונקציות 

ראינו כבר דוגמא אחת של פונקציה:

>>> type ("Hi There")
<type 'string'>

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

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

>>> int ("32")
32

>>> int ("avi")

Traceback (most recent call last):

 
File "<stdin>", line 1, in ?

ValueError: invalid literal for int(): avi

>>> int (3.2)

3

>>> float(44)

44.0

>>> float("9.99")

9.990000000000000

>>> str(44)

'44'

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

>>> minute = 59
>>> float(minute) / 60.0

0.983333333333

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

>>> minute = 59
>>> minute / 60.0

0.983333333333

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

>>> import math

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

>>> decibel = math.log10 (17.0)
>>> angle = 1.5

>>> height = math.sin(angle)

השורה הראשונה בדוגמא מציבה במשתנה "דציבל" את הערך הלוגריתמי בבסיס 10 של 17. קיימת גם פונקציה מתמטית בשם log שמחשבת לוגריתם בבסיס הטבעי.

השורה השלישית בדוגמא מחשבת את פונקציית הסינוס של הערך הנמצא במשתנה angle. פונקציית הסינוס ושאר הפונקציות הטריגונומטריות (קוסינוס, טנגנס וכו') מקבלות ארגומנטים ביחידות רדיאנים. (כדי להמיר ערך במעלות לרדיאנים, יש לחלקו ב 360 ולהכפילו ב 2*pi). להלן דוגמא לחישוב פונקציית סינוס עבור 45 מעלות:

>>> degrees = 45
>>> angle = degrees * 2 * math.pi / 360.0

>>> math.sin(angle)

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

>>> x = math.cos(angle + pi/2)

כאן מועבר לפונקצית הקוסינוס כאופרנד ערכו של ביטוי, שהוא סכומו של ערך המשתנה angle ומחצית pi. המשתנה x מקבל את ערך הפונקציה קוסינוס של הביטוי.

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

>>> x = math.exp(math.log(10.0))

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