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

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

Встроенная функция type() в Python возвращает класс, которому принадлежит объект. В 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:

Создание анонимного класса

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

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 в Linux, macOS и Windows: краткое руководство
  3. Мастерство работы со списками Python: append, sort, len и list comprehensions — практическое руководство
  4. Наследование в Python: концепции, синтаксис и практические примеры
  5. Освоение enumerate() в Python: циклы с индексами для списков, кортежей, строк и словарей
  6. Настройка среды разработки Python: Полное руководство по установке
  7. Flask против Django: ключевые отличия, особенности и выбор фреймворка
  8. Ускоренные пути обучения Python: от новичка к профи с Real Python
  9. Как удалить дубликаты из списка Python: 8 проверенных способов
  10. Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами