English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دروس بايثون الأساسية

تحكم في العمليات بايثون

الوظائف في Python

أنواع البيانات في Python

عمليات ملف بايثون

كائنات ومناظر في بايثون

تاريخ وتوقيت بايثون

معرفة متقدمة في بايثون

دليل بايثون

استخدام وظيفة type() في بايثون ومثال

وظائف محلية بايثون

تقوم وظيفة type() في بايثون بإرجاع نوع الكائن أو إرجاع كائن نوع جديد بناءً على المعلمات المقدمة.

يكون لدى وظيفة type() شكلين مختلفين:

type(object)
type(name, bases, dict)

وظيفة type() مع parameter object واحد

إذا تم تمرير object إلى type()، فإن هذه الوظيفة ستعود نوعها.

مثال 1: الحصول على نوع الكائن

numbers_list = [1, 2]
print(type(numbers_list))
numbers_dict = {1: 'one', 2: 'two'}
print(type(numbers_dict))
class Foo:
    a = 0
foo = Foo()
print(type(foo))

نتائج الطلاب

<class 'dict'>
<class 'Foo'>
<class '__main__.Foo'>

إذا كنت بحاجة إلى التحقق من نوع الكائن، فمن الأفضل استخداموظيفة isinstance() في بايثون، لأن وظيفة isinstance() ستقوم أيضًا بالتحقق مما إذا كان الكائن المقدم هو مثيل للفئة الفرعية.}

يملك type() معلمات name, bases وdict

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

هذه المتغيرات هي:

المتغيراتوصف
nameاسم الفئة؛ تصبح الخاصية __name__
basesقائمة الأسس؛ تصبح الخاصية __bases__
dictالقائمة، وهي تحتوي على مجال الاسم الخاص بمساحة تعريف الكائن الرئيسية؛ تصبح الخاصية __dict__

مثال 2: إنشاء عنصر نوع

o1 = type('X', (object,), dict(a='Foo', b=12))
print(type(o1))
print(vars(o1))
class test:
  a = 'Foo'
  b = 12
  
o2 = type('Y', (test,), dict(a='Foo', b=12))
print(type(o2))
print(vars(o2))

نتائج الطلاب

<class 'type'>
{'b': 12, 'a': 'Foo', '__dict__': <attribute '__dict__' of 'X' objects>, '__doc__': None, '__weakref__': <attribute '__weakref__' of 'X' objects>}
<class 'type'>
{'b': 12, 'a': 'Foo', '__doc__': None}

في البرنامج، استخدمناوظيفة بايثون vars()لإرجاع الخاصية __dict__.

يمكنك بسهولة تغيير هذه الخاصيات حسب الحاجة. على سبيل المثال، إذا كنت بحاجة إلى تغيير قيمة الخاصية __name__ الخاصة بو1 إلى 'Z'، استخدم:

o1.__name = 'Z'

وظائف محلية بايثون