اكتب () و isinstance () في Python مع الأمثلة

ما هو النوع () في Python?

Python يحتوي على وظيفة مدمجة تسمى type() تساعدك في العثور على نوع فئة المتغير المحدد كمدخل. على سبيل المثال، إذا كان الإدخال عبارة عن سلسلة، فستحصل على الإخراج كـ ، بالنسبة للقائمة، سيكون ، إلخ.

باستخدام أمر type()، يمكنك تمرير وسيطة واحدة، وستكون قيمة الإرجاع هي نوع فئة الوسيطة المقدمة، على سبيل المثال: type(object).

من الممكن أيضًا تمرير ثلاث وسائط إلى type()، أي type(name, bases, dict)، في مثل هذه الحالة، سيعيد لك كائن نوع جديد.

بناء الجملة للنوع ()

يمكن استخدام type() بطريقتين كما هو موضح أدناه:

 type(object)
type(namr, bases, dict)

المعلمات: النوع (الكائن)

  • الكائن: هذه معلمة إلزامية. إذا كانت هذه المعلمة فقط تم تمريرها إلى type()، فسوف تُرجع لك نوع المعلمة.

المعلمات: النوع (الاسم، القواعد، الإملاء)

  • الاسم: اسم الفصل.
  • القواعد: (اختياري). هذه معلمة اختيارية، وهي الفئة الأساسية
  • الإملاء: (اختياري). هذه معلمة اختيارية، وهي عبارة عن مساحة اسم تحتوي على تعريف الفئة.

قيمة الإرجاع

إذا كان الكائن هو المعلمة الوحيدة التي تم تمريرها إلى type() فسوف يُرجع لك نوع الكائن.

إذا كانت المعلمات التي تم تمريرها إلى النوع هي نوع (object, bases, dict)، في مثل هذه الحالة، فسوف تُرجع نوعًا جديدًا من الكائنات.

مثال على النوع()

في هذا المثال لدينا قيمة سلسلة، ورقم، وقيمة عائمة، ورقم مركب، وقائمة، ومجموعتين، وقاموس، ومجموعة. سنستخدم المتغيرات التي تحمل النوع لرؤية الناتج لكل منها.

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

الإخراج:

The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

مثال: استخدام type() لكائن الفئة.

عند التحقق من الكائن الذي تم إنشاؤه من فئة باستخدام type()، فإنه يُرجع نوع الفئة مع اسم الفئة. في هذا المثال، سنقوم بإنشاء فئة والتحقق من نوع الكائن الذي تم إنشاؤه من اختبار الفئة.

class test:
    s = 'testing'

t = test()
print(type(t))

الإخراج:

<class '__main__.test'>

مثال: استخدام الاسم والقواعد والإملاء في النوع ()

يمكن أيضًا استدعاء النوع باستخدام بناء الجملة: type(name, bases, dict).

المعلمات الثلاثة التي تم تمريرها إلى type() ie والاسم والقواعد والإملاء هي المكونات التي تشكل تعريف الفئة. يمثل الاسم اسم الفئة، والأساسات هي الفئة الأساسية، وdict هو قاموس سمات الفئة الأساسية.

في هذا المثال، سنستخدم جميع المعلمات الثلاثة، أي الاسم والقواعد والإملاء في النوع ().

على سبيل المثال:

class MyClass:
  x = 'Hello World'
  y = 50

t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

الإخراج:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

عندما تقوم بتمرير جميع الوسائط الثلاث إلى type()، يساعدك ذلك على تهيئة فئة جديدة باستخدام سمات الفئة الأساسية.

ما هو المثيل () في Python?

Python isinstance جزء من وظائف بايثون المضمنة. Python يأخذ isinstance() وسيطتين، ويعيد القيمة true إذا كانت الوسيطة الأولى عبارة عن مثيل لمعلومات الفئة المعطاة كوسيطة ثانية.

بناء الجملة هو مثيل ()

isinstance(object, classtype)

المعلمات

  • الكائن: هو الكائن الذي تقوم بمقارنة مثيله بنوع الفئة. وسوف يعود بقيمة true إذا كان النوع يتطابق مع القيمة false.
  • نوع الفصل: نوع أو فئة أو مجموعة من الأنواع و/أو الفئات.

قيمة الإرجاع

سيعود صحيحًا إذا كان الكائن مثيلًا لنوع الفئة وخطأ إذا لم يكن كذلك.

أمثلة على isinstance()

سندرس في هذا القسم أمثلة مختلفة لتعلم isinstance()

مثال: isinstance() التحقق من العدد الصحيح

