Computer >> Máy Tính >  >> Lập trình >> Python

Hoán đổi hai biến trong một dòng bằng Python?

Trong phần này, chúng ta sẽ hoán đổi hai biến trong một dòng bằng cách sử dụng python. Cách tiêu chuẩn để hoán đổi hai biến trong python rất đơn giản và dễ dàng -

>>> a = 20;b=30
>>> a
20
>>> b
30
>>> #Swap two variable in one line
>>> a, b = b, a
>>> a
30
>>> b
20

Đoạn mã trên tạo ra các giá trị được hoán đổi của a và b.

Giải thích

Python đánh giá biểu thức từ trái sang phải. Tuy nhiên, trong khi đánh giá một nhiệm vụ, phía bên phải được đánh giá trước phía bên trái.

Điều đó có nghĩa là sau đây cho biểu thức a, b =b, a

  • Phía bên tay phải ‘b, a’ được đánh giá, nghĩa là một bộ gồm hai phần tử được tạo trong bộ nhớ. Hai phần tử là các đối tượng được chỉ định bởi các số nhận dạng b và a, đã tồn tại trước khi gặp lệnh trong quá trình thực thi chương trình.

  • Sau khi bộ tuple được tạo, nhưng chưa thực hiện gán đối tượng tuple này, nhưng đó không phải là vấn đề, vì nội bộ python biết nó ở đâu.

  • Sau đó, phía bên trái được đánh giá, nghĩa là - bộ lưu trữ trong bộ nhớ được gán cho phía bên trái vì phía bên trái bao gồm hai số nhận dạng a và b. bộ tuple được giải nén theo thứ tự số nhận dạng đầu tiên a (bên trái) được gán bởi phần tử đầu tiên của bộ tuple (.i.e. b) và số nhận dạng thứ hai b được gán bởi phần tử thứ hai của bộ tuple (.i.e. a).

Tóm lại, biểu thức:“a, b =b, a”, bên phải đầu tiên được gán cho bên trái thứ nhất và bên phải thứ hai được gán cho bên trái thứ hai cùng lúc, do đó hoán đổi giá trị của a và b.