Hướng dẫn categorizing the standard types in python - phân loại các loại tiêu chuẩn trong python

4.8. Phân loại các loại tiêu chuẩn

Nếu chúng ta có tính dài nhất trong việc mô tả các loại tiêu chuẩn, có lẽ chúng ta sẽ gọi chúng là một cái gì đó giống như "Các loại nguyên thủy đối tượng dữ liệu tích hợp cơ bản" của Python.

  • "Cơ bản", chỉ ra rằng đây là những loại tiêu chuẩn hoặc cốt lõi mà Python cung cấp

  • "Tích hợp", do thực tế là các loại này xuất hiện theo mặc định trong Python

  • "Dữ liệu", vì chúng được sử dụng để lưu trữ dữ liệu chung

  • "Đối tượng", bởi vì các đối tượng là sự trừu tượng mặc định cho dữ liệu và chức năng

  • "Nguyên thủy", bởi vì các loại này cung cấp mức độ chi tiết ở mức thấp nhất của lưu trữ dữ liệu

  • "Các loại", bởi vì đó là những gì chúng là: các loại dữ liệu!

Tuy nhiên, mô tả này không thực sự cung cấp cho bạn ý tưởng về cách mỗi loại hoạt động hoặc chức năng nào áp dụng cho chúng. Thật vậy, một số trong số họ chia sẻ các đặc điểm nhất định, chẳng hạn như cách chúng hoạt động và những người khác chia sẻ điểm chung liên quan đến cách truy cập giá trị dữ liệu của chúng. Chúng ta cũng nên quan tâm đến việc liệu dữ liệu mà một số loại này có thể được cập nhật và loại lưu trữ nào họ cung cấp.

Có ba mô hình khác nhau mà chúng tôi đã đưa ra để giúp phân loại các loại tiêu chuẩn, với mỗi mô hình cho chúng ta thấy mối quan hệ tương quan giữa các loại. Những mô hình này giúp chúng tôi hiểu rõ hơn về cách các loại có liên quan, cũng như cách chúng làm việc.

4.8.1. Mô hình lưu trữ

Cách đầu tiên chúng ta có thể phân loại các loại là có thể lưu trữ bao nhiêu đối tượng trong một đối tượng thuộc loại này. Các loại của Python, cũng như các loại từ hầu hết các ngôn ngữ khác, có thể chứa các giá trị đơn hoặc nhiều giá trị. Một loại chứa một đối tượng theo nghĩa đen mà chúng ta sẽ gọi là lưu trữ nguyên tử hoặc vô hướng và các loại có thể chứa nhiều đối tượng mà chúng ta sẽ gọi là lưu trữ container. . Tất cả các loại container của Python có thể chứa các đối tượng thuộc các loại khác nhau. Bảng 4.6 phân loại các loại Python theo mô hình lưu trữ.atomic or scalar storage, and those which can hold multiple objects we will refer to as container storage. [Container objects are also referred to as composite or compound objects in the documentation, but some of these refer to objects other than types, such as class instances.] Container types bring up the additional issue of whether different types of objects can be stored. All of Python's container types can hold objects of different types. Table 4.6 categorizes Python's types by storage model.

Bảng 4.6. Các loại được phân loại theo mô hình lưu trữ

Danh mục mô hình lưu trữ

Các loại python phù hợp với thể loại

Scalar/atom

Số [tất cả các loại số], chuỗi [tất cả đều là chữ]

Thùng đựng hàng

Danh sách, bộ dữ liệu, từ điển

Mặc dù các chuỗi có vẻ giống như một loại container vì chúng "chứa" các ký tự [và thường là nhiều hơn một ký tự], nhưng chúng không được coi là như vậy vì Python không có loại ký tự [xem Phần 4.8]. Do đó, các chuỗi là nghĩa đen khép kín.

4.8.2. Mô hình cập nhật

Một cách khác để phân loại các loại tiêu chuẩn là đặt câu hỏi, "Sau khi được tạo, các đối tượng có thể được thay đổi hoặc giá trị của chúng có thể được cập nhật không?" Khi chúng tôi giới thiệu các loại Python sớm, chúng tôi chỉ ra rằng một số loại nhất định cho phép các giá trị của chúng được cập nhật và các loại khác thì không. Các đối tượng có thể thay đổi là những đối tượng có giá trị có thể được thay đổi và các đối tượng bất biến là những đối tượng không thể thay đổi giá trị. Bảng 4.7 minh họa loại nào hỗ trợ cập nhật và loại nào không.Mutable objects are those whose values can be changed, and immutable objects are those whose values cannot be changed. Table 4.7 illustrates which types support updates and which do not.

