Gợi ý kiểu phá hủy tuple trong Python

Gợi ý loại chính xác cho

[]

Code language: Python [python]
8 là gì?

Tuy nhiên, trong Python, chúng tôi cũng được phép trích xuất các giá trị trở lại thành các biến. Điều này được gọi là "giải nén"

Ví dụ

Giải nén một tuple

trái cây = ["táo", "chuối", "anh đào"]

[xanh, vàng, đỏ] = trái cây

in[xanh]
in[vàng]
in[đỏ]

Tự mình thử »

Ghi chú. Số lượng biến phải khớp với số lượng giá trị trong bộ, nếu không, bạn phải sử dụng dấu hoa thị để thu thập các giá trị còn lại dưới dạng danh sách

Sử dụng Dấu hoa thị

[]

Code language: Python [python]
9

Nếu số lượng biến ít hơn số lượng giá trị, bạn có thể thêm ____59 vào tên biến và các giá trị sẽ được gán cho biến dưới dạng danh sách

Ví dụ

Chỉ định phần còn lại của các giá trị dưới dạng danh sách có tên "đỏ"

trái cây = ["táo", "chuối", "anh đào", "dâu tây", "mâm xôi"]

[xanh, vàng, *đỏ] = trái cây

in[xanh]
in[vàng]
in[đỏ]

Tự mình thử »

Nếu dấu hoa thị được thêm vào tên biến khác với tên trước đó, Python sẽ gán giá trị cho biến cho đến khi số lượng giá trị còn lại khớp với số lượng biến còn lại

Python định nghĩa một bộ sử dụng dấu phẩy [_______07], không phải dấu ngoặc đơn

[]

Code language: Python [python]
8. Ví dụ: phần sau định nghĩa một bộ có hai phần tử

1,2

Code language: Python [python]

Python sử dụng dấu ngoặc đơn để làm cho bộ dữ liệu rõ ràng hơn

[1, 2]

Code language: Python [python]

Python cũng sử dụng dấu ngoặc đơn để tạo một bộ dữ liệu trống

[]

Code language: Python [python]

Ngoài ra, bạn có thể sử dụng hàm tạo

[]

Code language: Python [python]
9 như thế này

tuple[]

Code language: Python [python]

Để xác định một bộ chỉ có một phần tử, bạn vẫn cần sử dụng dấu phẩy. Ví dụ sau minh họa cách định nghĩa một bộ với một phần tử

1,

Code language: Python [python]

Nó tương đương như sau

________số 8

Lưu ý rằng sau đây là một số nguyên, không phải một tuple

[1]

Code language: Python [python]

Giải nén một tuple

Giải nén một bộ dữ liệu có nghĩa là chia các phần tử của bộ dữ liệu thành các biến riêng lẻ. Ví dụ

[]

Code language: Python [python]
0

Phía bên trái

[]

Code language: Python [python]
1

là một bộ gồm hai biến

tuple[]

Code language: Python [python]
0 và

tuple[]

Code language: Python [python]
1

Vế phải cũng là một bộ gồm hai số nguyên

tuple[]

Code language: Python [python]
2 và

tuple[]

Code language: Python [python]
3

Biểu thức gán các phần tử bộ dữ liệu ở phía bên phải [1, 2] cho mỗi biến ở phía bên trái [x, y] dựa trên vị trí tương đối của từng phần tử

Trong ví dụ trên,

tuple[]

Code language: Python [python]
0 sẽ lấy

tuple[]

Code language: Python [python]
2 và

tuple[]

Code language: Python [python]
1 sẽ lấy

tuple[]

Code language: Python [python]
3

Xem một ví dụ khác

1,2

Code language: Python [python]
0

Vế bên phải là một bộ gồm ba số nguyên

tuple[]

Code language: Python [python]
8,

tuple[]

Code language: Python [python]
9 và

1,

Code language: Python [python]
0. Bạn có thể kiểm tra nhanh loại của nó như sau

[1, 2]

Code language: Python [python]
0

đầu ra

[1, 2]

Code language: Python [python]
1

Trong ví dụ trên, các biến

tuple[]

Code language: Python [python]
0,

tuple[]

Code language: Python [python]
1 và

1,

Code language: Python [python]
3 sẽ nhận các giá trị lần lượt là

tuple[]

Code language: Python [python]
8,

tuple[]

Code language: Python [python]
9 và

1,

Code language: Python [python]
0

Sử dụng bộ giải nén để hoán đổi giá trị của hai biến

