היא אחת משפות התכנות החזקות ביותר הקיימות כיום בשוק. Python תומך גם ביישום של שפות תכנות אחרות במערכת האקולוגית שלה כמו Java, C וכן C ++. מתוך שלל המודולים והפונקציות הקיימים במערכת האקולוגית של פייתון, אחד כזה הבולט בין השאר הוא המקרה בפייתון. לכן במאמר זה נדבר בפירוט על המקרה, השימושים בו והתכונות שהוא מביא לשולחן.
המצביעים הבאים יוסקרו במאמר זה,
- מהי אינסטינקט בפייתון?
- פרמטר וערך החזר של ישות
- שימוש ב- Type in Python
- ההבדל בין Type () לבין Isinstance
מהי אינסטינקט בפייתון?
השימוש ב- Python isinstance משמש כדי לבדוק אם האובייקט הראשון שהוא הארגומנט הוא מופע או תת מחלקה של מחלקת classinfo שהיא הארגומנט השני.
התחביר לאינסטנס בפייתון הוא כדלקמן.
isinstance (אובייקט, classinfo)
בואו נראה אילו פרמטרים וערך החזרה יש ל- Isinstance ב- Python,
פרמטר וערך החזר של ישות
פָּרָמֶטֶר
כעת, כשאתה מודע לתחביר ל- isinstance, הבה נבחן מקרוב את הפרמטר שהוא לוקח בחשבון.
- אובייקט: זה האובייקט שצריך לבדוק.
- Classinfo: זה המחלקה, המידע או כיתת המחלקות שצריך לבדוק את האובייקט.
ערך החזרה
כאשר משתמשים ב- instance בתוכנית, ערך ההחזר תלוי במספר תנאים, כפי שמוסבר בעצות שלהלן.
- נכון מוחזר אם האובייקט הוא תת-מחלקה של classinfo או כיתת מחלקות.
- שקר מוחזר אם האובייקט אינו תת-מחלקה של classinfo או כיתת class.
אם במצב מסוים, ה- classinfo אינו טיפוס או טיפוס של סוגים, אז יוצא חריג מסוג typeror על גבי מסך המשתמש.
דוגמאות
כדי להבין טוב יותר את השימוש ב- isinstance, בואו נסתכל על כמה דוגמאות.
דוגמה מס '1
class Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))
תְפוּקָה
מסגרת מונעת מילות מפתח בסלניום
נָכוֹן
שֶׁקֶר
נָכוֹן
Isinstance In Python: דוגמה מס '2
numbers = [1, 2, 3] result = isinstance (numbers, list) print (numbers, 'instance of list?', result) result = isinstance (numbers, dict) print (numbers, 'instance of dict?', result ) result = isinstance (numbers, (dict, list)) print (numbers, 'instance of dict or list?', result) number = 5 result = isinstance (number, list) print (number, 'מופע של רשימה?', תוצאה) תוצאה = isinstance (מספר, int) הדפס (מספר, 'מופע של int?', תוצאה)
תְפוּקָה
[1, 2, 3] מופע של רשימה? נָכוֹן
[1, 2, 3] מופע של דיקט? שֶׁקֶר
[1, 2, 3] מופע של תכתיב או רשימה? נָכוֹן
5 מופעים של רשימה? שֶׁקֶר
5 מופע של int? נָכוֹן
דוגמה מס '3
# קוד פיתון עבור מחלקה isinstance (): a = 5 TestInstance = Test () הדפס (isinstance (TestInstance, Test)) הדפס (isinstance (TestInstance, (רשימה, tuple))) הדפס (isinstance (TestInstance, (רשימה, tuple) , מבחן)))
תְפוּקָה
נָכוֹן
שֶׁקֶר
נָכוֹן
בואו נמשיך במאמר 'Isinstance In Python' ונבין את השימוש בשיטת Type,
מהי שיטה ב- javascript
השימוש ב- Type in Python
בדומה ל- isinstance, קיימת שיטה מובנית אחרת ב- Python המשמשת לבדיקת משתנה pf המשמש במהלך זמן ריצה. אם ארגומנט או אובייקט יחיד מועברים בשיטת הסוג, הוא מחזיר את סוג האובייקט בו משתמשים במהלך זמן הריצה.
כדי להבין זאת טוב יותר, עיין בדוגמה הבאה.
Isinstance In Python: דוגמה מס '1.1
# סוג קוד פייתון () עם פרמטר אובייקט יחיד x = 5 s = 'פלט לדוגמא' y = [1,2,3] הדפס (סוג (x)) הדפס (סוג (ים)) הדפס (סוג (y))
תְפוּקָה
כיתה 'int'
כיתה 'סטר'
כיתה 'רשימה'
דוגמה מס '1.2
# קוד פייתון לסוג () עם שם, # בסיסים ופרמטר dict o1 = type ('X', (object,), dict (a = 'Foo', b = 12)) הדפס (type (o1)) הדפס (vars (o1)) מבחן מחלקה: a = 'Foo' b = 12 o2 = סוג ('Y', (test,), dict (a = 'Foo', b = 12)) הדפס (סוג (o2)) הדפס (vars (o2))
תְפוּקָה
{'B': 12, 'a': 'Foo', '__dict__':, '__doc__': None, '__weakref__':}
{‘B’: 12, ‘a’: ‘Foo’, ‘__doc__ ': None}
מערך int ++ של c ++
בואו נשווה סוג וחשיבה בפייתון,
ההבדל בין Type () לבין Isinstance
סוג ו- instance ב- Python משרתים שתי פונקציות שונות מאוד. בדוק את המצביעים למטה כדי להבין את ההבדל ביניהם טוב יותר.
- אם אתה צריך לבדוק אם לאובייקט יש סוג מסוים, עדיף להשתמש ב- isinstance. הסיבה לכך היא שה- Instance יוכל לבדוק אם האובייקט שהועבר בארגומנט הראשון הוא מאותו סוג כמו זה שעבר בטיעון השני.
- מצד שני, השימוש בסוג עדיף יותר כאשר אתה צריך פשוט לבדוק את סוג האובייקט המסוים ולא להשוות אותו מול אחר.
דוגמא
קוד # פייתון להמחשת מחלקת הקלדת ברווז משתמש (אובייקט): def __init __ (עצמי, שם פרטי): self.firstname = שם פרטי @ property property שם (עצמי): להחזיר self.firstname מחלקה חיה (אובייקט): לעבור מחלקה Fox (Animal) : name = 'Fox' class Bear (Animal): name = 'Bear' # השתמש במאפיין .name (או מאפיין) ללא קשר לסוג זה ב- [User ('SampleOutput'), Fox (), Bear ()] : הדפס (שם שם)
תְפוּקָה
פלט לדוגמא
שׁוּעָל
דוב
סיבה נוספת שלא להשתמש בשיטת הסוג היא היעדר ירושה. עיין בדוגמאות המשותפות להלן כדי להבין זאת טוב יותר.
קוד # פייתון כדי להמחיש את היעדר # תמיכה בירושה בסוג () class MyDict (dict): '' 'תכתיב רגיל, שנוצר תמיד בעזרת מקש' ראשוני '' 'def __init __ (עצמי): עצמי [ 'initial'] = 'נתונים מסוימים' d = MyDict () הדפסה (סוג (d) == dict) הדפסה (type (d) == MyDict) d = dict () הדפסה (type (d) == dict) הדפסה (סוג (ד) == MyDict)
תְפוּקָה
שֶׁקֶר
נָכוֹן
נָכוֹן
שֶׁקֶר
אז זה זה חבר'ה, זה מביא אותנו לסוף מאמר זה. אני מקווה שהבנת את איזנסטנס בפייתון ומה זה עושה.
כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול לאימונים מקוונים חיים עם תמיכה 24/7 וגישה לכל החיים.
יש לך שאלה עבורנו? הזכר אותם במדור ההערות במאמר זה ונחזור אליך.