Từ điển Python làm thuộc tính lớp

Python cung cấp một kiểu dữ liệu tổng hợp khác được gọi là từ điển, tương tự như danh sách ở chỗ nó là một tập hợp các đối tượng

Show

Đây là những gì bạn sẽ học trong hướng dẫn này. Bạn sẽ đề cập đến các đặc điểm cơ bản của từ điển Python và tìm hiểu cách truy cập và quản lý dữ liệu từ điển. Khi bạn đã hoàn thành hướng dẫn này, bạn sẽ hiểu rõ khi nào từ điển là kiểu dữ liệu thích hợp để sử dụng và cách thực hiện

Từ điển và danh sách chia sẻ các đặc điểm sau

  • Cả hai đều có thể thay đổi
  • Cả hai đều năng động. Chúng có thể phát triển và thu nhỏ khi cần thiết
  • Cả hai có thể được lồng vào nhau. Một danh sách có thể chứa một danh sách khác. Một từ điển có thể chứa một từ điển khác. Một từ điển cũng có thể chứa một danh sách và ngược lại

Từ điển khác với danh sách chủ yếu ở cách các phần tử được truy cập

  • Các phần tử danh sách được truy cập theo vị trí của chúng trong danh sách, thông qua lập chỉ mục
  • Các phần tử từ điển được truy cập thông qua các phím

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Từ điển Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

Định nghĩa một từ điển

Từ điển là triển khai của Python về cấu trúc dữ liệu thường được gọi là mảng kết hợp. Một từ điển bao gồm một tập hợp các cặp khóa-giá trị. Mỗi cặp khóa-giá trị ánh xạ khóa với giá trị được liên kết của nó

Bạn có thể định nghĩa một từ điển bằng cách đặt một danh sách các cặp khóa-giá trị được phân tách bằng dấu phẩy trong dấu ngoặc nhọn (

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
6). Dấu hai chấm (
>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
7) phân tách mỗi khóa khỏi giá trị được liên kết của nó

d = {
    <key>: <value>,
    <key>: <value>,
      .
      .
      .
    <key>: <value>
}

Phần sau định nghĩa một từ điển ánh xạ một vị trí tới tên của đội bóng chày Major League tương ứng của nó

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }

Từ điển Python làm thuộc tính lớp
Vị trí ánh xạ từ điển tới Nhóm MLB

Bạn cũng có thể xây dựng một từ điển với chức năng

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
8 tích hợp. Đối số của
>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
8 phải là một chuỗi các cặp khóa-giá trị. Một danh sách các bộ dữ liệu hoạt động tốt cho việc này

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
0 sau đó cũng có thể được định nghĩa theo cách này

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])

Nếu các giá trị khóa là các chuỗi đơn giản, chúng có thể được chỉ định làm đối số từ khóa. Vì vậy, đây là một cách khác để định nghĩa

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
0

>>>

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )

Khi bạn đã xác định một từ điển, bạn có thể hiển thị nội dung của nó, giống như bạn có thể làm cho một danh sách. Tất cả ba định nghĩa hiển thị ở trên xuất hiện như sau khi được hiển thị

>>>

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}

Các mục trong từ điển hiển thị theo thứ tự chúng được xác định. Nhưng điều đó không liên quan khi lấy chúng. Các phần tử từ điển không được truy cập bằng chỉ mục số

>>>

>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1

Có lẽ bạn vẫn muốn sắp xếp từ điển của mình. Nếu đúng như vậy, hãy xem Sắp xếp từ điển Python. Giá trị, khóa và hơn thế nữa

Loại bỏ các quảng cáo

Truy cập các giá trị từ điển

Tất nhiên, các yếu tố từ điển phải được truy cập bằng cách nào đó. Nếu bạn không lấy chúng theo chỉ mục, thì làm cách nào để bạn lấy chúng?

Một giá trị được lấy từ một từ điển bằng cách chỉ định khóa tương ứng của nó trong dấu ngoặc vuông (

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
2)

>>>

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'

Nếu bạn đề cập đến một khóa không có trong từ điển, Python sẽ đưa ra một ngoại lệ

>>>

>>> MLB_team['Toronto']
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    MLB_team['Toronto']
KeyError: 'Toronto'

Thêm một mục vào từ điển hiện có chỉ đơn giản là gán một khóa và giá trị mới

>>>

>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}

