logo

Python isinstance() פונקציה

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

הפונקציה isinstance() לוקחת שני ארגומנטים אובייקט ו-classinfo ומחזירה True או False. החתימה של הפונקציה ניתנת להלן.

תחביר:

 isinstance(object, classinfo) 

פרמטרים

לְהִתְנַגֵד: זהו אובייקט מסוג מחרוזת, int, float, long או מותאם אישית.

מידע מחלקה: שם הכיתה.

לַחֲזוֹר

זה מחזיר בוליאני נכון או לא נכון.

בוא נראה כמה דוגמאות לפונקציית isinstance() כדי להבין את הפונקציונליות שלה.

Python Isinstance() דוגמאות:

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

1. מספר שלם

קוד

apurva padgaonkar
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

תְפוּקָה:

 True 

2. לצוף

קוד

 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

תְפוּקָה:

 True 

3. מחרוזת

קוד

 # Check if a string is a string name = 'Johnny' print(isinstance(name, str)) 

תְפוּקָה:

 True 

4. רשימה

קוד

len of string ב-java
 # Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list)) 

תְפוּקָה:

 True 

5. מילון

קוד

 # Check if a dictionary is a dict person = {'name': 'Ayan', 'age': 30} print(isinstance(person, dict)) 

תְפוּקָה:

שלג מול קרח
 True 

6. טופל

קוד

 # Check if a tuple is a tuple point = (1, 5) print(isinstance(point, tuple)) 

תְפוּקָה:

 True 

7. הגדר

קוד

 # Check if a set is a set digits = {1, 2, 3, 4,5,6,7,8} print(isinstance(digits, set)) 

תְפוּקָה:

 True 

8. כיתה

קוד

 # Check if a custom class instance is an instance of that class class Bike: pass my_bike = Bike() print(isinstance(my_bike, Bike)) 

תְפוּקָה:

 True 

בוא נראה עוד כמה דוגמאות לפונקציית isinstance() כדי להבין את הפונקציונליות שלה.

Python isinstance() פונקציה דוגמה 1

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

אם לפי תקציר rudyard kipling

קוד

 # Python isinstance() function example class Student: id = 101 name = 'John' def __init__(self, id, name): self.id=id self.name=name student = Student(1010,'John') lst = [ 12,34,5,6,767 ] # Calling function print(isinstance(student, Student)) # isinstance of Student class print(isinstance(lst, Student)) 

תְפוּקָה:

 True False 

Python isinstance() פונקציה דוגמה 2

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

קוד

 # Python isinstance() function example class Animal: def speak(self): raise NotImplementedError class Dog(Animal): def speak(self): return 'Woof!' class Cat(Animal): def speak(self): return 'Meow!' def make_animal_speak(animal): if isinstance(animal, Animal): return animal.speak() else: raise ValueError('Object is not an Animal') my_dog = Dog() my_cat = Cat() print(make_animal_speak(my_dog)) print(make_animal_speak(my_cat)) 

תְפוּקָה:

 'Woof!' 'Meow!' 

Python isinstance() פונקציה דוגמה 3

פונקציה זו מחזירה True גם אם האובייקט הוא של תת-מחלקה והמחלקה היא מחלקת אב. ראה איך זה עובד בדוגמה למטה.

קוד

 # Python isinstance() function example # Declaring variables class NumericList(list): def __init__(self): return None num = NumericList() # Calling function print(isinstance(num, NumericList)) # True print(isinstance(num, list)) # True 

תְפוּקָה:

 True True 

סיכום:

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