Khai báo mảng đối tượng trong python

Mô-đun này xác định một loại đối tượng có thể biểu diễn gọn một mảng các giá trị cơ bản. ký tự, số nguyên, số dấu phẩy động. Mảng là kiểu dãy và hoạt động rất giống với danh sách, ngoại trừ kiểu đối tượng được lưu trữ trong chúng bị hạn chế. Loại được chỉ định tại thời điểm tạo đối tượng bằng cách sử dụng mã loại, là một ký tự đơn. Các loại mã sau đây được xác định

loại mã

Loại C

Loại trăn

Kích thước tối thiểu tính bằng byte

ghi chú

'b'

ký tự

int

1

'B'

ký tự không dấu

int

1

'u'

wchar_t

Ký tự Unicode

2

(1)

'h'

ký tắt

int

2

'H'

ngắn không dấu

int

2

'i'

ký int

int

2

'I'

int không dấu

int

2

________số 8

ký dài

int

4

array0

không dấu dài

int

4

array1

đã ký lâu dài

int

8

array2

không dấu lâu dài

int

8

array3

trôi nổi

trôi nổi

4

array4

kép

trôi nổi

8

ghi chú

  1. Nó có thể là 16 bit hoặc 32 bit tùy thuộc vào nền tảng

    Đã thay đổi trong phiên bản 3. 9. array5 hiện sử dụng array6 làm loại C thay vì array7 không dùng nữa. Thay đổi này không ảnh hưởng đến hành vi của nó vì array7 là bí danh của array6 kể từ Python 3. 3.

    Không dùng nữa kể từ phiên bản 3. 3, sẽ bị xóa trong phiên bản 4. 0

Biểu diễn thực tế của các giá trị được xác định bởi kiến ​​trúc máy (nói đúng ra là do triển khai C). Kích thước thực tế có thể được truy cập thông qua thuộc tính 'b'0

Mô-đun xác định loại sau

lớp mảng. mảng(typecode[ , trình khởi tạo])

Một mảng mới có các mục bị hạn chế bởi mã loại và được khởi tạo từ giá trị khởi tạo tùy chọn, phải là một danh sách, một đối tượng giống như byte, or iterable over elements of the appropriate type.

Nếu được cung cấp một danh sách hoặc chuỗi, trình khởi tạo được chuyển đến phương thức 'b'1, 'b'2 hoặc 'b'3 của mảng mới (xem bên dưới) để thêm các phần tử ban đầu vào mảng. Mặt khác, trình khởi tạo lặp lại được chuyển đến phương thức 'b'4

Tăng sự kiện kiểm tra 'b'5 với các đối số 'b'6, 'b'7.

mảng. mã loại

Một chuỗi với tất cả các mã loại có sẵn

Các đối tượng mảng hỗ trợ các hoạt động tuần tự thông thường của lập chỉ mục, cắt, nối và nhân. Khi sử dụng phép gán lát, giá trị được gán phải là một đối tượng mảng có cùng mã loại; . Các đối tượng mảng cũng triển khai giao diện bộ đệm và có thể được sử dụng ở bất cứ nơi nào các đối tượng giống như byte được hỗ trợ.

Các mục dữ liệu và phương pháp sau đây cũng được hỗ trợ

mảng. mã loại

Ký tự mã loại được sử dụng để tạo mảng

mảng. kích thước mặt hàng

Độ dài tính bằng byte của một mục mảng trong biểu diễn bên trong

mảng. chắp thêm(x)

Nối một mục mới có giá trị x vào cuối mảng

mảng. buffer_info()

Trả về một tuple 'b'9 cung cấp địa chỉ bộ nhớ hiện tại và độ dài trong các phần tử của bộ đệm được sử dụng để chứa nội dung của mảng. Kích thước của bộ nhớ đệm theo byte có thể được tính là 'B'0. Điều này đôi khi hữu ích khi làm việc với các giao diện I/O cấp thấp (và vốn không an toàn) yêu cầu địa chỉ bộ nhớ, chẳng hạn như một số hoạt động 'B'1. Các số được trả về có giá trị miễn là mảng tồn tại và không có thao tác thay đổi độ dài nào được áp dụng cho nó

Ghi chú

Khi sử dụng các đối tượng mảng từ mã được viết bằng C hoặc C++ (cách duy nhất để sử dụng thông tin này một cách hiệu quả), sẽ hợp lý hơn khi sử dụng giao diện bộ đệm được hỗ trợ bởi các đối tượng mảng. Phương pháp này được duy trì để tương thích ngược và nên tránh trong mã mới. Giao diện bộ đệm được ghi lại trong Giao thức bộ đệm .

mảng. hoán đổi byte()

“Hoán đổi byte” tất cả các mục của mảng. Điều này chỉ được hỗ trợ cho các giá trị có kích thước 1, 2, 4 hoặc 8 byte; . Nó rất hữu ích khi đọc dữ liệu từ một tệp được ghi trên máy có thứ tự byte khác

mảng. đếm(x)

Trả về số lần xuất hiện của x trong mảng