Theo truyền thống, để hoán đổi giá trị của hai biến, bạn sẽ sử dụng một biến tạm thời như thế này

[1, 2]

Code language: Python [python]
2

đầu ra

[1, 2]

Code language: Python [python]
3

Trong Python, bạn có thể sử dụng cú pháp unpacking tuple để đạt được kết quả tương tự

[1, 2]

Code language: Python [python]
4

đầu ra

[1, 2]

Code language: Python [python]
5

Biểu thức sau đổi chỗ giá trị của hai biến x và y

[1, 2]

Code language: Python [python]
6

Trong biểu thức này, Python đánh giá phía bên phải trước rồi gán biến từ phía bên trái cho các giá trị từ phía bên phải

Giá trịError. quá nhiều giá trị để giải nén

Ví dụ sau giải nén các phần tử của một bộ dữ liệu thành các biến. Tuy nhiên, nó sẽ dẫn đến một lỗi

[1, 2]

Code language: Python [python]
7

Lỗi

[1, 2]

Code language: Python [python]
8

Lỗi này là do phía bên tay phải trả về ba giá trị trong khi phía bên trái chỉ có hai biến

Để khắc phục điều này, bạn có thể thêm một biến

1,

Code language: Python [python]
7

[1, 2]

Code language: Python [python]
9

Biến

1,

Code language: Python [python]
7 là một biến thông thường trong Python. Theo quy ước, nó được gọi là biến giả

Thông thường, bạn sử dụng biến giả để giải nén khi bạn không quan tâm và sử dụng giá trị của nó sau đó

Giải nén mở rộng bằng toán tử *

Đôi khi, bạn không muốn giải nén từng mục trong một bộ. Ví dụ: bạn có thể muốn giải nén phần tử thứ nhất và thứ hai. Trong trường hợp này, bạn có thể sử dụng toán tử

1,

Code language: Python [python]
9. Ví dụ

[]

Code language: Python [python]
0

đầu ra

[]

Code language: Python [python]
1

Trong ví dụ này, Python gán

[1, ]

Code language: Python [python]
0 cho

[1, ]

Code language: Python [python]
1,

[1, ]

Code language: Python [python]
2 cho

[1, ]

Code language: Python [python]
3. Ngoài ra, Python gói các phần tử còn lại

[1, ]

Code language: Python [python]
4 và

[1, ]

Code language: Python [python]
5 vào một danh sách và gán nó cho biến

[1, ]

Code language: Python [python]
6

Lưu ý rằng bạn chỉ có thể sử dụng toán tử

1,

Code language: Python [python]
9 một lần ở vế trái của bài tập giải nén

Ví dụ sau dẫn đến lỗi

[]

Code language: Python [python]
2

Lỗi

[]

Code language: Python [python]
3

Sử dụng toán tử * ở vế phải

Python cho phép bạn sử dụng toán tử

1,

Code language: Python [python]
9 ở vế phải. Giả sử rằng bạn có hai bộ dữ liệu

[]

Code language: Python [python]
4

Ví dụ sau sử dụng toán tử

1,

Code language: Python [python]
9 để giải nén các bộ dữ liệu đó và hợp nhất chúng thành một bộ dữ liệu duy nhất

Bạn có nên sử dụng gợi ý loại trong Python không?

Trong bài viết xuất sắc The State of Type Hints in Python, Bernát Gábor khuyến nghị rằng “ các gợi ý loại nên được sử dụng bất cứ khi nào cần viết bài kiểm tra đơn vị.” Indeed, type hints play a similar role as tests in your code: they help you as a developer write better code.

Python có thực thi các gợi ý kiểu không?

Python sẽ luôn là ngôn ngữ được gõ động. Tuy nhiên, PEP 484 đã giới thiệu các gợi ý về kiểu, cho phép thực hiện kiểm tra kiểu tĩnh của mã Python. Không giống như cách thức hoạt động của các loại trong hầu hết các ngôn ngữ nhập tĩnh khác, bản thân các gợi ý nhập không khiến Python thực thi các loại .

Gợi ý kiểu có làm cho Python nhanh hơn không?

Không có ảnh hưởng nào đến hiệu suất dù có hay không có gợi ý loại . Cpython bỏ qua các gợi ý loại tương tự như cách bình luận bị loại bỏ trong thời gian chạy.

Gợi ý kiểu trong Python là gì?

Gợi ý loại là một giải pháp chính thức để chỉ định tĩnh loại giá trị trong mã Python của bạn . Nó được chỉ định trong PEP 484 và được giới thiệu trong Python 3. 5.

Chủ Đề