„W Python słowo kluczowe służy do uczynienia kodu jasniejszego i bardziej zrozumiałego. Sprawia, że wspólne zasoby, takie jak strumienie plików, jest łatwiejsze w obsłudze. „Z” słowem kluczowym w Pythonie zastępuje prostym skrótem na blok próbny. Zapewnia również zamknięcie zasobów natychmiast po przetworzeniu. Popularnym przypadkiem korzystania z słowa kluczowego „z” jest czytanie/zapisanie do pliku. Menedżer kontekstowy to metoda lub klasa, która pomaga użytkownikom w słowach kluczowych. Menedżer kontekstowy pozwala w razie potrzeby otwierać i zamykać zasoby. Zastanów się, gdzie użycie słowa kluczowego oczyszcza kod w następujących przykładach."
Przykład 1: Obsługa plików bez słowa kluczowego „z”
Po pierwsze, pokazaliśmy dwa przykłady obsługi plików bez
„Z” słowem kluczowym. Tutaj możemy po prostu otworzyć plik my_file w trybie zapisu „w.„Z metodą zapisu; Włożyliśmy tekst do pliku. Plik jest zamknięty przez wywołując metodę zamknięcia.
Możesz dowiedzieć się, że tekst jest włączony do My_file.
Istnieje drugi przykład obsługi pliku z blokiem TRY-Catch.
Powyższy skrypt ma następujące dane wyjściowe.
Przykład 2: Obsługa plików za pomocą słowa kluczowego „z”
Teraz, w poniższym przykładzie Snap, użyj słowa kluczowego „z” do obsługi plików.
Nie ma potrzeby wywoływania plików oprócz dwóch pierwszych implementacji. Podczas stosowania słowa kluczowego „za pomocą” Close () jest wywoływany. Oświadczenie „z” zapewnia, że zasoby zostaną uzyskane i uwolnione prawidłowo. Podczas pliku jest wyjątek. Funkcja zapisu () w pierwszym podejściu może zakazać prawidłowego wyłączania pliku, co spowoduje różne błędy w kodzie, ponieważ wiele modyfikacji plików nie działa poprawnie, dopóki plik nie zostanie poprawnie zamknięty. W ten sposób słowo kluczowe pozwala nam pisać w pliku. Tekst pliku jest wyświetlany wewnątrz pliku my_.
Drugie rozwiązanie w poprzednim przykładzie obsługuje wszystkie wyjątki, ale wykorzystanie słowa kluczowego „z” sprawia, że kod jest znacznie bardziej zwięzły i jasny. W rezultacie z instrukcją pomocy w unikaniu problemów i ucieczki, potwierdzając, że obiekt jest poprawnie porzucony, gdy kod, który go używa. Z słowem kluczowym jest powszechnie używane wraz ze strumieniami plików, jak pokazano powyżej, a także zamki, gniazda, podproces, telnet i inne rodzaje połączeń.
Przykład 3: Obsługa plików zdefiniowanych przez użytkownika za pomocą słowa kluczowego „z”
Nie ma nic niezwykłego w Open (), który sprawia, że jest odpowiedni do użycia z słowem kluczowym „z”, ponieważ tę samą możliwość można znaleźć w obiektach zdefiniowanych przez użytkownika. Korzystając z słowa kluczowego „z” w swoich obiektach, nigdy nie zostawisz otwartego zasobu. Procedury __enter __ () i __exit __ () w operacjach obiektowych to wszystko, co jest wymagane do użycia słowa kluczowego „z” w obiektach zdefiniowanych przez użytkownika. Spójrz na kod pod spodem, aby uzyskać więcej informacji.
Spójrzmy na wyżej wspomniany kod. Funkcja Object () komunikatowi jest natychmiast po słowach kluczowych „z”, jak widać. Python tworzy obiekt MessageWriter, a następnie wykonuje metodę __enter __ (), gdy tylko program osiągnie obszar słowa kluczowego „z”. W tej metodzie __enter __ () określ zasób, który ma być używany w obiekcie. Deskryptor uzyskanego zasobu powinien być zawsze zwracany niniejszą metodą __enter __ ().
Tekst jest przechowywany w MY_FILE3.txt tutaj przez Python „z” słowem kluczowym.
Przykład 4: Korzystanie z pakietu Contextlib do obsługi plików za pomocą słowa kluczowego „z”
System operacyjny zapewnia te uchwyty do dostępu do niezbędnych zasobów. Tutaj deskryptor zasobów strumienia pliku jest składany w kolejnym bloku kodu.
Technika __enter __ () generuje i zwraca deskryptor pliku w wyżej wymienionej próbie komunikatu. Metoda enter () jest zwracana przez deskryptor pliku, który jest określany jako plik w tym przykładzie. Wewnątrz instrukcji „z” znajduje się sekcja kodu, która korzysta z uzyskanego zasobu. Procedura __exit __ () jest brana pod uwagę, gdy program jest uruchomiony w ciele „z”. W metodzie __exit __ () wszystkie zebrane zasoby są porzucone. W przypadku obiektów zdefiniowanych przez użytkownika używamy słowa kluczowego „z”.
Menedżer kontekstowy:
Menedżer kontekstowy odnosi się do interfejsu operacji __enter __ () i __exit __ (), które umożliwiają słowo kluczowe „z” w obiektach zdefiniowanych przez użytkownika.
Wyżej wymieniony menedżer kontekstowy klas nie jest jedynym podejściem do włączenia słowa kluczowego „z” w obiektach zdefiniowanych przez użytkownika. Moduł Contextlib rozszerza podstawowy interfejs Manager Context o kilka dodatkowych abstrakcji. Korzystając z modułu ContextLib, obiekt komunikatu może zostać zaktualizowany przez Menedżera kontekstu.
Funkcja Open File () jest metodą generatora w niniejszej próbce kodu z powodu ogólnej deklaracji wydajności w jej definicji.
Gdy używana jest funkcja Open File (), tworzony jest deskryptor właściwości plik o nazwie. Dzwoniąc jest następnie przypisywany ten deskryptor zasobu, który jest reprezentowany powyżej przez zmienną mój plik. Kontrola programu powraca do metody Open File () po uruchomieniu programu w sekcji z. Metoda Open File () wznawia jego wykonanie po instrukcji wydajności i wykonuje następujący kod. Niniejsza sekcja kodeksu występuje tuż po instrukcji wydajności i uwalnia nabyte zasoby. @ContextManager jest w tym przypadku dekoratorem.
Wewnętrznie stara klasowa wersja menedżerów kontekstowych i nowa implementacja oparta na generatorze są identyczne. Chociaż ten ostatni wydaje się być bardziej czytelny, wymaga zrozumienia generatorów, dekoratorów i wydajności.
Z pomocą Contextlib z powodzeniem zapisaliśmy rekord w MY_FILE4.TXT z słowem kluczowym „z” w następujący sposób:
Wniosek
Na razie widzieliśmy, jak „z” oświadczeniem inteligentnie obsługuje wyjątki. „Z” słowem kluczowym pomaga również w skutecznym zamykaniu menedżera kontekstu, który mógł zostać otwarty podczas programowania. Słowo kluczowe jest substytutem od często używanych instrukcji TRY/WREAT. Pokazaliśmy kilka przypadków użycia słowa kluczowego „z” do obsługi plików.