Home Python עמוד 3 – הסבר על תנאים ופונקציות פייתון Python Functions and Conditionals

עמוד 3 – הסבר על תנאים ופונקציות פייתון Python Functions and Conditionals

by Tal Ben Shushan 13/07/2021 0 comment
עמוד 3 – הסבר על תנאים ופונקציות פייתון Python Functions and Conditionals
נהנתם מהמאמר ? שתפו אותו!

הסבר על תנאים ופונקציות פייתון Python Functions and Conditionals

 

Conditionals

IF

תנאים הם הבסיס של עולם התיכנות, נתחיל מהפשוט ביותר

a = 7

if a < 10:

 print("Less than Ten")

אם נגדיר ש a הוא 7 ואז אני מכניס תנאי if שאומר אם

כעת נקרא את התנאי "בקול" אם a קטן מ10 אז…. תדפיס "קטן מ10

והתוצאה

Less than Ten

 

Indentation

אינדנטציה חשובה מאוד בפייתון , שכן ב if כאשר אתם מסיימים לרשום את התנאי ואז :

נניח

if 10 > 15:

ואז לוחצים Enter לרדת שורה, תוכלו להבחין שהשורה בה אתם נמצאים היא "טיפה" קדימה וזאת בגלל ה Indentation

על מנת ש if ידע שהקוד שאתם כותבים שייך לאותו בלוק של קוד if אז חייבת להיות Indentation ולכן יש רווח

אם תנסו להריץ את הקוד בלי ה"רווחים" ה Indentation תקבלו שגיאה

a = 7

if a < 10:

print("Less than Ten")

בדיוק כמו פה, והסיבה היא כפי שתוכלו לקרוא זה ה indented block

Else

הוא המשך ל if והוא אומר אם if לא מתרחש או שהתנאי if לא מתקיים, אז תבצע את הקוד הבא…

a = 20

if a < 10:

 print("Less than Ten")

else:

 print("Greater Than Ten")

והתוצאה כעת היא

elif

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

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

ולכן כאשר ה if הראשון לא תקף אז פייתון יעבור לelif השני ואם הוא יהיה נכון אז הוא יבוצע

a = 10

if a < 10:

 print("Less than Ten")

elif a == 10:

 print("Equal 10")

else:

 print("Greater than Ten")

אסביר שוב: אם a קטן מ10 תדפיס "קטן מ10" אבל ניתן להבחין ש10 שווה ל10 ולכן הוא לא עונה על הקריטריון

אז מה שיקרה הוא elif אם a שווה ל10 (== אומר שווה ל) אז תדפיס "שווה ל10"

ולסיום, במקרה ש10 גדול יותר, הוא ידפיס גדול מ10

Exception

הוא למעשה שגיאה שנוצרת כאשר יש טעות בקוד או טעות בערכים שניתנו בקוד

בדוגמה הזו נוכל להבחין שקבעתי שname הוא למעשה inger והוא למעשה ערך מספרי בלבד

אז מה יקרה אם נזין אותיות ולא מספרים, נקבל שגיאה, השגיאה שנקבל היא ValueError – קראו את השגיאה באדום בתמונה הבאה

בשביל שהמשתמש יקבל output נכון גם אם הזין נתונים לא נכונים, נגדיר try שבודק אם יש שגיאה ואם כן יבצע except כמו בדוגמא הבאה

פונקציות

פונקציה בהסבר פשוט היא "תוכנה" קטנה לעומת משתנה שמכיל ערך N פונקציה יכולה להכיל הכל ולהריץ את הפעולה שאתם רוצים לבצע

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

נקיש את הקוד

def name():

     print("My Name Is Tal")

name()

כעת נקבל

My Name Is Tal

תחשבו שאם הקוד היה גדול – הרבה שורות, והיה בו הרבה מקומות שעשיתי בהם

print("Tal Ben Shushan")

הייתי צריך "ללכת" לכל המקומות האלו ולשנות את השם נניח ל Tal Ben Shushan The Pyton

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

def name():

      print("My Name Is Tal")

name()

name()

התוצאה תיהיה

My Name Is Tal

My Name Is Tal

אני יכול גם להחיל על הפונקציה Modes שונים

Return

אבל בשביל זה אשתמש בreturn, שהוא למעשה אומר תחזיר לי את הערך בתוך הפונקציה, הוא יכניס את my name is tal לתוך הסוגריים שבname

def name():

 return "My Name Is Tal"

print(name().upper())

 

התוצאה

MY NAME IS TAL

אנחנו אפילו יכולים להציב Argument בתוך הפונקציה בצורה הבאה

 

עכשיו נעבור ל Placeholder בשם format. (יש נקודה בהתחלה)
הגדרנו את הפונקציה ששמה name והכנסנו לתוכה את המשתנה prvtname

נבצע אותה ואסביר בהמשך מה עשינו

def name(prvtname):

            return "{} Tal".format(prvtname)




print(name("My Name Is"))

כעת נשתמש בPlaceholder שהוא {} סוגרים מסולסלות, כך למעשה אנחנו מגדירים שה{} נכנסים לפני הסטרינג Tal כך שהתוצאה של הפונקציה

היא My Name Is Tal.

למעשה הformat. הגדיר שהפונקציה prvtname תכנס לתוך {} אותו format. למעשה מחפש {} בכדי להכניס אליו את prvtname

אז מדוע בprint הדפסנו את הפונקציה name? כיוון שהגדרנו בשורה הראשונה שהפונקציה name היא משתנה בשם prvtname

כעת נוכל להוסיף משתנה עם ערך קבוע אלא אם יקבל ערך אחר זאת אומרת שהכנסתי את lastname

וכעת אני צריך להכניס עוד {} Placeholder

def name(prvtname,lastname = "Ben Shushan"):

            return "{} Tal {}".format(prvtname,lastname)

print(name("My Name Is"))

Positional Arguments

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

כך בדוגמה הזו נוכל להבחין שקודם הוא הדפיס את myname ורק אז את mylastname

Args and **Kargs*

הכוכביות האלו הם למעשה ההגדרה בפונקציה שבה נוכל להגדיר מתי "יגיע" מה

def name(*args,**kwargs):

print(args)

print(kwargs)

prvtname = ["Tal", "Liya", "Amit"]

data = {"car":"honda", "color":"black"}

name(*prvtname,**data)

 

מאמרים קשורים

Leave a Comment