Nếu bạn muốn cập nhật một mục nhập, bạn chỉ cần gán một giá trị mới cho một khóa hiện có

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
0

Để xóa một mục nhập, hãy sử dụng câu lệnh

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
3, chỉ định khóa cần xóa

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
1

Biến đi, Seahawks. Bạn là một đội NFL

Phím từ điển vs. Liệt kê các chỉ số

Bạn có thể nhận thấy rằng trình thông dịch đưa ra cùng một ngoại lệ,

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4, khi từ điển được truy cập bằng khóa không xác định hoặc bằng chỉ mục số

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
2

Trên thực tế, đó là cùng một lỗi. Trong trường hợp sau,

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
5 trông giống như một chỉ số bằng số, nhưng không phải

Sau này, bạn sẽ thấy trong hướng dẫn này rằng một đối tượng thuộc bất kỳ loại bất biến nào cũng có thể được sử dụng làm khóa từ điển. Theo đó, không có lý do gì bạn không thể sử dụng số nguyên

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
3

Trong các biểu thức

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
6,
>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
7 và
>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
8, các số trong ngoặc vuông xuất hiện như thể chúng có thể là chỉ số. Nhưng chúng không liên quan gì đến thứ tự của các mục trong từ điển. Python đang diễn giải chúng dưới dạng các khóa từ điển. Nếu bạn xác định cùng một từ điển này theo thứ tự ngược lại, bạn vẫn nhận được các giá trị giống nhau khi sử dụng cùng các khóa

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
4

Cú pháp có thể giống nhau, nhưng bạn không thể coi từ điển như một danh sách

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
5

Ghi chú. Mặc dù quyền truy cập vào các mục trong từ điển không phụ thuộc vào thứ tự, nhưng Python đảm bảo rằng thứ tự của các mục trong từ điển được giữ nguyên. Khi được hiển thị, các mục sẽ xuất hiện theo thứ tự chúng được xác định và việc lặp qua các phím cũng sẽ diễn ra theo thứ tự đó. Các mục được thêm vào từ điển được thêm vào cuối. Nếu các mục bị xóa, thứ tự của các mục còn lại sẽ được giữ lại

Bạn chỉ có thể tin tưởng vào việc duy trì trật tự này rất gần đây. đó là. Tuy nhiên, đó là sự thật kể từ phiên bản 3. 6 cũng vậy—tình cờ là kết quả của việc triển khai nhưng không được đảm bảo bởi đặc tả ngôn ngữ

Loại bỏ các quảng cáo

Xây dựng từ điển tăng dần

Xác định một từ điển bằng cách sử dụng dấu ngoặc nhọn và danh sách các cặp khóa-giá trị, như được hiển thị ở trên, sẽ ổn nếu bạn biết trước tất cả các khóa và giá trị. Nhưng nếu bạn muốn xây dựng một từ điển nhanh chóng thì sao?

Bạn có thể bắt đầu bằng cách tạo một từ điển trống, được chỉ định bởi dấu ngoặc nhọn trống. Sau đó, bạn có thể thêm từng khóa và giá trị mới

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
6

Khi từ điển được tạo theo cách này, các giá trị của nó được truy cập giống như bất kỳ từ điển nào khác

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
7

Truy xuất các giá trị trong danh sách phụ hoặc từ điển phụ yêu cầu một chỉ mục hoặc khóa bổ sung

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
8

Ví dụ này thể hiện một tính năng khác của từ điển. các giá trị trong từ điển không cần phải cùng loại. Trong

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
9, một số giá trị là chuỗi, một là số nguyên, một là danh sách và một là từ điển khác

Giống như các giá trị trong từ điển không cần phải cùng loại, các khóa cũng vậy.

>>>

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
9

Ở đây, một trong các khóa là số nguyên, một là số float và một là Boolean. Không rõ điều này sẽ hữu ích như thế nào, nhưng bạn không bao giờ biết

Lưu ý mức độ linh hoạt của từ điển Python. Trong

>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
0, cùng một thông tin (tên đội bóng chày) được lưu giữ cho từng vị trí địa lý khác nhau. Mặt khác,
>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
9 lưu trữ các loại dữ liệu khác nhau cho một người

Bạn có thể sử dụng từ điển cho nhiều mục đích vì có rất ít giới hạn về khóa và giá trị được phép. Nhưng có một số. đọc tiếp

Hạn chế về khóa từ điển

Hầu hết mọi loại giá trị đều có thể được sử dụng làm khóa từ điển trong Python. Bạn vừa thấy ví dụ này, trong đó các đối tượng số nguyên, float và Boolean được sử dụng làm khóa

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
0

Bạn thậm chí có thể sử dụng các đối tượng tích hợp sẵn như kiểu và hàm

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
1

Tuy nhiên, có một số hạn chế mà các khóa từ điển phải tuân theo

Đầu tiên, một khóa nhất định chỉ có thể xuất hiện trong từ điển một lần. Khóa trùng lặp không được phép. Từ điển ánh xạ mỗi khóa thành một giá trị tương ứng, vì vậy sẽ không hợp lý khi ánh xạ một khóa cụ thể nhiều lần

Ở trên, bạn đã thấy rằng khi bạn gán một giá trị cho khóa từ điển đã tồn tại, nó không thêm khóa lần thứ hai mà thay thế giá trị hiện có

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
2

Tương tự, nếu bạn chỉ định một khóa lần thứ hai trong quá trình tạo từ điển lần đầu, lần xuất hiện thứ hai sẽ ghi đè lần đầu tiên

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
3

Biến đi, Timberwolves. Bạn là một đội NBA. Sắp xếp

Thứ hai, khóa từ điển phải thuộc loại không thay đổi. Bạn đã thấy các ví dụ trong đó một số kiểu bất biến mà bạn quen thuộc—số nguyên, số float, chuỗi và Boolean—được dùng làm khóa từ điển

Một bộ dữ liệu cũng có thể là một khóa từ điển, bởi vì các bộ dữ liệu là bất biến

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
4

(Nhớ lại từ cuộc thảo luận về một lý do cơ bản để sử dụng bộ thay vì danh sách là có những trường hợp cần có loại bất biến. đây là một trong chúng. )

Tuy nhiên, cả danh sách và từ điển khác đều không thể đóng vai trò là khóa từ điển vì danh sách và từ điển có thể thay đổi

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
5

Lưu ý kỹ thuật. Tại sao thông báo lỗi nói "không thể xóa"?

Về mặt kỹ thuật, không hoàn toàn đúng khi nói rằng một đối tượng phải là bất biến để được sử dụng làm khóa từ điển. Chính xác hơn, một đối tượng phải là , có nghĩa là nó có thể được chuyển đến một hàm băm. A lấy dữ liệu có kích thước tùy ý và ánh xạ nó tới một giá trị có kích thước cố định tương đối đơn giản hơn được gọi là giá trị băm (hoặc đơn giản là hàm băm), được sử dụng để tra cứu và so sánh bảng

Hàm

>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1
2 tích hợp sẵn của Python trả về giá trị băm cho một đối tượng có thể băm và đưa ra một ngoại lệ cho một đối tượng không

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
6

Tất cả các loại bất biến tích hợp mà bạn đã học cho đến nay đều có thể băm được và các loại vùng chứa có thể thay đổi (danh sách và từ điển) thì không. Vì vậy, với các mục đích hiện tại, bạn có thể coi hashable và immutable ít nhiều đồng nghĩa với nhau

Trong các hướng dẫn trong tương lai, bạn sẽ gặp các đối tượng có thể thay đổi cũng có thể băm được

Loại bỏ các quảng cáo

Hạn chế về giá trị từ điển

Ngược lại, không có hạn chế về giá trị từ điển. nghĩa đen là không có gì cả. Một giá trị từ điển có thể là bất kỳ loại đối tượng nào mà Python hỗ trợ, bao gồm các loại có thể thay đổi như danh sách và từ điển cũng như các đối tượng do người dùng định nghĩa, mà bạn sẽ tìm hiểu về các hướng dẫn sắp tới

Cũng không có hạn chế đối với một giá trị cụ thể xuất hiện nhiều lần trong từ điển

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
7

Toán tử và chức năng tích hợp

Bạn đã trở nên quen thuộc với nhiều toán tử và hàm tích hợp có thể được sử dụng với chuỗi, và. Một số trong số này cũng hoạt động với từ điển

Ví dụ: toán tử

>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1
3 và
>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1
4 trả về
>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1
5 hoặc
>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1
6 tùy theo toán hạng đã chỉ định có xuất hiện dưới dạng khóa trong từ điển hay không

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
8

