
a = 5 ואחר כך a = "string" ואחר כך a = 3.5. אין צורך להצהיר על הטיפוס. פייתון מזהה אותו לפי הערך, ולכן השפה נקראת דינמית.print בלי סוגריים, וב-Python 3 נדרשים סוגריים. בגרסה 2.7 שני הכתיבים עובדים.a + b כאשר a מחרוזת ו-b מספר נכשל. הפתרון הוא להמיר את b עם str(b), או להשתמש בפסיק בין הערכים בהדפסה.%s למחרוזת, %d למספר שלם, %f לשבר ו-%x להקסדצימלי. לדוגמה, 20 יודפס כ-14 בהקסדצימלי.a = [1, 2, 3] יוצר רשימה, len(a) מחזיר את אורכה, ו-a[0:2] חותך את האיברים מאינדקס 0 עד 2, בלי הסוף. אינדקס שלילי ניגש מהסוף. החיתוך נתמך גם במחרוזות.dir(a) מציג את כל הפעולות. count סופר מופעים של ערך, pop ו-remove מסירים איברים, ו-reverse הופך את הרשימה במקום.None. זהו ערך יחיד, שאינו שווה לאפס, למחרוזת ריקה או ל-False.r"...", מפרשת את הלוכסן האחורי כתו רגיל. זה שימושי לנתיבים של Windows, למשל r"c:\Windows\System".reverse, אינן מחזירות את הרשימה החדשה. לכן b = a.reverse() ישים ב-b את הערך None.הטקסט המלא של הדקות הראשונות בהרצאה «משתנים פייתון כולל List וגם String» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בסרטון הנוכחי נמשיך לדבר על שפת פייתון וסוגי המשתנים בפייתון אנחנו בסרטון הנוכחי נשתמש באינטראקטי מוד שהשתמשנו בו בעבר ניכנס, כפי שאתם רואים, נתחיל בהגדרת משתנה, כפי שעשינו בעבר אז a שווה 5 שימו לב שבניגוד לשפות תכנות אחרות, לא כתבתי
שa הוא משתנה מסוג מספר, פשוט כתבתי a שווה 5 עכשיו אם הייתי רוצה ליצור משתנה מסוג סטרינג, מסוג מכרוזת, כלומר רצף של תווים פשוט כל מה שאני צריך לעשות זה לעשות עוד פעם a שווה שים בגרשיים ואת הסטרינג שאני רוצה ליצור.
בעצם פייתון מבינה לבד שa עכשיו הוא סטרינג מקודם a היה 5 אבל עכשיו a נהיה סטרינג. אם אני ארצה שa יהיה משתנה מסוג שבר אז כל מה שצריך לעשות זה a שווה 3.5 וa בעצם תהיה 3.5. אם אני אכתוב עוד פעם a שווה מהי סטרינג אז a שווה מהי סטרינג.
איך בעצם שפת פייתון יודעת מה אני הגדרתי לה כי היא חכמה. היא לא צריכה שאני אגדיר לה שזה סטרינג, זוהי שפה דינמית.
אני רק אומר לה שמדובר במשתנה, והיא לבד מיוצרת מתחת לפני השטח את סוג המשתנה הזה, לפי מה שהגדרתי לה אותו. כשאני יוצר משתנה מסוג חדש, אפילו עם אותו שם, היא פשוט דורסת או בעצם יוצרת משתנה חדש, ו-a שלי עכשיו מצביע על תוכן המשתנה החדש.
עכשיו נראה קצת איך מדפיסים עם השפה. אז הפקודה שלנו בפייתון 7 היא print, ו-Python 3 זה print עם סוגריים. אפשר לכתוב גם בפייתון 7 פרינט עם סוגריים, שניהם יעבדו.
אנחנו נשמור על הפשטות ונכתוב בלי סוגריים אבל אין בעיה לכתוב עם סוגריים. אז נגיד אנחנו רוצים להדפיס את הערך של a, נעשה print a. בוא נוסיף משתנה חדש שיהיה שווה לערך 5. נוכל לעשות פרינט של a ושל b.
אז אפשר לעשות print a, פסיק b. שימו לב שאם אני אנסה לעשות print a ועוד b אנחנו נקבל שגיאה כי a הוא מסוג סטרינג וb הוא מסוג אינטג'ר, פייתון לא יודעת איך לחבר סטרינג לאינטג'ר.
אם היינו בכל זאת מתעקשים להדפיס את הדבר הזה ככה, נצטרך להמיר את b להיות אינטג'ר. כדי להמיר את b להיות אינטג'ר, נשארת בפונקציה שנקראת str.
עכשיו זה יעבוד. שימו לב שאין רווח בין שני הערכים. כדי להוסיף רווח, פשוט נוסיף עוד סטרינג באמצע של רווח. שימו לב שבעצם כל זה נמנע על ידי שימוש בפסיקים ביניהם, כפי שעשינו בעבר, כמה שורות מעל.
בואו ננסה קצת לסבך את העניינים יותר. בואו נגדיר עוד משתנה שהערך שלו הוא שבר, ועכשיו נעשה שיטת הדפסה קצת אחרת. זהו סגנון שהוא מוכר יותר משפת C וקיים גם בשפות אחרות.
תשימו לב שהגדרנו פה סטרינג, הגדרנו פה הדפסה של הסטרינג myscr is, שמנו אחוז s, אחרי זה כתבנו my decimal is אחוז d, את הטייפו הקטן הזה, אמור להיות פה מיי, מיי פלוט איז אחוז F. לאחר מכן שמנו את הסימן אחוז, ולאחר מכן בסוגריים שמנו פה את המשתנים שאנחנו
רוצים להדפיס, כאשר A בעצם יודפס איפה שכתוב אחוז S, B איפה שכתוב אחוז D, ו-C איפה שכתוב אחוז F. זה בעצם אומר לשפת פייתון להדפיס את הראשון בתור סטרינג, את השני בתור D דצימל, ואת השלישי בתור פלוט.
אם למשל להחליף פה את D ב-X, אז זה ידפיס לנו את השני בתור הקסה. אנחנו לא נראה הבדל פה, כי בעצם שני מספרים קטנים, אבל אם נגיד ש-B שווה 20, ועכשיו נשנה את ההדפסה, אנחנו נראה שהודפס לנו 14, כי זה הערך של 20 בהקסה.
ואם נחזיר את זה פה להיות D, אז נקבל 20. שימו לב שהסוגריים בסוף השורה הזאת נצרכים בגלל שיש לנו פה הדפסה של כמה ערכים. אם היינו רוצים להדפיס רק ערך אחד, אין סיבה לסוגריים האלה.
אם נמחק פה את האחוז D ואת האחוז F, אפשר גם למחוק את הסוגריים אם לעומת זאת יהיה אי תאימות בין כמות האחוזים לכמות המשתנים אחרי הסטרינג נקבל שגיאה.
האחוז בין שני החלקים שנמצא אחרי הגרשיים מהווה הפרדה בין הסטרינג שאנחנו רוצים להדפיס לבין הערכים שפייתון ישים איפה שיש אחוז משהו בתוך הסטרינג.
שימו לב שאפשר לשחק עם הפורמט כמו בשפות אחרות אם נכתוב פה 0.2 זה את הגרשיים שברחו לי פה שימו לב שיש רק 4.5 0 לעומת זאת אם נעשה פה 4 אז נראה שיש לנו 4,500 או אתה יכול 5,000 יש עוד כל מיני משחקי סטרינג אפשר למצוא אותם בדוקומנטציה הרשמית של פייתון חשוב מאוד אם כבר אנחנו מדברים על זה להגיד ששפת פייתון יש לה דוקומנטציה מאוד טובה היא אמנם באנגלית אבל
אבל יש הרבה דוגמאות. בואו נראה דוגמאות קטנות על ה-Python דוקומנטציה. אז האמת, לא צריך להיכנס לאתר של פייתון, אפשר פשוט לכתוב בגוגל, למשל במקרה הזה אנחנו רוצים לדעת איך לעשות סטרינג פורמטינג.
נכתוב בגוגל סטרינג פורמט. ואם רק נרד קצת למטה ונחפש, אנחנו נראה פה מלא מלא מלא דוגמאות. הנה x זה Hexa ו-d זה Decimal, כמו שהראתי לכם, ו-s זה String.
בואו רק נראה לכם איך עושים הדפסה של בפייתון 3. אז פייתון 3, כל מה שצריך לעשות שזה עם סוגריים, פשוט להוסיף סוגריים לסוף ובתחילת הסטרינג.
תוצאה היא אותו דבר על המסך, בפייתון 3 אם ננסה להריץ את הגרסה בלי הסוגריים נקבל שגיאה. עכשיו נדבר קצת על מבנה נתונים מתקדמים יותר בפייתון, עד עכשיו דיברנו על סטרינג פשוט, עכשיו אנחנו נגדיר ליסט.
אז מה זה ליסט? ליסט או בעצם מערך זה מקבץ של משתנים. איך מגדירים ליסט בפייתון? משתמשים בסוגריים מרובעות. למשל, אני רוצה להגדיר ליסט שמכיל את המספרים 1, 2, 3. אז כל מה שאני עושה, אני כותב a שווה, סוגר מרובע, הערכים שאני רוצה לשים
בתוך עם פסיקים ביניהם, וסוגר סוגר מרובע. כרגע יצרתי ליסט בגודל 3 שמכיל את הערכים 1, 2, 3. אפשר להדפיס אותו ככה, ככה, וזה מה שקיבלנו.
אם אנחנו רוצים לדעת את האורך של הליסט הזה, עכשיו יש בפונקציה lan, lan מחזירה לנו אורך של כל דבר שנמצא בשפת פייתון. לדוגמה, אם אני אגדיר עכשיו סטרינג שמכיל סתם סטרינג רנדומלי, ואני אעשה lan של הסטרינג הזה, אני אקבל את האורך שלו.
שפת פייתון היא שפה מאוד קונסיסטנטית, וlan מחזיר אורך של כל דבר שיש לו אורך בשפה. עכשיו אנחנו נראה כמה אופרציות של שיפטינג, של סלייסינג של מבנה נתונים.
מה זה בעצם? מה זה סלייסינג? סלייסינג זה בעצם לגשת לערך מסוים בליסט או טווח ערכים בליסט למשל אם נרצה להדפיס את האיבר הראשון בליסט שלנו אז פשוט נכתוב a במקום ה-0 כי בפייתון כמו בהרבה שפות אחרות הליסט או המערך זה שווה ערך מתחילים לספור אותם מי המספר 0 אם נרצה להדפיס את האיבר השני פשוט נעשה a
במקום ה-1 האופרטור של סלייסינג הוא הרבה יותר חזק מזה. למשל, אם נרצה ליצור ליסט חדש או להדפיס ליסט מי רק את האיברים הראשון והשני, כל מה שצריך לעשות זה לכתוב 1.2.2 ואנחנו נקבל, סליחה, 0.2 ואנחנו נקבל את האיבר מהאיבר ה-0 עד האיבר
ה-2. בואו נעשה קצת דוגמה יותר מסובכת, בואו ניצור ליסט באורך של מספרים 1 עד 10. לצורך כך נשתמש פונקציה range, אנחנו ניצור פה ליסט עם המספרים 0 עד 10 אוקיי, בעצם 0 עד 9, לא עד 10 כי זה מ-0 עד המספר בסוגריים, לא כולל אותו עכשיו נרצה להדפיס את כל
המספרים הזוגיים בליסט הזה כל מה שנעשה זה לעשות, אנחנו רוצים להדפיס מ-0 עד 10 בדילוג של 2 בעצם קיבלנו את כל המספרים הזוגיים, אבל פייתון ניספה הרבה יותר חכמה מזה אם האינדקס הראשון הוא הראשון והאינדקס האמצעי הוא האחרון, אפשר פשוט להוריד אותם ולהשאיר נקודותיים ריקים
ונקבל את אותה תוצאה. פייתון גם מאפשרת לנו לגשת לאיברים מהסוף על ידי שימוש באינדקסים שליליים. למשל, נרצה לקבל את האיבר האחרון, במקום לכתוב כמו בשפות תכנות אחרות a במקום הלנ של, פשוט אפשר לכתוב מינוס 1 לקבל את האיבר האחרון.
אפשר גם לכתוב a במקום המינוס 2 וכן הלאה וכן הלאה וכן הלאה. אם נרצה למשל להפוך סטרינג או להפוך את הליסט שלנו כל מה שצריך לעשות