Używając NameTuple w Python

Używając NameTuple w Python
Python jest wyposażony w wbudowany moduł o nazwie kolekcje, który zapewnia różne klasy i funkcje jako alternatywa dla wbudowanych struktur danych Pythona, takich jak DICT, List, Set i Tuple.

W tym samouczku Pythona omówi o nazwie, jedna z funkcji fabrycznych modułu kolekcji. Przejdziemy wszystkie ważne pojęcia Pythona nazwanego z przykładami i składnią.

Jak nazywa się w Python?

NameTuple jest funkcją modułu Python Collections, rozszerzenia kontenera danych Python, które pozwala nam uzyskać dostęp do elementów w krotce za pomocą nazw lub etykiet. Możemy zdefiniować nową klasę krotek, importując nazwę NameTuple z modułu Python Collections i użyć funkcji fabrycznej NameDTuple (). Krótko mówiąc, nazwany krotek to kombinacja typu danych Python i DICT.

Python NamedTuple Składnia

z kolekcji import nazwany
tuple_name = nameTuple (typenaMe, field_names, *, rename = false, defaults = brak, moduł = brak)

Spośród 6 atrybutów NamedTuple () tylko dwa są obowiązkowe, Wpisz imię I Fields_name, reszta jest opcjonalna.

Wpisz imię reprezentuje nazwę podklasy krotek i służy do tworzenia obiektów podobnych do krotki.

feild_names atrybut reprezentuje nazwę etykiety dla elementów krotek. Może to być ciąg oddzielony przestrzeniami „Fname lname Dept wynagrodzenie” lub lista ciągu [„fname”, „lname”, „Dept”, „pensja”].

Ogłoszenie nazwiska w Pythonie

Teraz zacznijmy od ogłoszenia nazwiska.

z kolekcji import nazwany
#Decaring the NamedTuple
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
#Add Wartości do nazwanego krotki
E1 = pracownik („Sam”, „Smith”, „Marketing”, 20000)
#wartość dostępu z etykietą
Drukuj („Nazwa pracownika E1 to:”, E1.fname + "" + e1.lname)
#Wartość dostępu za pomocą wartości indeksu
Drukuj („Departament pracownika E1 to:”, E1 [2])

Wyjście:

Nazwa pracownika E1 to: Sam Smith
Departament pracownika E1 to: Marketing

Dostęp do elementów z Nazwontuple w Python

Istnieją trzy sposoby dostępu do elementów od nazwanego krotki za pomocą:

  • indeks (jak krotek)
  • Nazwa pola/nazwa etykiety (jak słownik)
  • metoda getAttr ()
z kolekcji import nazwany
#Deklarowanie NazwedTuple:
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
#Dodanie wartości do nazwanego krotek:
E1 = pracownik („Sam”, „Smith”, „Marketing”, 20000)
#Wartość dostępu za pomocą wartości indeksu:
Drukuj („Pracownik (przy użyciu indeksu)”, E1 [0], e1 [1], e1 [2], e1 [3])
#Wartość dostępu z etykietą:
Drukuj („Pracownik (za pomocą etykiety)”, E1.Fname, e1.lname, e1.Dept, E1.wynagrodzenie)
#Wartość dostępu za pomocą getAttr ():
print („pracownik (używając getAttr ())”, getAttr (e1, „fname”), getAttr (e1, „lname”), getAttr (e1, „Dept”), getAttr (e1, „pensja”))

Wyjście:

Pracownik (przy użyciu indeksu) Sam Smith Marketing 20000
Pracownik (przy użyciu etykiety) Sam Smith Marketing 20000
Pracownik (za pomocą getAttr ()) Sam Smith Marketing 20000

Współpraca z Python NamedTuple

Python Namedtuples jest niezmienny
Jak normalny krotek, nazwacze są również niezmienne. Rzuci błąd, jeśli przypiszmy nową wartość do istniejącego numeru indeksu lub etykiet.

Przykład:

z kolekcji import nazwany
#Decaring the NamedTuple
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
#Add Wartości do nazwanego krotki
E1 = pracownik („Sam”, „Smith”, „Marketing”, 20000)
E1.fname = "John" #error