يقوم الكود أدناه بمقارنة القيمة الصحيحة 51 مع النوع int. وسوف يعيد القيمة true إذا كان النوع 51 يتطابق مع int وإلا فسوف يعيد القيمة false.

age = isinstance(51,int)
print("age is an integer:", age)

الإخراج:

age is an integer: True

مثال: isinstance() فحص عائم

في هذا المثال، سنقوم بمقارنة القيمة العائمة مع النوع float، أي أن القيمة 3.14 سيتم مقارنتها بالنوع float.

pi = isinstance(3.14,float)
print("pi is a float:", pi)

الإخراج:

pi is a float: True

مثال: isinstance() فحص السلسلة

message = isinstance("Hello World",str)
print("message is a string:", message)

الإخراج:

message is a string: True

مثال: isinstance() Tuple check

يتحقق الكود من وجود صف (1,2,3,4,5،XNUMX،XNUMX،XNUMX،XNUMX) مع نوع الصف. سيعود صحيحًا إذا كان الإدخال المقدم من النوع Tuple وخطأ إذا لم يكن كذلك.

my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)

الإخراج:

my_tuple is a tuple: True

مثال: isinstance() قم بتعيين الاختيار

يتحقق الرمز من وجود مجموعة ({1,2,3,4,5}، مع مجموعة النوع. وسيعود صحيحًا إذا كان الإدخال المقدم من مجموعة النوع وخطأ إذا لم يكن كذلك.

my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)

الإخراج:

my_set is a set: True

مثال: التحقق من قائمة isinstance()

يتحقق الكود من القائمة [1,2,3,4,5،XNUMX،XNUMX،XNUMX،XNUMX]، مع قائمة النوع. سيعود صحيحًا إذا كان الإدخال المقدم من قائمة النوع وخطأ إذا لم يكن كذلك.

my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)

الإخراج:

my_list is a list: True

على سبيل المثال: isinstance() dict check

يتحقق الكود من وجود dict({"A":"a", "B":"b", "C":"c, "D":"d"}، بنوع dict. وسيعود صحيحًا إذا الإدخال المقدم من النوع dict وfalse إذا لم يكن كذلك.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)

الإخراج:

my_dict is a dict: True

مثال: اختبار isinstance() على الفصل الدراسي

يعرض الكود فحص نوع الفئة باستخدام isinstance() . تتم مقارنة كائن الفئة باسم الفئة داخل isinstance() . ويعيد true إذا كان الكائن ينتمي إلى الفئة وfalse بخلاف ذلك.

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

الإخراج:

_class is a instance of MyClass() True

الفرق بين النوع () و isinstance () في Python

يكتب() isinstance ()
Python يحتوي على وظيفة مدمجة تسمى type() تساعدك في العثور على نوع فئة المتغير المحدد كمدخل. Python تحتوي على دالة مدمجة تسمى isinstance() والتي تقارن القيمة بالنوع المحدد. إذا تطابقت القيمة والنوع المحددين فسوف تعود القيمة true وإلا فسوف تعود القيمة false.
القيمة المرجعة هي كائن كتابة القيمة المرجعة هي قيمة منطقية، أي صواب أو خطأ.
class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(type(A()) == A)
print(type(B()) == A)

الإخراج:

True
False

في حالة النوع، فإن فحص الفئة الفرعية يعطي خطأ.

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

الإخراج:

True
True

يعطي isinstance() قيمة صحيحة عند التحقق من فئة فرعية.

الملخص

  • Python يحتوي على وظيفة مدمجة تسمى type() تساعدك في العثور على نوع فئة المتغير المحدد كمدخل. على سبيل المثال، إذا كان الإدخال عبارة عن سلسلة، فستحصل على الإخراج كـ ، بالنسبة للقائمة، سيكون ، إلخ.
  • بالنسبة إلى type()، يمكنك تمرير وسيطة واحدة، وستكون القيمة المرجعة هي نوع فئة الوسيطة المقدمة، على سبيل المثال، type(object).
  • من الممكن أيضًا تمرير ثلاث وسائط إلى type()، أي type(name, bases, dict)، في مثل هذه الحالة، سيعيد لك كائن نوع جديد.
  • Python تحتوي على دالة مدمجة تسمى instance() تقارن القيمة بالنوع المحدد. إذا تطابقت القيمة والنوع المحددين، فسوف تعيد القيمة true وإلا فسترجع القيمة false. باستخدام isinstance()، يمكنك اختبار السلسلة، والعدد العائم، والعدد الصحيح، والقائمة، والصف، والقاموس، والمجموعة، والفئة، وما إلى ذلك.
  • باستخدام طريقة isinstance()، يمكنك اختبار السلسلة، و float، و int، و list، و tuple، و dict، و set، و class، وما إلى ذلك.