Bảng 4.7. Các loại được phân loại theo mô hình cập nhật

Cập nhật danh mục mô hình

Các loại python phù hợp với thể loại

Số [tất cả các loại số], chuỗi [tất cả đều là chữ]

Thùng đựng hàng

Danh sách, bộ dữ liệu, từ điển

Mặc dù các chuỗi có vẻ giống như một loại container vì chúng "chứa" các ký tự [và thường là nhiều hơn một ký tự], nhưng chúng không được coi là như vậy vì Python không có loại ký tự [xem Phần 4.8]. Do đó, các chuỗi là nghĩa đen khép kín.

4.8.2. Mô hình cập nhật

x = 'Python numbers and strings' x = 'are immutable?!? What gives?' i = 0 i = i + 1

Một cách khác để phân loại các loại tiêu chuẩn là đặt câu hỏi, "Sau khi được tạo, các đối tượng có thể được thay đổi hoặc giá trị của chúng có thể được cập nhật không?" Khi chúng tôi giới thiệu các loại Python sớm, chúng tôi chỉ ra rằng một số loại nhất định cho phép các giá trị của chúng được cập nhật và các loại khác thì không. Các đối tượng có thể thay đổi là những đối tượng có giá trị có thể được thay đổi và các đối tượng bất biến là những đối tượng không thể thay đổi giá trị. Bảng 4.7 minh họa loại nào hỗ trợ cập nhật và loại nào không.

Bảng 4.7. Các loại được phân loại theo mô hình cập nhật

Cập nhật danh mục mô hình

>>> x = 'Python numbers and strings' >>> print id[x] 16191392 >>> x = 'are immutable?!? What gives?' >>> print id[x] 16191232 >>> i = 0 >>> print id[i] 7749552 >>> i = i + 1 >>> print id[i] 7749600

Có thể thay đổi

>>> aList = ['ammonia', 83, 85, 'lady'] >>> aList ['ammonia', 83, 85, 'lady'] >>> >>> aList[2] 85 >>> >>> id[aList] 135443480 >>> >>> aList[2] = aList[2] + 1 >>> aList[3] = 'stereo' >>> aList ['ammonia', 83, 86, 'stereo'] >>> >>> id[aList] 135443480 >>> >>> aList.append['gaudy'] >>> aList.append[aList[2] + 1] >>> aList ['ammonia', 83, 86, 'stereo', 'gaudy', 87] >>> >>> id[aList] 135443480

Danh sách, từ điển

Bất biến

Số, dây, bộ dữdirect, sequence, and mapping. The different access models and which types fall into each respective category are given in Table 4.8.

Bảng 4.8. Các loại được phân loại theo mô hình truy cập

Danh mục mô hình truy cập

Các loại phù hợp với thể loại

Thẳng thắn

Số

Sự phối hợp

Chuỗi, danh sách, bộ dữ

Lập bản đồ

Từ điển

Các loại trực tiếp chỉ ra các loại đơn yếu tố, không liên tục. Tất cả các loại số phù hợp với thể loại này.

Các loại trình tự là các loại có các phần tử có thể truy cập tuần tự thông qua các giá trị chỉ mục bắt đầu từ 0. Các mục được truy cập có thể là các phần tử đơn hoặc theo nhóm, được gọi là các lát cắt. Các loại thuộc danh mục này bao gồm chuỗi, danh sách và bộ dữ liệu. Như chúng tôi đã đề cập trước đây, Python không hỗ trợ loại ký tự, vì vậy, mặc dù các chuỗi là chữ, chúng là một loại trình tự vì khả năng truy cập chuỗi con theo tuần tự.

Các loại ánh xạ tương tự như các thuộc tính lập chỉ mục của các chuỗi, ngoại trừ thay vì lập chỉ mục trên một phần bù số tuần tự, các phần tử [giá trị] không được đặt hàng và truy cập bằng khóa, do đó làm cho các loại ánh xạ trở thành một tập hợp các cặp giá trị khóa băm.

Chúng tôi sẽ sử dụng mô hình chính này trong chương tiếp theo bằng cách trình bày từng loại mô hình truy cập và tất cả các loại trong danh mục đó có điểm chung [như toán tử và bifs], sau đó thảo luận về từng loại tiêu chuẩn Python phù hợp với các danh mục đó. Bất kỳ toán tử, bifs và phương pháp nào duy nhất cho một loại cụ thể sẽ được tô sáng trong các phần tương ứng của chúng.

