מופע לעומת שיטות סטטיות לעומת כיתתיות בפייתון: ההבדלים החשובים

מופע לעומת שיטות סטטיות לעומת כיתתיות בפייתון: ההבדלים החשובים

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





3 סוגי השיטות בפייתון

ישנם שלושה סוגים של שיטות ב- Python: שיטות מופע , שיטות סטטיות , ו שיטות כיתה .





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





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

לפני שנתחיל: הבנת דפוסי מעצבים

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



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

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





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

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is decorated! '''
print('I'm a decorated function!')

de = DecoratorExample()
de.example_function()

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





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

כיצד לחבר את אלקסה ל- wifi ללא אפליקציה

שיטות מופע ב- Python

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

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

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

להלן דוגמא:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
self.name = 'Decorator_Example'
def example_function(self):
''' This method is an instance method! '''
print('I'm an instance method!')
print('My name is ' + self.name)

de = DecoratorExample()
de.example_function()

ה שֵׁם ניתן לגשת למשתנה באמצעות עצמי . שימו לב שכאשר example_function נקרא, אינך צריך להעביר את עצמך פנימה --- פייתון עושה זאת עבורך.

שיטות סטטיות בפייתון

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

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is a static method! '''
print('I'm a static method!')

de = DecoratorExample.example_function()

ה @שיטה סטטית מעצב השתמש כדי לספר לפייתון ששיטה זו היא שיטה סטטית.

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

שיטות כיתה בפייתון

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

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

שיטות הכיתה נוצרות באמצעות @classmethod מְעַצֵב.

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@classmethod
def example_function(cls):
''' This method is a class method! '''
print('I'm a class method!')
cls.some_other_function()
@staticmethod
def some_other_function():
print('Hello!')

de = DecoratorExample()
de.example_function()

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

מתי להשתמש בכל סוג שיטה

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

אין קול במחשב נייד חלונות 10

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

לסיכום:

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

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד לנקות את מחשב Windows באמצעות שורת הפקודה

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

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

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

עוד מאת ג'ו קוברן

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

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

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