Bạn có thể sử dụng toán tử

>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1
3 cùng với đánh giá ngắn mạch để tránh gây ra lỗi khi cố gắng truy cập một khóa không có trong từ điển

>>>

d = dict([
    (<key>, <value>),
    (<key>, <value),
      .
      .
      .
    (<key>, <value>)
])
9

Trong trường hợp thứ hai, do đánh giá ngắn mạch, biểu thức

>>> MLB_team[1]
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    MLB_team[1]
KeyError: 1
8 không được đánh giá nên ngoại lệ
>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4 không xảy ra

Hàm

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
0 trả về số cặp khóa-giá trị trong từ điển

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
0

Phương pháp từ điển tích hợp

Như với chuỗi và danh sách, có một số phương thức tích hợp có thể được gọi trên từ điển. Trên thực tế, trong một số trường hợp, phương thức danh sách và từ điển có cùng tên. (Trong phần thảo luận về lập trình hướng đối tượng, bạn sẽ thấy rằng các kiểu khác nhau có các phương thức có cùng tên là hoàn toàn có thể chấp nhận được. )

Sau đây là tổng quan về các phương pháp áp dụng cho từ điển

>>> MLB_team['Minnesota'] 'Twins' >>> MLB_team['Colorado'] 'Rockies' 1

Xóa từ điển

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
1 làm trống từ điển
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 của tất cả các cặp khóa-giá trị

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
1

Loại bỏ các quảng cáo

>>> MLB_team['Minnesota'] 'Twins' >>> MLB_team['Colorado'] 'Rockies' 4

Trả về giá trị cho một khóa nếu nó tồn tại trong từ điển

Phương thức

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
5 của từ điển Python cung cấp một cách thuận tiện để lấy giá trị của khóa từ từ điển mà không cần kiểm tra trước xem khóa đó có tồn tại hay không và không gây ra lỗi

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
6 tìm kiếm từ điển
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 cho
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 và trả về giá trị liên quan nếu tìm thấy. Nếu không tìm thấy
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8, nó sẽ trả về
>>> MLB_team['Toronto']
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    MLB_team['Toronto']
KeyError: 'Toronto'
0

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
2

Nếu không tìm thấy

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 và đối số tùy chọn
>>> MLB_team['Toronto']
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    MLB_team['Toronto']
KeyError: 'Toronto'
2 được chỉ định, thì giá trị đó được trả về thay vì
>>> MLB_team['Toronto']
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    MLB_team['Toronto']
KeyError: 'Toronto'
0

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
3

>>> MLB_team['Toronto'] Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> MLB_team['Toronto'] KeyError: 'Toronto' 4

Trả về danh sách các cặp khóa-giá trị trong từ điển

>>> MLB_team['Toronto']
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    MLB_team['Toronto']
KeyError: 'Toronto'
4 trả về một danh sách các bộ chứa các cặp khóa-giá trị trong
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3. Mục đầu tiên trong mỗi bộ là khóa và mục thứ hai là giá trị của khóa

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
4

>>> MLB_team['Toronto'] Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> MLB_team['Toronto'] KeyError: 'Toronto' 7

Trả về danh sách các khóa trong từ điển

>>> MLB_team['Toronto']
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    MLB_team['Toronto']
KeyError: 'Toronto'
7 trả về danh sách tất cả các khóa trong
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
5

>>> MLB_team['Kansas City'] = 'Royals' >>> MLB_team {'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins', 'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'} 0

Trả về danh sách các giá trị trong từ điển

>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
0 trả về một danh sách tất cả các giá trị trong
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
6

Mọi giá trị trùng lặp trong

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 sẽ được trả về nhiều lần khi chúng xảy ra

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
7

Lưu ý kỹ thuật. Các phương thức

>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
4,
>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
5 và
>>> MLB_team['Kansas City'] = 'Royals'
>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'}
6 thực sự trả về một thứ được gọi là đối tượng xem. Một đối tượng xem từ điển ít nhiều giống như một cửa sổ trên các khóa và giá trị. Đối với các mục đích thực tế, bạn có thể coi các phương thức này là danh sách trả về các khóa và giá trị của từ điển

Loại bỏ các quảng cáo

>>> MLB_team['Kansas City'] = 'Royals' >>> MLB_team {'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins', 'Milwaukee': 'Brewers', 'Seattle': 'Mariners', 'Kansas City': 'Royals'} 7

