Python đọc mảng byte

Ví dụ này đại diện cho loại bytearray của Python;

Nhập macro kiểm tra

int PyByteArray_Check[ *o]

Return true if the object o is a bytearray object or an instance of a subtype of the bytearray type. This function always succeeds.

int PyByteArray_CheckExact[ *o]

Return true if the object o is a bytearray object, but not an instance of a subtype of the bytearray type. This function always succeeds.

Hàm API trực tiếp

*PyByteArray_FromObject[ *o]
Return value: New reference. Part of the .

Trả về một đối tượng bytearray mới từ bất kỳ đối tượng nào, o, thực hiện

*PyByteArray_FromStringAndSize[const char *string, len]
Return value: New reference. Part of the .

Tạo một đối tượng bytearray mới từ chuỗi và chiều dài của nó, len. Khi thất bại,

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
0 được trả lại

*PyByteArray_Concat[ *a, *b]
Return value: New reference. Part of the .

Concat mảng phụ a và b và trả về một mảng phụ mới với kết quả

PyByteArray_Size[ *bytearray]
Part of the .

Trả về kích thước của mảng phụ sau khi kiểm tra con trỏ

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
0

char *PyByteArray_AsString[ *bytearray]
Part of the .

Trả về nội dung của bytearray dưới dạng mảng char sau khi kiểm tra con trỏ

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
0. Mảng được trả về luôn có thêm một byte rỗng được thêm vào

Hàm bytearray[] của Python chuyển đổi các chuỗi hoặc tập hợp các số nguyên thành một chuỗi byte có thể thay đổi. Nó cung cấp cho các nhà phát triển các phương thức thông thường mà Python cung cấp cho cả kiểu dữ liệu có thể thay đổi và byte. Tích hợp bytearray[] của Python cho phép thao tác dữ liệu hiệu quả cao trong một số tình huống phổ biến

Mục lục

Các tính năng mạnh mẽ của hàm Python

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 đi kèm với một số trách nhiệm. Các nhà phát triển phải chú ý đến mã hóa, nhận thức được định dạng dữ liệu nguồn và có kiến ​​thức làm việc cơ bản về các bộ ký tự phổ biến như ASCII

Trong bài viết này, bạn sẽ tìm hiểu lý do căn bản, các trường hợp sử dụng phổ biến, các trường hợp sử dụng nâng cao và những cạm bẫy tiềm ẩn của hàm dựng sẵn

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 của Python. Thậm chí còn có một phần với một số điều kỳ quặc đáng chú ý ở phía dưới

TL; DR — Hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 của Python chuyển đổi chuỗi và chuỗi số nguyên thành byte để cung cấp cho nhà phát triển khả năng cập nhật [biến đổi] dữ liệu một cách hiệu quả mà không cần cấp phát bộ nhớ bổ sung

# Define a string
x = "Stay gold Ponyboy."

# Try to mutate it
x[5:9] = 'silver'

# Throws the following error
>>> TypeError: 'str' object does not support item assignment

# Define a byte array
y = bytearray[x, encoding='ascii']

# Try to mutate it
y[5:] = bytearray['silver Ponyboy.', encoding='ascii']

# Print the resulting type, decoded
# to an ascii-string
print[y.decode[encoding='ascii']]

# Results in mutated string
>>> Stay silver Ponyboy.

cơ sở lý luận

Đối tượng

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 đã được giới thiệu trong Python 2 và đã đóng vai trò là ‘‘ cho đối tượng byte kể từ đó. Không giống như đối tượng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3, đối tượng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 không đi kèm với biểu diễn ký hiệu theo nghĩa đen và phải được khởi tạo trực tiếp

Ví dụ:

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
5 cung cấp biểu diễn bằng chữ cho đối tượng byte trong khi nhà phát triển phải sử dụng cú pháp
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
6 để tạo đối tượng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 mới. Tôi coi đây chỉ là một sự bất tiện nhỏ do những lợi ích mà kiểu dữ liệu
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 của Python mang lại cho các nhà phát triển

Dữ liệu như chuỗi được coi là bất biến [thêm về điều đó bên dưới] có nghĩa là chúng không thể thay đổi trực tiếp. Để thay đổi [biến đổi] một chuỗi, người phát triển phải sao chép chuỗi đó và gán phiên bản mới cho một đối tượng nằm trong bộ nhớ. Xem xét ví dụ sau

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504