Vậy tại sao chuyến đi phụ này để xem các loại dữ liệu giống nhau từ các quan điểm khác nhau? Vâng, trước hết, tại sao phải phân loại ở tất cả? Do các cấu trúc dữ liệu cấp cao mà Python cung cấp, chúng ta cần phân biệt các loại "nguyên thủy" với các cấu trúc cung cấp nhiều chức năng hơn. Một lý do khác là phải rõ ràng về hành vi mong đợi của một loại nên là gì. Ví dụ, nếu chúng ta giảm thiểu số lần chúng ta tự hỏi, "sự khác biệt giữa danh sách và bộ dữ liệu một lần nữa là gì?" hoặc "Những loại nào là bất biến và loại nào?" Sau đó, chúng tôi đã hoàn thành công việc của chúng tôi. Và cuối cùng, một số loại có đặc điểm chung áp dụng cho tất cả các loại trong một loại nhất định. Một thợ thủ công giỏi [và thợ thủ công] nên biết những gì có sẵn trong hộp công cụ của mình.

Phần thứ hai của yêu cầu của chúng tôi hỏi, "Tại sao tất cả các mô hình hoặc quan điểm khác nhau này"? Có vẻ như không có một cách nào để phân loại tất cả các loại dữ liệu. Tất cả họ đã vượt qua các mối quan hệ với nhau và chúng tôi cảm thấy tốt nhất là phơi bày các bộ mối quan hệ khác nhau được chia sẻ bởi tất cả các loại. Chúng tôi cũng muốn chỉ ra làm thế nào mỗi loại là duy nhất theo đúng nghĩa của nó. Không có hai loại ánh xạ giống nhau trên tất cả các loại. . Bạn càng biết nhiều về từng loại, bạn càng có khả năng sử dụng các loại chính xác trong các phần của ứng dụng của bạn, nơi chúng phù hợp nhất và nơi bạn có thể tối đa hóa hiệu suất.

Chúng tôi tóm tắt bằng cách trình bày một biểu đồ tham chiếu chéo [xem Bảng 4.9] hiển thị tất cả các loại tiêu chuẩn, ba mô hình khác nhau mà chúng tôi sử dụng để phân loại và trong đó mỗi loại phù hợp với các mô hình này.

Bảng 4.9. Phân loại các loại tiêu chuẩn

Loại dữ liệu

Mô hình lưu trữ

Mô hình cập nhật

Mô hình truy cập

Số

Sự phối hợp

Chuỗi, danh sách, bộ dữ

Thẳng thắn

Số

Sự phối hợp

Chuỗi, danh sách, bộ dữ

Sự phối hợp

Chuỗi, danh sách, bộ dữ

Lập bản đồ

Từ điển

Sự phối hợp

Chuỗi, danh sách, bộ dữ

Lập bản đồ

Chuỗi, danh sách, bộ dữ

Sự phối hợp

Từ điển

Lập bản đồ

Từ điển

Lập bản đồ


Các loại tiêu chuẩn trong Python là gì?

Python có sáu loại dữ liệu tiêu chuẩn:-..
Numeric..
String..
Tuple..
Dictionary..

Có bao nhiêu loại dữ liệu tiêu chuẩn trong Python?

Tổng quan.Python có năm loại dữ liệu tiêu chuẩn: số.

4 loại dữ liệu chính trong Python là gì?

Kiểu dữ liệu Python..
Kiểu dữ liệu số Python.Kiểu dữ liệu số Python được sử dụng để giữ các giá trị số như;....
Kiểu dữ liệu chuỗi Python.Chuỗi là một chuỗi các ký tự.....
Kiểu dữ liệu danh sách Python.Danh sách này là một loại dữ liệu đa năng độc quyền trong Python.....
Python tuple.....
Từ điển Python ..

Các loại dữ liệu tiêu chuẩn là gì?

Hầu hết các ngôn ngữ lập trình đều hỗ trợ các loại dữ liệu cơ bản của số nguyên [có kích thước khác nhau], số điểm nổi [gần đúng số thực], ký tự và booleans.Một loại dữ liệu hạn chế các giá trị có thể có biểu thức, chẳng hạn như biến hoặc hàm, có thể lấy.integer numbers [of varying sizes], floating-point numbers [which approximate real numbers], characters and Booleans. A data type constrains the possible values that an expression, such as a variable or a function, might take.

Bài Viết Liên Quan

Chủ Đề