Home Python עמוד 2 – הסבר על Python – Variables פייתון משתנים

עמוד 2 – הסבר על Python – Variables פייתון משתנים

by Tal Ben Shushan 13/07/2021 0 comment
עמוד 2 – הסבר על Python – Variables פייתון משתנים
נהנתם מהמאמר ? שתפו אותו!

הסבר על Python – Variables פייתון משתנים

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

את

print ("Hello World")

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

כעת נעבור למשתנים:

יש כמה סוגים של "טקסט" שאתם מזינים למשתנה ובשביל להבין משתנים יותר טוב נכתוב כמה שורות קוד

נכתוב משתנה בשם Name, אנו למעשה מכריזים שName הוא Tal

name = "Tal"

בכדי להדפיס את המשתנה נכתוב

print(name)

הקוד שלנו יראה כך

name = "Tal"
print(name)

והתוצאה כאשר נריץ את זה

עד כה המשתנה פשוט, כעת נציג משתנה שמשתנה לפי מה שמוזן למשתנה

נוכל להגדיר Input שבו המשתמש מזין את המשתנה וכך הוא מוצג לפי הכתוב וזה יתן לכם הבנה טובה יותר מהו משתנה

name = input("What is your name: ")

print(name)

כעת נריץ את הקוד ע"י כפתור Play או Shift + F10

הפלט שנקבל הוא השם שהזנתי באותו הרגע והפך למשתנה name

 

Operators

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

נעבור תחילה על הקדימויות והאפשרויות הבאות

פחות

ועוד

כפול

בחזקה

+  –  *  ** /

a = 5+ 10/2 * 4**3

print(a)

זאת אומרת שהתוצאה כאן תיהיה קודם כל חישוב של החילוק

10/2 = 5

ואז החישוב של 4 בחזקת 3 שהתוצאה היא 64

4**3 = 64

ואז כל זה כפול

5*64 = 320

ובסוף ה+ שהוא 5 , התוצאה למעשה תיהיה

325

אבל אם נזין את פעולת החישוב שנרצה תחילה ב() אז התוצאה תשתנה לחלוטין

a = (5+10) /2 * 4**3

print(a)

כך למעשה פעולת החיבור תתבצע קודם

5+10 = 15

ואז

15 / 2 = 7.5

פעולת החזקה תפעל

4**3 = 64

ולבסוף פעולת הכפל בינהם

7.5 * 64 = 480

Floor Division //

// הוא למעשה הצגה של חילוק ללא שארית, כמו כאן

a = 10 // 5

print(a)

התוצאה היא 2 ללא 2.0

 

Modulus %

יחזיר את השארית, לדוגמה

a = 13 % 3

print(a)

התוצאה תיהיה 1 שכן השארית היא 1

אופרציה זיקתית- Relational Operator

<>

<> צורה זו אומרת פחות או יותר מ… לדוגמה

a = 5 < 10

print(a)

אתם בטח שואלים את עצמכם מה התוצאה פה?! התוצאה היא שאלה, האם 5 קטן מ10

התוצאה של שורת קוד זו היא – התוצאה היא Booleans בוליאנית של נכון או לא נכון

True

שכן 5 קטן מ10, ואילו היה הפוך והשאלה הנשאלת היא 5 גדול מ10 התוצאה הייתה False

 

=>    =<

אופרציה זו אומרת קטן או שווה ל…

דוגמה

a = 5 <= 10

print(a)

גם כאן התוצאה תיהיה True אבל אם נזין 10

a = 10 <= 10

print(a)

התוצאה עדיין תיהיה True כי שאלנו אם 10 קטן או שווה ל10

אם היינו מכניסים אם 10 קטן מ10 אז התוצאה הייתה Flase שכן 10 לא קטן מ10 הוא שווה לו

a = 10 < 10

print(a)

false

האופציה הנוספת של תצורה זו היא =< שכן זה אותה אופרציה רק עם השאלה גדול או שווה ל…

 

==

אופרציה זו אומרת אם נתון מצד שמאל שווה לנתון מצד ימין לדוגמה

a = 1 == 1

print(a)

האם 1 מצד שמאל שווה ל1 מצד ימין, כמובן שכן אז התוצאה היא

True

אבל אם נזין

a = 1 == 2

print(a)

התוצאה

False

 

Boolean

True או False נקרא גם Boolean אך המספרים 1 ו 0 שווים גם הם לTrue או Flase זאת אומרת שאם אכניס את הנתון הבא

a = 0 == True

print(a)

התוצאה

False

אבל אם אזין

a = 1 == True

print(a)

התוצאה תיהיה True וכן גם הפוך עם 0 ו 1

 

Not equal to =!

=! אומר לא שווה ל…
זאת אומרת בקוד

a = 10 != 1

print(a)

השאלה שנשאלת פה היא האם 10 לא שווה ל1, התשובה היא

True

שכן 10 לא שווה ל1

 

=+

אנחנו יכולים לכתוב את הקוד הבא

a= 2

b = a+2

print(b)

כמו שהבנתם זה יצור מצב בו a = שווה ל2 אבל a שווה ל a פלוס 2 וזהו a

אבל נוכל לקצר את הקוד כך

a = 2

a += 2

print(a)

התוצאה תיהיה עדיין 4

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

a = 2

a /= 2

print(a)

 

Logical Operator

OR AND NOT

אופרטור לוגי הוא למעשה OR AND NOT

AND

נתחיל מ and

a = 5 > 10 and 2 < 7

print(a)

מה השאלה שנשאלה כאן?