Lưu ý rằng chuỗi của chúng tôi đã được thay đổi nhưng bây giờ có một id khác [vị trí bộ nhớ. ] Điều đó có nghĩa là bây giờ a là một đối tượng khác trong bộ nhớ và đối tượng ban đầu của chúng ta là rác. Đó là tất cả tốt và tốt khi một người đang thay đổi xung quanh một vài chuỗi

Thao tác chuỗi dễ dàng như vậy là một trong những tính năng ngôn ngữ khiến Python trở thành ngôn ngữ lập trình phổ biến như vậy. Thật không may, phương pháp này không hiệu quả để thay đổi số lượng lớn dữ liệu đó. Đó là nơi sức mạnh của hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
9 tỏa sáng

Mô tả mục đích sử dụng của byearry[] như sau

Lớp bytearray là một chuỗi các số nguyên có thể thay đổi trong phạm vi 0 >> string one - 3236722728688 # 'mutate' string a = "string two" print[a, "-", id[a]] >>> string two - 32367206755043 hiển thị các chuỗi ký tự thoát. Bây giờ, hãy xem xét một số trường hợp phổ biến và cú pháp cơ bản

Sử dụng cơ bản và cú pháp

Hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 trả về một mảng byte mới. Điều này có thể xuất phát từ một chuỗi đầu vào hoặc một tập hợp các số nguyên trong phạm vi 0-255 [bao gồm]. Nếu bạn đã quen thuộc với ký hiệu nhị phân, bạn có thể đã đoán được rằng nó tạo ra chỗ ở hoàn hảo cho các biểu diễn tám bit

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 tích hợp sẵn của Python có ba đối số có thể

  1. nguồn – dữ liệu được chuyển đổi thành một mảng byte, một chuỗi hoặc một tập hợp các số nguyên
  2. mã hóa - bắt buộc đối với chuỗi, tùy chọn đối với bộ sưu tập số nguyên
  3. lỗi - một tham số tùy chọn để chỉ định xử lý lỗi.

Hãy xem nhanh hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 để chứng minh cách sử dụng cơ bản của các đối số này

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
0

Chà, điều đó đã không diễn ra tốt đẹp. Byte cần thiết chỉ là biểu diễn số của thông tin. Không biết cách diễn giải thông tin đó, Python sẽ làm ầm lên. Có thể cho rằng, một mã hóa mặc định có thể được sử dụng nhưng điều đó sẽ gây ra một loạt vấn đề khác. Hãy xem điều gì sẽ xảy ra khi chúng ta để Python biết cách diễn giải dữ liệu

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
1

Bây giờ chúng ta có một đối tượng

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 trong bộ nhớ biểu thị càng nhiều bằng cách hiển thị một byte bằng chữ trong ngoặc đơn [thêm về điều đó bên dưới. ] Chúng ta hãy xem cách hàm
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 xử lý một chuỗi các giá trị số nguyên. Hãy nhớ rằng, chỉ các giá trị trong phạm vi
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
06 mới được coi là hợp lệ tại đây

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
4

Chà, điều đó cũng không suôn sẻ. Khi được cung cấp một dãy số, Python không cần biết mã hóa vì nó giới hạn các giá trị từ 0-255. Biểu diễn ký tự của bất kỳ giá trị nào trong phạm vi này được giả định là theo tiêu chuẩn ISO8859-1, thường được gọi là bộ ký tự Latinh-1 [bộ ký tự thay thế của bảng mã ASCII. ] Hãy thử điều này một lần nữa

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
5

Bây giờ chúng ta có một đối tượng

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 từ danh sách các giá trị số nguyên. Nhưng chúng ta có thể làm gì với điều này? . Chúng tôi sẽ đề cập đến những gì có thể thay đổi so với. phương tiện bất biến chỉ trong một giây. Tuy nhiên, trước khi đến đó, chúng ta hãy dừng lại một chút và xem xét sự khác biệt giữa chuỗi byte và mảng byte có thể là gì

Chuỗi byte so với. Mảng byte