mảng. mở rộng(có thể lặp lại)

Nối các mục từ iterable vào cuối mảng. Nếu iterable là một mảng khác, thì nó phải có cùng mã loại; . Nếu iterable không phải là một mảng, thì nó phải là iterable và các phần tử của nó phải đúng loại để được thêm vào mảng

mảng. từ byte(s)

Nối thêm các mục từ chuỗi, diễn giải chuỗi dưới dạng một mảng các giá trị máy (như thể nó đã được đọc từ một tệp bằng phương thức 'B'4)

Mới trong phiên bản 3. 2. ______25 được đổi tên thành 'b'2 cho rõ ràng.

mảng. từ tệp(f , n)

Đọc n mục (dưới dạng giá trị máy) từ đối tượng tệp f và nối chúng vào cuối mảng. Nếu có ít hơn n phần tử, 'B'7 được nâng lên, nhưng các phần tử có sẵn vẫn được chèn vào mảng.

mảng. từ danh sách(danh sách)

Nối các mục từ danh sách. Điều này tương đương với 'B'8 ngoại trừ nếu có lỗi kiểu, mảng sẽ không thay đổi

mảng. fromunicode(s)

Mở rộng mảng này với dữ liệu từ chuỗi unicode đã cho. Mảng phải là mảng kiểu 'u'; . Sử dụng 'u'1 để nối dữ liệu Unicode vào một mảng thuộc loại khác

mảng. index(x[ , bắt đầu[ , dừng]])

Trả về i nhỏ nhất sao cho i là chỉ số của lần xuất hiện đầu tiên của x trong mảng. Các đối số tùy chọn bắt đầu và dừng có thể được chỉ định để tìm kiếm x trong phần con của mảng. Tăng 'u'0 nếu không tìm thấy x

Đã thay đổi trong phiên bản 3. 10. Đã thêm tham số bắt đầu và dừng tùy chọn.

mảng. insert(i , x)

Chèn một mục mới có giá trị x vào mảng trước vị trí i. Các giá trị âm được coi là có liên quan đến phần cuối của mảng

mảng. pop([i])

Loại bỏ mục có chỉ số i khỏi mảng và trả về nó. Đối số tùy chọn mặc định là 'u'3, do đó, theo mặc định, mục cuối cùng được xóa và trả lại

mảng. xóa(x)

Xóa lần xuất hiện đầu tiên của x khỏi mảng

mảng. đảo ngược()

Đảo ngược thứ tự các phần tử trong mảng

mảng. tobyte()

Chuyển đổi mảng thành một mảng các giá trị máy và trả về biểu diễn byte (cùng một chuỗi byte sẽ được ghi vào tệp bằng phương thức 'u'4. )

Mới trong phiên bản 3. 2. ______35 được đổi tên thành 'u'6 cho rõ ràng.

mảng. tofile(f)

Ghi tất cả các mục (dưới dạng giá trị máy) vào đối tượng tệp f.

mảng. tolist()

Chuyển đổi mảng thành một danh sách bình thường với các mục giống nhau

mảng. tounicode()

Chuyển đổi mảng thành chuỗi unicode. Mảng phải là mảng kiểu 'u'; . Sử dụng 'u'9 để lấy chuỗi unicode từ một mảng thuộc loại khác

Khi một đối tượng mảng được in hoặc chuyển đổi thành một chuỗi, nó được biểu diễn dưới dạng 'h'0. Trình khởi tạo được bỏ qua nếu mảng trống, nếu không thì nó là một chuỗi nếu mã kiểu là 'u', nếu không thì nó là một danh sách các số. Chuỗi được đảm bảo có thể được chuyển đổi trở lại một mảng có cùng loại và giá trị bằng cách sử dụng 'h'2, miễn là lớp array đã được nhập bằng cách sử dụng 'h'4. ví dụ

array('l')
array('u', 'hello \u2641')
array('l', [1, 2, 3, 4, 5])
array('d', [1.0, 2.0, 3.14])

Xem thêm

Mô-đun 'h'5

Đóng gói và giải nén dữ liệu nhị phân không đồng nhất

Mô-đun 'h'6

Đóng gói và giải nén dữ liệu Biểu diễn dữ liệu ngoài (XDR) như được sử dụng trong một số hệ thống gọi thủ tục từ xa

Bạn có thể có một mảng đối tượng trong Python không?

Mô-đun mảng trong Python định nghĩa một đối tượng được biểu diễn trong một mảng . Đối tượng này chứa các kiểu dữ liệu cơ bản như số nguyên, dấu chấm động, ký tự. Sử dụng mô-đun mảng, một mảng có thể được khởi tạo bằng cú pháp sau. ví dụ 1. In một mảng các giá trị với mã loại, int.

Bạn có thể tạo một mảng đối tượng không?

Trả lời. Có. Java có thể có một mảng các đối tượng giống như cách nó có thể có một mảng các kiểu nguyên thủy.

Mảng là gì [. ] trong Python?

[. ] được sử dụng để giới hạn hoặc cắt trong mảng, hàm băm