Wyjście:

AtrybuteError: nie można ustawić atrybutu

Przekształcanie Pythona o imieniu Tuple w słownik Python
Nameniduple jest traktowany jako słownik, ponieważ każdy element nazwanego krotki jest powiązany z etykietą taką jak w słowniku Python.

Aby przekonwertować nazwane w słowniku, możemy użyć ._ASDICT ().

Przykład:

Z kolekcji import nazwany
#Decaring the NamedTuple
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
#Add Wartości do nazwanego krotki
E1 = pracownik („Sam”, „Smith”, „Marketing”, 20000)
Drukuj (e1._Asdict ())

Wyjście:

„fname”: „Sam”, „lname”: „Smith”, „Dept”: „Marketing”, „wynagrodzenie”: 20000

Utwórz NameTuple z Python Iterable Obiekt
Aby przekonwertować iteralny obiekt, taki jak krot, lista, zestaw i słownik na nazwę, możemy użyć nazwa ._Make () metoda.

Przykład:

Z kolekcji import nazwany
#Decaring the NamedTuple
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
#lista
E1 = [„Rahul”, „Sharma”, „Marketing”, 20000]
#Tuple
E2 = („Ravi”, „Kumar”, „Marketing”, 20000)
Drukuj (pracownik._Make (e1))
Drukuj (pracownik._Make (e2))

Wyjście:

Pracownik (fname = „Rahul”, lname = „Sharma”, Dept = „Marketing”, wynagrodzenie = 20000)
Pracownik (fname = „ravi”, lname = „kumar”, dept = „marketing”, pensja = 20000)

Przekonwertować słownik Pythona w nazwany krotek
Istnieją dwa sposoby przekonwertowania słownika Pythona na nazwę.

Możemy albo użyć ** Operator Lub Wartości słownika () metoda.

Przykład:

Z kolekcji import nazwany
#Decaring the NamedTuple
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
#słownik
e1 = „fname”: „sonia”, „lname”: „Jenner”, „Dept”: „Management”, „wynagrodzenie”: 20000
#Sing ** Operator
Drukuj (pracownik (** e1))
#za pomocą ._Make () metoda
Drukuj (pracownik._Make (e1.wartości ()))

Wyjście:

Pracownik (fname = „sonia”, lname = „Jenner”, Dept = „Management”, pensja = 20000)
Pracownik (fname = „sonia”, lname = „Jenner”, Dept = „Management”, pensja = 20000)

Sprawdź wszystkie pola Pythona o imieniu Tuple
Korzystając z właściwości _fields, możemy wszystkie pola wymienionego krotki

Przykład:

Z kolekcji import nazwany
#Decaring the NamedTuple
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
Drukuj (pracownik._Fields)

Wyjście:

(„fname”, „lname”, „Dept”, „pensja”)

Jak zmienić wartość nazwanego
NameDTuple jest niezmienny i nie możemy zmienić jego wartości atrybutów po deklaracji. Jednak nazwa .Metoda zastąpiona (), która zwraca kopię nazywania się ze zmienioną wartością atrybutu.

Przykład:

Z kolekcji import nazwany
#Decaring the NamedTuple
Pracownik = nameTuple („pracownik”, [„fname”, „lname”, „Dept”, „pensja”])
#Add Wartości do nazwanego krotki
E1 = pracownik („Sam”, „Smith”, „Marketing”, 20000)
Drukuj (e1._replace (fname = „John”))

Wyjście:

Pracownik (fname = „John”, lname = „Smith”, Dept = „Marketing”, wynagrodzenie = 20000)

Wniosek

Podsumowując ten samouczek Pythona, dowiedzieliśmy się, jak się nazywa w Pythonie i jak to zadeklarować. NameTuple to kombinacja słownika Python Tuple i Python, w którym elementy są dostępne zarówno za pomocą numerów etykietowych (kluczowych) lub indeksów. Możemy użyć nazwie NameTuple jako zwykłego pojemnika Python i są one przydatne, gdy chcemy wykonywać haszek za pomocą tylko krotki.