названные кортежи в Python являются расширением встроенного типа данных кортежей, что позволяет вам давать значимые имена элементам кортежа. Другими словами, названные кортежи - это кортежи с названными атрибутами. Разве это не круто?
]они являются частью модуля коллекций и предоставляют способ определить простые, неизменные классы проще.
] подождите что, классы?
]
Да, классы.
Это волшебство, которое происходит: когда вы создаете именованную корпус с использованием именованной по имени, результатом является не экземпляр самого кортежа, а скорее динамически сгенерированный класс, который наследует от кортежа. Снова, круто !! ]
посмотрим, как это работает.]
] из Collections Importtuple
P = nameTuple ("point", "x y")
]
from collections import namedtuple P = namedtuple("Point", "x y")Функция по имени использовается тип за кулисами, чтобы динамически создать новый класс с именем с именем, который наследует от Tuple. Этот новый класс хранится в переменной с.
]
] и как с классами, тип типа.]
]> type (p)
класс 'тип'
]
> 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'
]
> class A: pass > type(A) class 'type']
> print (isInstance (p, tuple))
Истинный
]
> print(isinstance(p, tuple)) True]
] P - это класс, сгенерированный динамически по имени
экземпляры P являются объектами типа точки, которые также подкласс Тупел.]
из Collections Importtuple Point = nameTuple ("point", "x y")]
я использовал другое имя, чтобы прояснить различие между THW два.
from collections import namedtuple Point = namedtuple("Point", "x y")]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3