Xóa một khóa khỏi từ điển, nếu có và trả về giá trị của nó

Nếu

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 có mặt trong
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3, thì
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
00 loại bỏ
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 và trả về giá trị liên quan của nó

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
8

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
00 đưa ra một ngoại lệ
>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4 nếu
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 không có trong
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3

>>>

>>> MLB_team = dict([
..     ('Colorado', 'Rockies'),
..     ('Boston', 'Red Sox'),
..     ('Minnesota', 'Twins'),
..     ('Milwaukee', 'Brewers'),
..     ('Seattle', 'Mariners')
.. ])
9

Nếu

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
8 không có trong
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 và đối số tùy chọn
>>> MLB_team['Toronto']
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    MLB_team['Toronto']
KeyError: 'Toronto'
2 được chỉ định, thì giá trị đó được trả về và không có ngoại lệ nào được đưa ra

>>>

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
0

>>> MLB_team = { .. 'Colorado' : 'Rockies', .. 'Boston' : 'Red Sox', .. 'Minnesota': 'Twins', .. 'Milwaukee': 'Brewers', .. 'Seattle' : 'Mariners' .. } 09

Xóa cặp khóa-giá trị khỏi từ điển

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
09 xóa cặp khóa-giá trị cuối cùng được thêm vào từ
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 và trả về dưới dạng một bộ

>>>

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
1

Nếu

>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3 trống,
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
09 sẽ tăng ngoại lệ
>>> type(MLB_team)
<class 'dict'>

>>> MLB_team
{'Colorado': 'Rockies', 'Boston': 'Red Sox', 'Minnesota': 'Twins',
'Milwaukee': 'Brewers', 'Seattle': 'Mariners'}
4

>>>

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
2

Ghi chú. Trong các phiên bản Python nhỏ hơn 3. 6,

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
15 sẽ trả về một cặp khóa-giá trị tùy ý (ngẫu nhiên) vì từ điển Python không có thứ tự trước phiên bản 3. 6

>>> MLB_team = { .. 'Colorado' : 'Rockies', .. 'Boston' : 'Red Sox', .. 'Minnesota': 'Twins', .. 'Milwaukee': 'Brewers', .. 'Seattle' : 'Mariners' .. } 16

Hợp nhất một từ điển với một từ điển khác hoặc với một cặp khóa-giá trị có thể lặp lại

Nếu

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
17 là một từ điển, thì
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
16 sẽ hợp nhất các mục từ
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
17 thành
>>> MLB_team['Minnesota']
'Twins'
>>> MLB_team['Colorado']
'Rockies'
3. Đối với mỗi khóa trong
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
17

  • Nếu khóa không có trong
    >>> MLB_team['Minnesota']
    'Twins'
    >>> MLB_team['Colorado']
    'Rockies'
    
    3, thì cặp khóa-giá trị từ
    >>> MLB_team = {
    ..     'Colorado' : 'Rockies',
    ..     'Boston'   : 'Red Sox',
    ..     'Minnesota': 'Twins',
    ..     'Milwaukee': 'Brewers',
    ..     'Seattle'  : 'Mariners'
    .. }
    
    17 sẽ được thêm vào
    >>> MLB_team['Minnesota']
    'Twins'
    >>> MLB_team['Colorado']
    'Rockies'
    
    3
  • Nếu khóa đã có trong
    >>> MLB_team['Minnesota']
    'Twins'
    >>> MLB_team['Colorado']
    'Rockies'
    
    3, thì giá trị tương ứng trong
    >>> MLB_team['Minnesota']
    'Twins'
    >>> MLB_team['Colorado']
    'Rockies'
    
    3 cho khóa đó được cập nhật thành giá trị từ
    >>> MLB_team = {
    ..     'Colorado' : 'Rockies',
    ..     'Boston'   : 'Red Sox',
    ..     'Minnesota': 'Twins',
    ..     'Milwaukee': 'Brewers',
    ..     'Seattle'  : 'Mariners'
    .. }
    
    17

Dưới đây là một ví dụ cho thấy hai từ điển được hợp nhất với nhau

>>>

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
3

Trong ví dụ này, khóa

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
28 đã tồn tại trong
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
29, vì vậy giá trị của nó được cập nhật thành
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
30, giá trị cho khóa đó từ
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
31. Tuy nhiên, không có khóa
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
32 trong
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
29, vì vậy cặp khóa-giá trị đó được thêm vào từ
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
31