Tại thời điểm này, bạn có thể tự hỏi sự khác biệt giữa chuỗi byte và tập hợp byte có thể là gì. Trong một từ-độ biến đổi. Cả hai đều biểu thị dữ liệu ở định dạng nhị phân, cả hai đều có thể dễ dàng xử lý các đầu vào thập lục phân hai chữ số và cả hai đều dựa vào các nhà phát triển để lưu tâm đến mã hóa để đảm bảo biểu thị chính xác các giá trị số và bản dịch kết quả. Vì vậy, những gì cho?

Các byte được xử lý có tính hữu hạn hơn các đối tượng

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2. Nghĩa là, chúng phù hợp với các ứng dụng mà người ta không cần thay đổi dữ liệu thường xuyên. Ví dụ: một đối tượng byte sẽ phù hợp hơn để lưu trữ dữ liệu nhận được từ đường truyền mạng. Đối với các lần truyền lớn, thậm chí có thể dưới dạng một mảng byte [chứ không phải đối tượng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2. ]

Đối tượng

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 phù hợp hơn với các tình huống cần thao tác dữ liệu thường xuyên. Ví dụ: cập nhật dữ liệu nhận được từ truyền mạng trước khi truyền lại. Các đối tượng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2 cũng cung cấp các phương thức dành cho các đối tượng có thể thay đổi như định cỡ, cắt, gán thành viên, chèn, đảo ngược, v.v.

Để đánh giá đầy đủ sự khác biệt giữa byte Python và đối tượng ________ 113, chúng ta cần xem xét sự khác biệt giữa có thể thay đổi và. kiểu dữ liệu bất biến. Đừng lo lắng, đó là một khái niệm khá đơn giản và với một ví dụ cơ bản rất dễ nắm bắt

Có thể thay đổi so với. bất biến

Trong Python, chuỗi, số và bộ dữ liệu là bất biến—có nghĩa là không thể thay đổi giá trị của chúng. Chúng có thể được sao chép hoặc gán lại nhưng không được thao tác trực tiếp. Các cấu trúc dữ liệu như danh sách, từ điển và tập hợp có thể thay đổi được và cho phép thao tác các phần cấu thành của chúng hiệu quả hơn nhiều

Cụ thể, cấp phát bộ nhớ bổ sung được giảm thiểu khi cập nhật một phần dữ liệu nằm ở giữa danh sách trong khi cập nhật phần giữa của chuỗi sẽ yêu cầu bộ nhớ gần gấp đôi. Điều này mô tả cách các mảng byte có thể được áp dụng trong việc biểu diễn các kiểu dữ liệu không thay đổi để cải thiện hiệu quả trong các ngữ cảnh nhất định

Hãy xem lại ví dụ TL; DR ban đầu của chúng tôi từ phía trên, lần này có thêm một chút giải thích

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
2

Ở đây, chúng tôi đã chỉ ra rằng việc cố gắng thay đổi trực tiếp văn bản của chuỗi của chúng tôi sẽ gây ra lỗi

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
14. Lưu trữ chuỗi đó dưới dạng một mảng byte cho phép thao tác trực tiếp các giá trị ký tự riêng lẻ. Sau khi thao tác, chúng ta có thể chuyển đổi các giá trị kết quả thành một chuỗi thông qua phương thức
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
15—đảm bảo chỉ định mã hóa phù hợp

Đây có phải là một ví dụ về việc sử dụng hiệu quả hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 không? . Hãy tưởng tượng bạn phải cập nhật các chuỗi dữ liệu văn bản lớn, chẳng hạn như trong nhiều ứng dụng cơ sở dữ liệu hoặc mức tiêu thụ dữ liệu mạng lớn. Khả năng thao tác dữ liệu mà không cần cấp phát bộ nhớ bổ sung sẽ rất cần thiết. Đó là nơi mảng byte thực sự tỏa sáng

TL; DR – biểu diễn một chuỗi dưới dạng một mảng byte cho phép một người thao tác với nó hiệu quả hơn. Có một chi phí chung ban đầu trong bộ nhớ nhưng chi phí giảm dần khi các hoạt động thao tác tích lũy. Luôn nhớ mã hóa của bạn

ghi chú

Hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 xử lý một số tiện ích khá sắc thái. Điều này không gây ngạc nhiên về hành vi đôi khi ma quái được thể hiện bởi tính năng tích hợp sẵn này. Dưới đây là một số trường hợp hàm
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 có thể hoạt động theo những cách có thể cần được giải thích. Đây chắc chắn không phải là lỗi nhưng dù sao cũng nên ghi nhớ

Chuỗi ký tự thoát

Đưa ra giới hạn

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 của các đối số số nguyên hợp lệ trong phạm vi
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
40, người ta có thể mong đợi một số hành vi nhanh chóng phát sinh. Một
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
41 bị loại bỏ bất cứ khi nào một giá trị không tuân thủ được thử—nhưng điều đó được mong đợi. Điều kỳ lạ là cách Python sẽ biểu thị các giá trị thứ tự cho các ký tự không in được. Hãy xem xét những điều sau đây

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
7

Lưu ý rằng

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
9 sẽ hiển thị các ký tự thoát bất kể mảng số nguyên được truyền vào như thế nào [tiền tố
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
43. ] Tuy nhiên, lưu ý rằng các ký tự có giá trị số nguyên khớp với giá trị thứ tự của các ký tự có thể in được biểu thị dưới dạng ký tự đó. Nói cách khác. 1 được hiển thị dưới dạng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
44 nhưng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
45 được hiển thị dưới dạng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
46 vì đó là giá trị thứ tự của ký tự in được. Hãy xem bài viết về hàm ord[] của Python để cảm nhận về khả năng tương tác đó

Giá trị mặc định

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 có thể được khởi tạo dưới dạng một mảng trống hoặc một mảng có giá trị mặc định bằng cách chuyển một đối số số nguyên không thể lặp lại. Hãy xem xét những điều sau đây

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3

Lưu ý ở đây rằng việc chuyển giá trị số nguyên của

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
48 làm đối số sẽ khởi tạo đối tượng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 với năm giá trị của
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
50—được biểu thị bằng chuỗi ký tự thoát
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
51. Theo ý kiến ​​​​của tôi, tài liệu bao gồm các đối số
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 hợp lệ không hoàn toàn rõ ràng về điểm này và có thể dẫn đến một số nhầm lẫn. Lưu ý ví dụ cuối cùng đặt 5 trong ký hiệu danh sách ngoặc của Python. Điều này dẫn đến một đối tượng
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 có độ dài một với chuỗi ký tự thoát duy nhất là
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
54. Một lần nữa, không phải là một lỗi nhưng chắc chắn kỳ quặc. Ghi chú.
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
50 không giống như
# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
56

Suy nghĩ cuối cùng

Hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 của Python cung cấp một tiện ích dễ sử dụng để thao tác dữ liệu hiệu quả trên bộ nhớ. Các nhà phát triển ứng dụng mạng, các trường hợp sử dụng xử lý chuỗi lớn và các chương trình mã hóa và giải mã các dải dữ liệu lớn đều có thể ngưỡng mộ khả năng truy cập cấp cao của dữ liệu đòn bẩy thấp

Python chắc chắn không phải là ngôn ngữ chuẩn để phát triển các ứng dụng hiệu quả về bộ nhớ—ít nhất là không trực tiếp. Hàm

# Create a string
a = "string one"
print[a, "-", id[a]]

>>> string one - 3236722728688

# 'mutate' string
a = "string two"
print[a, "-", id[a]]

>>> string two - 3236720675504
3 cung cấp tiện ích tạo ra trường hợp, mặc dù không phải là lựa chọn chính tắc, nhưng Python chắc chắn sẽ hoàn thành nhiệm vụ nếu cần. Để biết thêm thông tin chi tiết về việc xử lý dữ liệu nhị phân, hãy xem bài viết Dù sao thì luồng byte là gì?

Làm cách nào để đọc mảng byte trong Python?

Trăn. hàm bytearray[] . Nó đưa ra một chuỗi các số nguyên có thể thay đổi trong phạm vi 0 > với open["bài tập. zip", mode="rb"] dưới dạng zip_file. . nội dung = zip_file.

Làm cách nào để chuyển đổi mảng byte thành int trong Python?

cú pháp. int. from_bytes[byte, thứ tự byte, *, đã ký=Sai]
Thông số
Trả về - một int tương đương với byte đã cho

Chủ Đề