מהי פונקציה בתכנות?

מהי פונקציה בתכנות?

האם אתה מוצא את עצמך לעתים קרובות מעתיק ומדביק את הקוד שלך לשימוש חוזר בחלקים שונים בתוכנית שלך?





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





מהי פונקציה?

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





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

איך כותבים פונקציה?

ישנן דרכים רבות ושונות לכתיבת פונקציות. התחביר המדויק יהיה תלוי בשפה שבה אתה מתכנת. נציג דוגמאות ב- Python, JavaScript ו- C ++ להדגמת מגוון תחביר התכנות.



קשור: מדוע שפות תכנות אינן יכולות להתקיים ללא פונקציות

פונקציות חלשות

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





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

פִּיתוֹן





def helloFunction():
print('Hello World')
helloFunction()

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

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

JavaScript

כיצד לחבר אוזניות בלוטות 'ל- xbox
function helloFunction(){
alert('Hello World!');
}
helloFunction();

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

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

הערה: דומה מאוד הדפס() בדוגמה הקודמת, עֵרָנִי() הוא גם פונקציה.

C ++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

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

האם זיהית פונקציה נוספת בקוד C ++? כן, רָאשִׁי() היא פונקציה. כאשר אתה מפעיל תוכנית C ++, אתה מתקשר אוטומטית לפונקציה הראשית. כאשר הפונקציה הראשית הושלמה בהצלחה, היא מחזירה 0 כאשר היא יוצאת מהתוכנית כדי לאותת שלא אירעו שגיאות בהפעלת התוכנית.

פונקציות הדורשות ערכים

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

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

פִּיתוֹן

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

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

JavaScript

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

C ++

הגדר את Apple TV ללא שלט
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

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

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

קשור: 5 שפות תכנות פונקציונאליות שכדאי לך להכיר

פונקציות שמחזירות ערך

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

פִּיתוֹן

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

בדוגמה זו, הפונקציה שלנו דורשת שני משתנים במקום אחד. אנו מציינים כי על ידי הפרדת שמות המשתנים שלנו בפסיק. מילת המפתח לַחֲזוֹר אומר לפונקציה להחזיר את הנתונים הבאים, במקרה זה, 2 + 4 או 6. אנו קוראים לפונקציה בתוך הדפס() פוּנקצִיָה.

ברגע שהתוכנית שלנו הגיעה לשורה הזו, היא הייתה עוצרת, מריצה את הפונקציה שלנו ואז ממשיכה כאילו הוספת פונקציה (2, 4) היה למעשה רק הערך המוחזר 6.

JavaScript

קוד ה- JavaScript דומה מאוד לקוד Python. ההבדל העיקרי הוא שהפונקציה נקראת בהתראה.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

C ++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

קוד C ++ פועל באופן דומה, אך כרגיל, דורש קצת יותר מידע. ראשית, עלינו לומר איזה סוג נתונים הפונקציה שלנו תחזיר. אתה תראה את זה בָּטֵל השתנה ל int . המשמעות היא שבמקום לא להחזיר נתונים, הפונקציה שלנו תחזיר מספר שלם. מעבר לזה, הקוד דומה לקוד שכבר חקרנו.

נהל את הפונקציות שלך

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

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד לשמור על ניקיון הקוד שלך בעזרת אנקפסולציה של אובייקטים

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

קרא הבא
נושאים קשורים
  • תִכנוּת
  • תִכנוּת
  • תכנות פונקציונלי
על הסופר ג'ניפר סיטון(פורסמו 21 מאמרים)

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

עוד מג'ניפר סיטון

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה