Bảng dữ liệu lớp dữ liệu python

Bài viết này thảo luận về các lớp dữ liệu trong Python 3. 7 và cung cấp hướng dẫn giới thiệu về các lớp dữ liệu trong Python 3. 7 trở lên.  

Lớp dữ liệu là một khái niệm mới được giới thiệu trong Python 3. 7 phiên bản. Bạn có thể sử dụng các lớp dữ liệu không chỉ như một nơi chứa kiến ​​thức mà còn để viết mã nồi hơi cho bạn và đơn giản hóa quá trình tạo lớp vì nó đi kèm với một số phương thức được triển khai miễn phí. Một lớp dữ liệu cũng có thể được coi là một danh mục thường chứa dữ liệu, nhưng chúng không giới hạn ở đó.  

Các lớp dữ liệu cơ bản

Các cách sau đây cho thấy cách tạo một lớp dữ liệu cơ bản

1. sử dụng trang trí. Chúng được tạo bằng trình trang trí @dataclass mới

Thí dụ.  

Python3




# import package

from dataclassesimport dataclass

 

# make a dataclass with decorator

@dataclass

class DataClassGFG:

from0from1from2

from0from4from5

 

from7

from8from9 dataclasses0dataclasses1dataclasses2dataclasses3dataclasses4

 

dataclasses6

dataclasses7____28

đầu ra

DataClassGFG[Công việc=’Tác giả’, Mức lương=50000. 0]

2. Sử dụng make_dataclass[]

Thí dụ.  

Python3




# import package

from dataclassesimport import3

 

import5

 

import7from9 import9dataclass0dataclass1dataclass2dataclasses2dataclass4dataclass5

 

from7

from8from9 dataclasses0dataclasses1dataclasses2dataclasses3dataclasses4

 

dataclasses6

dataclasses7____28

đầu ra

DataClassGFG[Công việc=’Tác giả’, Mức lương=50000. 0]

3. Sử dụng têntuple. Sử dụng phương thức namedtuple[] từ các bộ sưu tập. Tương tự như make_dataclass[]

Thí dụ.  

Python3




# import package

from # make a dataclass with decorator1import # make a dataclass with decorator3

 

# make a dataclass with decorator5

 

import7from9 # make a dataclass with decorator9dataclass0dataclass1dataclass2dataclasses2dataclass4dataclass5

 

from7

from8from9 dataclasses0dataclasses1dataclasses2dataclasses3dataclasses4

 

dataclasses6

dataclasses7____28

đầu ra

DataClassGFG[Công việc=’Tác giả’, Mức lương=50000. 0]

Các lớp dữ liệu bất biến

Một trong những tính năng xác định của nametuple mà chúng ta đã thấy trước đó là nó không thay đổi. e. , giá trị của các trường của nó có thể không bao giờ thay đổi. Đối với một số loại lớp dữ liệu, đây thường là một ý tưởng tuyệt vời để tạo một lớp không thay đổi và để đạt được điều này, chỉ cần đặt freeze=True khi bạn tạo nó.  

Thí dụ.  

Python3




# import package

from dataclassesimport dataclass

 

# make a dataclass with decorator

_______7____97from9____99dataclasses4

class DataClassGFG:

from0from1from2

from0from4from5

 

from7

from8from9 dataclasses0dataclasses1dataclasses2dataclasses3dataclasses4

 

dataclasses6

dataclasses7____28

 

from23

from24from9 from26

đầu ra

DataClassGFG[Công việc=’Tác giả’, Mức lương=50000. 0]

Traceback [cuộc gọi gần đây nhất cuối cùng]

 File “main.py”, line 17, in

DataClassObject. Công việc = “Nhà văn”

 File “”, line 4, in __setattr__

lớp dữ liệu. FrozenInstanceLỗi. không thể gán cho trường 'Công việc'
 

Lớp dữ liệu linh hoạt

Chúng ta đã thảo luận về một số phương pháp để tạo lớp dữ liệu và bây giờ chúng ta sẽ nghiên cứu một số tính năng nâng cao hơn như tham số cho trình trang trí @dataclass. Thêm tham số vào lớp dữ liệu cung cấp cho chúng tôi nhiều quyền kiểm soát hơn khi tạo lớp dữ liệu

Thí dụ

Python3




# import package

from dataclassesimport dataclass

from from33import from35

 

# make a dataclass with decorator

@dataclass

class DataClassGFG:

from0from1from2

from0from4from5

from47

@dataclass

class from50

from0____152____135____154

 

from56

from57from9 dataclasses0dataclasses1dataclasses2dataclasses3dataclasses4

from64from9 dataclasses0from26dataclasses2from69dataclasses4

 

from72

dataclasses7____174

dataclasses7____176

 

from78

from79from9 from81

 

dataclasses6

dataclasses7____185

đầu ra

DataClassGFG[Công việc=’Tác giả’, Mức lương=50000. 0]

DataClassGFG[Công việc=’Nhà văn’, Mức lương=40000. 0]

GFGJobs[Jobs=[DataClassGFG[Job=’Tác giả’, Mức lương=50000. 0], DataClassGFG[Công việc='Nhà văn', Mức lương=40000. 0]]]

Tối ưu hóa các lớp dữ liệu

Để tối ưu hóa các lớp dữ liệu, chúng tôi sử dụng các vị trí. Các vị trí thường được sử dụng để làm cho các lớp nhanh hơn và sử dụng ít bộ nhớ hơn. Các lớp dữ liệu không có bất kỳ cú pháp rõ ràng nào để làm việc với các vùng, nhưng cách tạo vùng truyền thống cũng hoạt động với các lớp dữ liệu

Chủ Đề