«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Названные кортежи в Python: какой они тип?

Названные кортежи в Python: какой они тип?

Опубликовано в 2025-03-24
Просматривать:343

Named Tuples in Python: what type are they?

названные кортежи в Python являются расширением встроенного типа данных кортежей, что позволяет вам давать значимые имена элементам кортежа. Другими словами, названные кортежи - это кортежи с названными атрибутами. Разве это не круто?

]

они являются частью модуля коллекций и предоставляют способ определить простые, неизменные классы проще.

]

подождите что, классы?
] Да, классы.

]

Это волшебство, которое происходит: когда вы создаете именованную корпус с использованием именованной по имени, результатом является не экземпляр самого кортежа, а скорее динамически сгенерированный класс, который наследует от кортежа. Снова, круто !! ]

посмотрим, как это работает.

]

]

из Collections Importtuple P = nameTuple ("point", "x y")
]

, когда вы запускаете p = nameTuple ("point", "x y"), вы создаете новый класс с именем point (как указано в первом аргументе To alkingtuple).
from collections import namedtuple 

P = namedtuple("Point", "x y")
Функция по имени использовается тип за кулисами, чтобы динамически создать новый класс с именем с именем, который наследует от Tuple. Этот новый класс хранится в переменной с.

]

] и как с классами, тип типа.

]

]

> type (p) класс 'тип'
]

> класс A: проходить > Тип (а) класс 'тип'
> type(P)
class 'type'
и какой тип является экземпляром именного типа?
> class A:
    pass

> type(A)
class 'type'
]

из Collections Importtuple P = nameTuple ("point", "x y") P = P (1,2) > Печать (тип (p)) Класс '__main __. Point'
]

P - экземпляр Type Point. Но это также кортеж:
> class A:
    pass

> type(A)
class 'type'
]

> print (isInstance (p, tuple)) Истинный
]

В итоге:
> print(isinstance(p, tuple))
True

]

] P - это класс, сгенерированный динамически по имени

экземпляры P являются объектами типа точки, которые также подкласс Тупел.
    ]
  • ]
  • и одно последнее:
  • очень часто называть переменную именованную именную переменную (как мы назвали P) с тем же именем, что и имя типа (как мы назвали точку), динамически созданный класс:
]

]

из Collections Importtuple Point = nameTuple ("point", "x y")

]
я использовал другое имя, чтобы прояснить различие между THW два.

]
from collections import namedtuple 

Point = namedtuple("Point", "x y")
]
Заявление о выпуске Эта статья воспроизводится по адресу: https://dev.to/guzmanojero/named-tuples-in-python-what-type-are-they-128m?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3