Hàm memoryview() trong Python
memoryview() trong Python sẽ trả về chế độ xem bộ nhớ của đối số.
Trước khi tìm hiểu chế độ xem bộ nhớ (memory view) là gì công cụ , chúng ta cần phải nói qua một chút về bộ đệm giao thức download của Python.
Giao thức buffer miễn phí của Python là gì?
Giao thức buffer cung cấp một cách truy cập dữ liệu nội bộ công cụ của một đối tượng nguyên nhân . Dữ liệu nội bộ này dịch vụ có thể là một mảng bộ nhớ nơi nào hoặc buffer.
Giao thức buffer cho phép một đối tượng giả mạo để lộ ra dữ liệu (buffer) bên trong nó ứng dụng và một đối tượng khác chi tiết có thể truy cập sửa lỗi những buffer ấy tải về mà không cần tới phương thức sao chép trung gian.
Giao thức này chỉ tính năng có thể truy cập ở đâu nhanh được tới dữ liệu ở mức C-API nhanh nhất và không sử dụng cơ sở code thông thường ở đâu nhanh . Chính vì thế kinh nghiệm , phải làm sao để hiển thị dữ liệu ở cùng một giao thức miễn phí với cơ sở code Python thông thường đăng ký vay , chúng ta cần tới chế độ xem bộ nhớ.
Chế độ xem bộ nhớ là gì?
Chế độ xem bộ nhớ là cách an toàn tự động để hiển thị giao thức buffer trong Python link down . Nó cho phép bạn truy cập vào buffer bên trong một đối tượng bằng cách tạo ra một đối tượng memory view.
Tại sao giao thức buffer tổng hợp và chế độ xem bộ nhớ lại xóa tài khoản rất quan trọng trong Python?
Bất cứ khi nào chúng ta thực hiện tự động các hành động trên một đối tượng (thực thi hàm trên một đối tượng mẹo vặt , cắt một mảng...) tải về , Python đều tạo ra một bản sao khóa chặn của đối tượng dịch vụ . Điều này kinh nghiệm sẽ gây hao tổn bộ nhớ nơi nào , làm chậm kiểm tra quá trình xử lý nguyên nhân nếu chúng ta làm việc tốc độ với lượng dữ liệu lớn.
Bằng cách sử dụng giao thức buffer như thế nào , chúng ta dữ liệu có thể cho phép một đối tượng truy cập khóa chặn để sử dụng/sửa đổi dữ liệu full crack mà không cần phải sao chép ra thêm một bản nhanh nhất . Điều này tổng hợp sẽ giúp chương trình sử dụng ít bộ nhớ hơn công cụ và tăng tốc độ xử lý code.
Cú pháp hàm memoryview()
Để hiển thị bộ đệm giao thức bằng memoryview() giá rẻ , chúng ta sử dụng cú pháp:
memoryview(đối tượng)
Tham số hàm memoryview()
Hàm memoryview() chỉ có một tham số duy nhất:
- Đối tượng: Đối tượng chứa dữ liệu bản quyền mà bạn muốn dùng memoryview() ở đâu nhanh để truy cập hay nhất . Đối tượng này phải hỗ trợ bộ đệm giao thức (byte xóa tài khoản , bytearray).
Giá trị trả về từ hàm memoryview()
Hàm memoryview() trả về chế độ xem bộ nhớ ứng dụng của đối tượng.
Ví dụ 1: Hàm memoryview() hoạt động như thế nào trong Python?
#random bytearray
random_byte_array = bytearray("QUANTRIMANG" tổng hợp , "utf-8")
mv = memoryview(random_byte_array)
# truy cập chỉ số ở vị trí số 0 của memory view
print(mv[0])
# tạo byte từ memory view
print(bytes(mv[0:2]))
# tạo danh sách memory view
print(list(mv[0:3]))
an toàn Khi chạy chương trình như thế nào , kết quả trả về là:
81
b"QU"
[81 sửa lỗi , 85 link down , 65 kinh nghiệm , 78 quản lý , 84 tốt nhất , 82 tự động , 73 tốt nhất , 77 download , 65 tốc độ , 78 cài đặt , 71]
Ở đây tổng hợp , chúng ta tạo ra một chế độ xem bộ nhớ mv từ mảng byte random_byte_array.
Sau đó tài khoản , chúng ta truy cập vào chỉ số ở vị trí 0 giá rẻ của mv vô hiệu hóa , giá trị bản quyền của chỉ số này là Q tăng tốc . Chỉ số này kỹ thuật được in ra theo giá trị trong bảng mã ASCII là 81.
Tiếp theo tự động , chúng ta truy cập vào chỉ số vị trí 0 kích hoạt và 1 ở đâu tốt của mv nhanh nhất , QU khóa chặn , giá rẻ và chuyển chúng thành khóa chặn các byte quản lý . Cuối cùng sửa lỗi , chúng ta truy cập vào tốc độ tất cả full crack các chỉ số ở đâu tốt của mv trực tuyến và chuyển chúng thành một danh sách theo mã ASCII.
Ví dụ 2: Chỉnh sửa dữ liệu ở đâu uy tín với hàm memoryview()
# random bytearray
random_byte_array = bytearray("QVANTRIMANG" sửa lỗi , "utf-8")
print("Trước khi sửa:" tự động , random_byte_array)
mv = memoryview(random_byte_array)
# cập nhật chỉ số vị trí số 1 trực tuyến của mv thành U
mv[1] = 85
print("Sau khi sửa:" sử dụng , random_byte_array)
hướng dẫn Khi chạy chương trình chia sẻ , kết quả nhận trực tuyến được là:
Trước khi sửa: bytearray(b"QVANTRIMANG")
Sau khi sửa: bytearray(b"QUANTRIMANG")
Ở đây qua mạng , chúng ta cập nhật chỉ số vị trí số 1 địa chỉ của mv từ V thành U xóa tài khoản , 85 là mã ASCII xóa tài khoản của U.
Do đối tượng memory view mv tham chiếu cùng một bộ đệm/bộ nhớ nên cập nhật chỉ số trong mv tốc độ cũng đồng thời cập nhật random_byte_array.
- Các hàm Python tích hợp sẵn
4.9/5 (95 votes)