Hướng dẫn what is the advantage of using with statement in python? - lợi thế của việc sử dụng với câu lệnh trong python là gì?
with open("hello.txt", "wb") as f: f.write("Hello Python!\n") dường như giống như Show
Ưu điểm của việc sử dụng mở .. như thay vì f =? Có phải nó chỉ là đường cú pháp? Chỉ lưu một dòng mã? hỏi ngày 29 tháng 4 năm 2010 lúc 14:58Apr 29, 2010 at 14:58
Prosseekprosseeekprosseek 175K201 Huy hiệu vàng554 Huy hiệu bạc854 Huy hiệu đồng201 gold badges554 silver badges854 bronze badges 2 Để tương đương với phiên bản câu lệnh
Mặc dù điều này có vẻ giống như đường cú pháp, nhưng nó đảm bảo rằng bạn phát hành tài nguyên. Nói chung, thế giới phức tạp hơn các ví dụ bị kích thích này và nếu bạn quên một Tuyên bố
Đã trả lời ngày 29 tháng 4 năm 2010 lúc 15:12Apr 29, 2010 at 15:12
mg.mg.mg. 7.6371 Huy hiệu vàng25 Huy hiệu bạc 30 Huy hiệu Đồng1 gold badge25 silver badges30 bronze badges 0 Nếu 0Đã trả lời ngày 29 tháng 4 năm 2010 lúc 15:02Apr 29, 2010 at 15:02
Kathy Van Stonekathy Van StoneKathy Van Stone 25K3 Huy hiệu vàng31 Huy hiệu bạc40 Huy hiệu đồng3 gold badges31 silver badges40 bronze badges Cái trước vẫn đóng 2.
Tim Pietzcker Phù bằng vàng 319K5757 gold badges494 silver badges550 bronze badges Đã trả lời ngày 29 tháng 4 năm 2010 lúc 15:01Apr 29, 2010 at 15:01
DJCDJCdjc 11.4K5 Huy hiệu vàng43 Huy hiệu bạc52 Huy hiệu Đồng5 gold badges43 silver badges52 bronze badges Tuyên bố 5 6 7 8 9 0 1 2 5 4 5 2 5 8 5 6 7 8 9 0 1 2
5 4try.. except... 2 2
5 8
7 8 9 0 1with 5 5with 8
5 4 5 2Lưu ý rằng không giống như hai triển khai đầu tiên, không cần phải gọi Cách tiếp cận thứ hai trong ví dụ trên đảm nhận tất cả các ngoại lệ nhưng sử dụng câu lệnh Hỗ trợ câu lệnh "với" trong các đối tượng do người dùng xác địnhKhông có gì đặc biệt trong
6 with 9
5 6 7 8with 3 03 1 2
07 with 3f 7 5
13with 3f.close() 9
5 8 21 22 23
25try.. except... 2 2Hãy để kiểm tra mã trên. Nếu bạn nhận thấy, những gì tiếp theo từ khóa 29. Ngay sau khi thực thi vào bối cảnh của câu lệnh with , một đối tượng 29 được tạo và Python sau đó gọi phương thức f.close() 4. Trong phương thức f.close() 4 này, khởi tạo tài nguyên bạn muốn sử dụng trong đối tượng. Phương thức f.close() 4 này phải luôn luôn trả về một mô tả của tài nguyên thu được.Các mô tả tài nguyên là gì? Đây là những tay cầm được cung cấp bởi hệ điều hành để truy cập các tài nguyên được yêu cầu. Trong khối mã sau, 5 is a descriptor of the file stream resource.
Trong ví dụ 29 được cung cấp ở trên, phương thức f.close() 4 tạo ra một mô tả tệp và trả về nó. Tên 38 Ở đây được sử dụng để tham khảo bộ mô tả tệp được trả về bằng phương thức f.close() 4. Khối mã sử dụng tài nguyên thu được được đặt bên trong khối của câu lệnh with . Ngay sau khi mã bên trong khối with được thực thi, phương thức f.close() 5 được gọi. Tất cả các tài nguyên thu được được phát hành theo phương pháp f.close() 5. Đây là cách chúng tôi sử dụng câu lệnh with với các đối tượng do người dùng xác định.Giao diện này của các phương thức Mô -đun bối cảnhTrình quản lý bối cảnh dựa trên lớp như được hiển thị ở trên không phải là cách duy nhất để hỗ trợ câu lệnh 49 cung cấp thêm một vài trừu tượng được xây dựng trên giao diện trình quản lý bối cảnh cơ bản. Dưới đây là cách chúng tôi có thể viết lại trình quản lý bối cảnh cho đối tượng 29 bằng mô -đun 49. 52 53 54 55
64
6 69
71
74with 3f.close() 9
Is 80 90 5
80 5 8 98 6 f.close() 7 01 2 03
05try.. except... 2 2Trong ví dụ mã này, do câu lệnh 90 Trong định nghĩa của nó, hàm 09 là hàm của trình tạo. Khi hàm 09 này được gọi, nó tạo ra một mô tả tài nguyên có tên 5. Bộ mô tả tài nguyên này sau đó được chuyển cho người gọi và được đại diện ở đây bởi biến 12. Sau khi mã bên trong khối with được thực thi, điều khiển chương trình trở lại chức năng 09. Hàm 09 tiếp tục thực thi và thực thi mã theo câu lệnh 90. Phần mã này xuất hiện sau tuyên bố 90 phát hành các tài nguyên thu được. 71 ở đây là một người trang trí.When this 09 function is called, it creates a resource descriptor named 5. This resource descriptor is then passed to the caller and is represented here by the variable 12. After the code inside the with block is executed the program control returns back to the 09 function. The 09 function resumes its execution and executes the code following the 90 statement. This part of code which appears after the 90 statement releases the acquired
resources. The 71 here is a decorator.Việc triển khai dựa trên lớp trước và triển khai dựa trên trình tạo này của các nhà quản lý ngữ cảnh là giống nhau. Mặc dù sau này dường như dễ đọc hơn, nó đòi hỏi kiến thức về máy phát điện, trang trí và 90.Lợi thế của việc sử dụng với câu lệnh là gì?Tuyên bố với bạn giúp bạn thoát khỏi những rò rỉ đó, giúp viết mã sạch dễ dàng hơn.saves you from those leaks, making it easier to write clean code.
Lợi ích chính của A với Tuyên bố Python là gì?Với tuyên bố trong Python được sử dụng trong xử lý ngoại lệ để làm cho mã sạch hơn và dễ đọc hơn nhiều.Nó đơn giản hóa việc quản lý các tài nguyên chung như luồng tệp.simplifies the management of common resources like file streams.
Mục đích của tuyên bố với tuyên bố là gì?Những lý do để sử dụng một câu lệnh bao gồm lưu một biến tạm thời và giảm kích thước tệp bằng cách tránh lặp lại tham chiếu đối tượng dài.
Mục đích của việc mở và với tuyên bố trong Python là gì?Câu lệnh With hoạt động với hàm Open () để mở tệp.Không giống như Open () nơi bạn phải đóng tệp bằng phương thức đóng (), câu lệnh với câu lệnh đóng tệp cho bạn mà không cần bạn nói.to open a file. Unlike open() where you have to close the file with the close() method, the with statement closes the file for you without you telling it to. |