Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Изучение анонимных классов и объектов в Python

Встроенная функция Python type() возвращает класс, которому принадлежит объект. В Python класс, как встроенный, так и определяемый пользователем класс, является объектом типа class.

Пример

class myclass:
 def __init__(self):
 self.myvar=10
 return
 
obj = myclass()
print ('class of int', type(int))
print ('class of list', type(list))
print ('class of dict', type(dict))
print ('class of myclass', type(myclass))
print ('class of obj', type(obj))

Он выдаст следующий результат –

class of int <class 'type'>
class of list <class 'type'>
class of dict <class 'type'>
class of myclass <class 'type'>

type() имеет следующую версию с тремя аргументами:

Синтаксис

newclass=type(name, bases, dict)

Используя приведенный выше синтаксис, класс можно создать динамически. Три аргумента функции типа:—

Создать анонимный класс

Мы можем создать анонимный класс с помощью приведенной выше версии функции type(). Аргумент name представляет собой нулевую строку, второй аргумент представляет собой кортеж одного класса — класса объекта (обратите внимание, что каждый класс в Python наследуется от класса объекта). Мы добавляем определенные переменные экземпляра в качестве словаря третьего аргумента. Мы пока оставляем его пустым.

anon=type('', (object, ), {})

Создать анонимный объект

Чтобы создать объект этого анонимного класса –

obj = anon()
print ("type of obj:", type(obj))

Результат показывает, что объект имеет анонимный класс

type of obj: <class '__main__.'>

Пример анонимного класса и объекта

Мы также можем динамически добавлять переменные экземпляра и методы экземпляра. Взгляните на этот пример –

def getA(self):
 return self.a
obj = type('',(object,),{'a':5,'b':6,'c':7,'getA':getA,'getB':lambda self : self.b})()
print (obj.getA(), obj.getB())

Он выдаст следующий результат –

5 6

Python

  1. Переменные Python:как определить/объявить типы строковых переменных
  2. Массивы Python:создание, реверсирование, всплывающее окно с примерами массивов Python
  3. Функция Python map() с ПРИМЕРАМИ
  4. Питон — Словарь
  5. Наборы Python
  6. Использование IPython
  7. Количество строк Python() с ПРИМЕРАМИ
  8. Реальные часы работы на Python:живые сеансы вопросов и ответов для изучающих Python
  9. Комплексные пути и ресурсы обучения Python
  10. Python — многопоточное программирование