האם חמש גדול מ10 ו2 קטן מ7 התשובה של 2 קטן מ 7 אכן זה True אבל בגלל שהגדרנו AND התוצאה חייבת להיות נכונה בשני החישובים שאנחנו עושים כך שאם 5 גדול 10 וזה False, התוצאה תיהיה False

התוצאה של קוד זה

False

אבל אם נשנה הפעם ל

a = 11 > 10 and 2 < 7

print(a)

בו מתקיים גם 11 גדול 10 ו2 קטן מ7 ובגלל AND חייבים שנייהם להתקיים אז התוצאה היא

True

 

OR

כעת האופרטור אומר או זה או זה חייבים להתקיים

a = 6 > 10 or 2 < 7

print(a)

אם 6 גדול מ10 התוצאה היא False אבל 2 קטן מ 7 זה נכון ולכן התוצאה היא

True

NOT

הוא קצת שונה שכן מטרתו אחת, היא להמיר Boolean מ True ל False ו True ל False

למשל

a = not( 6 > 10 or 2 < 7)

print(a)

הכנסתי את הבדיקה של OR שעשינו קודם שהתוצאה היא True, ואותה הכנסתי אל תוך not ולכן התוצאה היא

False

כיוון ש not הפך את זה מTrue

 

Numbers – Strings VS Intgers

כעת אכניס את מה שכתבנו למעלה ל"הערה" Comment זאת אומרת שהעורך לא יריץ את הקוד שכתבתי , אוכל להכניס לכל שורה # או שאוכל לסמן הכל וללחוץ על Ctrl + / , ה / שציינתי נמצא בצד הכי שמאלי במקלדת למעלה

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

ככה

a = 1

b = 2

print(a + b)

ברגע שאשמור את קובץ ואריץ את הקוד אקבל

כמו שהבנתם הדפסתי את a + b אבל מה יקרה אם אכניס "" למשל למספר 1

a = "1"

b = 2

print(a + b)

הפלט

אני מקבל שגיאה, השגיאה חשובה מאוד שכן פייתון רושם שהוא יכול לחבר Strings ולא intger

Strings – הכוונה היא לאותיות, טקסט

Intger – אומר מספרים

זאת אומרת שאם אכניס גם את 2 ל "2" אז התוצאה תיהיה

a = "1"

b = "2"

print(a + b)

התוצאה

12

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

אופציה נוספת היא לבדוק את הClass על ידי הפקודה

print(type(a))

אקבל

<class 'str'>

זה למעשה אומר כי זה ערך מסוג String – טקסט ולא Intger

כעת נראה איך משתנה נכנס במשתנה אחר, כמו שהסברתי במאמר הראשון פייתון קורא את הקוד מההתחלה אל הסוף

age = input("What is your age: ")

age2 = int(age) + 1

print(age2)

אז מה יש לנו כאן, המשתמש יזין את הגיל ואז משתנה age2 יכניס את age פלוס 1 , זה אומר שאם המשתמש יזין 10 הוא יקבל 11

עד כה אתם מכירים את הSyntax אבל מדוע הכנסתי int ובסוגריים את המשתנה age

הסיבה היא ש input מקבל רק Strings ולכן לא יכול להמיר את הגיל נניח 10 שהוא טקסט ל+ ועוד 1
אז אנחנו ממירים את המשתנה age אחרי שהוא מוזן מהמשתמש לintger וזה מה שעושה הפונקציה int
באותה מידה אפשר להמיר את המשתנה לString על ידי

str(המשתנה שלכם)

דוגמה נוספת היא המרה של המשתנה ל float וזה יגרום לתוצאה להיות עם שארית

age2 = float(age) + 1

ואז התוצאה תיהיה

11.0

תוצאה

Formatted Strings

כאשר אנחנו כותבים משתנים ובתוכם את הערכים שאנחנו רוצים , לפעמים אנחנו רוצים להוסיף סימן או אות באמצע של כל אותו משתנה וזה מבלי ליצור משתנה חדש , נניח ואני רוצה להכניס בתוך השם Tal Ben Shushan את הסימן – בין ה Tal לבין Ben Shushan שאנשים יוכלו להבחין בין השם הפרטי לשם המשפחה

אוכל להכניס עוד משתנה עם הסימן -, אבל במקום זאת אוכל להכניס Formatted String עם ה

f"

ובתוכו את הטקסט והמשתנים שאני רוצה

fn = "Tal"

ls = "Ben Shushan"

אז אכתוב את הקוד

fn = "Tal"

ls = "Ben Shushan"

fullname = f'{fn} – {ls}'

print(fullname)

Methods – שיטות

Methods הם למעשה פעולה שאנחנו מבצעים על המשתנה, לדוגמה

נזין משתנה עם שם וכמובן הערך הוא Strings

fullname = "Tal Ben Shushan"

print(dir(fullname))

כעת ע"י הפקודה dir נבדוק איזה שיטות ניתן להוסיף לאותו המשתנה, הרשימה שנקבל

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

נשתמש ב len שסופר כמה "אותיות" יש בתוך המשתנה

התשובה 15

כעת ניקח לדוגמה את upper שמופיע פה

מחקתי את ה len וכעת בסוף ההדפסה במשתנה fullname אכניס . הנקודה הזו תפתח לי את האפשרויות שאני יכול להחיל על המשתנה

לדוגמה upper

 

fullname = "Tal Ben Shushan"

print(fullname.upper())

 

עוד Method מעניין הוא ה in שכן הוא בודק האם טקסט מסוים קיים בתוך משתנה

fullname = "Tal Ben Shushan"

print("Ben" in fullname)

אם ben קיים בתוך fullname נקבל true

 

 

 

 

 

 

 

 

 

 

 

 

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

Leave a Comment