>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
17 cũng có thể là một chuỗi các cặp khóa-giá trị, tương tự như khi hàm
>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
8 được sử dụng để xác định từ điển. Ví dụ:
>>> MLB_team = {
..     'Colorado' : 'Rockies',
..     'Boston'   : 'Red Sox',
..     'Minnesota': 'Twins',
..     'Milwaukee': 'Brewers',
..     'Seattle'  : 'Mariners'
.. }
17 có thể được chỉ định dưới dạng danh sách các bộ dữ liệu

>>>

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
4

Hoặc các giá trị để hợp nhất có thể được chỉ định dưới dạng danh sách các đối số từ khóa

>>>

>>> MLB_team = dict(
..     Colorado='Rockies',
..     Boston='Red Sox',
..     Minnesota='Twins',
..     Milwaukee='Brewers',
..     Seattle='Mariners'
.. )
5

Loại bỏ các quảng cáo

Phần kết luận

Trong hướng dẫn này, bạn đã trình bày các thuộc tính cơ bản của từ điển Python và học cách truy cập và thao tác dữ liệu từ điển

Danh sách và từ điển là hai trong số các loại Python được sử dụng thường xuyên nhất. Như bạn đã thấy, chúng có một số điểm tương đồng, nhưng khác nhau về cách các phần tử của chúng được truy cập. Các phần tử danh sách được truy cập theo chỉ mục số dựa trên thứ tự và các phần tử từ điển được truy cập bằng khóa

Do sự khác biệt này, danh sách và từ điển có xu hướng phù hợp với các trường hợp khác nhau. Bây giờ bạn sẽ có một cảm giác tốt, nếu một trong hai, sẽ là tốt nhất cho một tình huống nhất định

Tiếp theo bạn sẽ tìm hiểu về bộ Python. Tập hợp là một kiểu dữ liệu hỗn hợp khác, nhưng nó hoàn toàn khác với danh sách hoặc từ điển

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Từ điển Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

« Danh sách và bộ dữ liệu trong Python

Bộ trong Python »

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Từ điển trong Python

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Từ điển Python làm thuộc tính lớp

Gửi cho tôi thủ thuật Python »

Giới thiệu về John Sturtz

Từ điển Python làm thuộc tính lớp
Từ điển Python làm thuộc tính lớp

John là một Pythonista cuồng nhiệt và là thành viên của nhóm hướng dẫn Real Python

» Thông tin thêm về John


Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Từ điển Python làm thuộc tính lớp

Aldren

Từ điển Python làm thuộc tính lớp

Joanna

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Bạn có thể đặt một từ điển trong một lớp Python không?

Nếu bạn muốn sử dụng từ điển trên toàn cầu trong một lớp, thì bạn cần xác định từ đó trong phần nơi bạn sử dụng lớp của mình . nếu bạn đang sử dụng lớp của mình trong chính, thì hãy xác định nó ở đó. Theo mặc định, một từ điển hoặc danh sách o là toàn cầu. lớp cửa hàng. .

Thuộc tính __ dict __ trong Python là gì?

Tất cả đối tượng trong Python đều có thuộc tính __dict__, là đối tượng từ điển chứa tất cả các thuộc tính được xác định cho chính đối tượng đó . Việc ánh xạ các thuộc tính với các giá trị của nó được thực hiện để tạo từ điển.

__ dict __ trong lớp là gì?

__dict__ là Từ điển hoặc đối tượng ánh xạ khác được sử dụng để lưu trữ các thuộc tính (có thể ghi) của đối tượng . Hay nói một cách đơn giản, mọi đối tượng trong python đều có một thuộc tính được ký hiệu là __dict__. Và đối tượng này chứa tất cả các thuộc tính được xác định cho đối tượng.

Làm cách nào để chuyển đổi dict sang lớp Python?

Chúng tôi đang gọi một hàm ở đây là Dict2Class lấy từ điển của chúng tôi làm đầu vào và chuyển đổi nó thành lớp . Sau đó, chúng tôi lặp lại từ điển của mình bằng cách sử dụng hàm setattr() để thêm từng khóa làm thuộc tính cho lớp. setattr() được sử dụng để gán giá trị cho thuộc tính đối tượng.