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

Python a + =b không phải lúc nào cũng a =a + b

Nếu hai biến có cùng kiểu dữ liệu và không phải là trình vòng lặp như danh sách và từ điển, v.v. thì các biểu thức a + =b giống như a =+ b sẽ cho cùng một kết quả. Nhưng khi tham gia vào n vòng lặp, chúng ta không phải lúc nào cũng có thể mong đợi như vậy. Dưới đây là một trong những tình huống như vậy.

Trường hợp a =a + b

Ở đây, chúng ta có thể thấy khi chúng ta áp dụng biểu thức cho một danh sách và một chuỗi mong đợi chúng sẽ được hợp nhất, chúng ta nhận được lỗi.

Ví dụ

x ='Hello '
z_list = [1,2,3]
z_list = z_list + x
print(z_list)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Traceback (most recent call last):
   File "C:\Users\Pradeep\AppData\Roaming\JetBrains\PyCharmCE2020.3\scratches\scratch.py", line 11, in
      z_list = z_list + x
TypeError: can only concatenate list (not "str") to list

Trường hợp a + =b

Nhưng khi chúng ta áp dụng biểu thức a + =b, chúng ta thấy rằng sting ngầm được chuyển đổi thành chuỗi elemnst để trở thành một phần của danh sách.

Ví dụ

z_list = [1,2,3]
x ='Hello'
z_list += x
print(z_list)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

[1, 2, 3, 'H', 'e', 'l', 'l', 'o']