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



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

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

אז בואו נתחיל אז,





בוני פיתון

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

בהמשך למאמר זה על בוני פיתון,



מה זה קונסטרוקטור בפייתון?

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

בפייתון ישנם שני סוגים שונים של קונסטרוקטורים.

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

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



בהמשך למאמר זה על בוני פיתון,

יצירת קונסטרוקטור בפייתון

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

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

הערה:

מסגרת מונעת נתונים בדוגמה של סלניום

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

כדי להבין מושג זה טוב יותר, עיין בדוגמה הבאה.

מחלקה עובד: def __init __ (עצמי, שם, מזהה): self.id = id self.name = שם def תצוגה (self): הדפס ('ID:% d nName:% s'% (self.id, self.name )) emp1 = עובד ('ג'ון', 101) emp2 = עובד ('דוד', 102) # גישה לתצוגה () שיטת הדפסת עובד 1 מידע emp1.display () # גישה תצוגה () שיטת הדפסת עובד 2 מידע emp2 .לְהַצִיג()

כאשר אתה מפעיל את התוכנית לעיל, הפלט ייראה בערך כך.

תעודת זהות: 101

שם: ג'ון

תעודת זהות: 102

שם: דוד

בהמשך למאמר זה על בוני פיתון,

ההבדל בין בנאי פרמטריאלי ללא פרמטרי

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

מחלקה תלמיד: # קונסטרוקטור - def ללא פרמטרים __init __ (עצמי): הדפס ('זה קונסטרוקטור שאינו פרמטרי') def show (עצמי, שם): הדפס ('שלום', שם) סטודנט = סטודנט () סטודנט. show (' ג'ון ')

האמור לעיל הוא דוגמה לבנאי שאינו פרמטרי, והפלט שלו יהיה הבא.

זהו קונסטרוקטור לא פרמטרי

קבל אורך מערך js

שלום ג'ון

מחלקה תלמיד: # קונסטרוקטור - הגדרת פרמטרים __init __ (עצמי, שם): הדפס ('זהו קונסטרוקטור פרמטרי') self.name = שם def show (עצמי): הדפס ('שלום', שם עצמי) student = סטודנט (' ג'ון ') student.show ()

האמור לעיל הוא דוגמה לבניית פרמטרים, והפלט שלו יהיה הבא.

זהו קונסטרוקטור פרמטרי

שלום ג'ון

בהמשך למאמר זה על בוני פיתון,

בפונקציות כיתות מובנות בפייתון

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

מה זה דפוס בג'אווה
  1. getattr (obj, שם, ברירת מחדל): פונקציה מובנית זו בפייתון משמשת לקבל גישה לתכונות של מחלקה.
  2. delattr (obj, שם): אם עליך למחוק תכונה ספציפית בכיתה, השתמש בפונקציה מובנית זו.
  3. setattr (obj, שם, ערך): במצב מסוים, אם תחליט להגדיר ערך מסוים למאפיין ספציפי, אז השתמש בפונקציה זו המובנית בפייתון.
  4. hasattr (obj, name): אחרון חביב, אם אתה צריך לראות אם אובייקט מסוים מכיל תכונה, השתמש בפונקציה זו. לאחר הביצוע, הדבר יחזור להיות נכון אם תכונה קיימת בפונקציה.

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

כיתה תלמיד: def __init __ (עצמי, שם, מזהה, גיל): self.name = שם self.id = id self.age = age # יוצר את האובייקט של הכיתה Student s = Student ('John', 101,22) # מדפיס את שם המאפיין של הדפסת האובייקט (getattr (s, 'שם')) # אפס את הערך של גיל המאפיין ל- 23 setattr (s, 'age', 23) # מדפיס את הערך ששונה של הדפסת גיל (getattr ( s, 'age')) # הדפסים נכון אם התלמיד מכיל את התכונה עם שם id הדפסה (hasattr (s, 'id')) # מוחק את התכונה age delattr (s, 'age') # זה ייתן שגיאה מאז גיל המאפיין נמחק הדפסה (s.age)

התפוקה של האמור לעיל תהיה.

ג'ון

2. 3

נָכוֹן

AttributeError: לאובייקט 'סטודנט' אין מאפיין 'גיל'

בהמשך למאמר זה על בוני פיתון,

תכונות כיתה מובנות

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

  1. __dict__: באמצעות זה אתה יכול להציג את המילון המכיל מידע הנוגע למרחב השמות של הכיתה.
  2. __name__: השתמש במאפיין זה, אם אתה צריך להציג את שם המחלקה הנוכחית.
  3. __doc__: מאפיין זה מכיל מחרוזת המכילה את התיעוד למחלקה הנוכחית.
  4. __module__: אם עליך לגשת למודול בו מוגדרת הכיתה השתמש במאפיין מובנה זה.
  5. __bases__: אם אתה צריך להציג את הכפול הכולל את כל מחלקות הבסיס, השתמש בפונקציה זו.

דוגמה להבהרת כל תכונות הכיתה המובנות היא כמפורט להלן.

כיתה תלמיד: def __init __ (עצמי, שם, מזהה, גיל): self.name = שם self.id = id self.age = גיל def display_details (עצמי): הדפס ('שם:% s, מזהה:% d, גיל :% d '% (self.name, self.id)) s = סטודנט (' John ', 101,22) הדפס (s .__ doc__) הדפס (s .__ dict__) הדפס (module .__)

זה מביא אותנו לסוף מאמר זה בנושא בוני פיתון.

כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול לאימונים מקוונים חיים עם תמיכה 24/7 וגישה לכל החיים.

יש לך שאלה עבורנו? הזכר אותם בסעיף ההערות של 'הדרכת פייתון' ונחזור אליך.