btvn.vn
Tìm kiếm Đăng nhập

Biến, lệnh gán và hoán đổi

Lưu trên thiết bị này
Lập trình Python: những bước đầu · Chọn bài khác

Tính vế phải rồi gắn với tên bên trái

Trong `so = 5`, `so` là **tên biến**, còn `5` là **giá trị** tại thời điểm ấy. Với `so = so + 3`, Python lấy giá trị hiện có của `so` là 5, cộng 3 được 8, rồi gán lại cho `so`. Dấu `=` trong mã là **lệnh gán**, không phát biểu rằng hai biểu thức bằng nhau trong mọi thời điểm. Biến cần có giá trị trước khi dùng ở vế phải. Nếu chạy `tong = gia + 2` mà chưa gán `gia`, Python báo `NameError`. Kiểu của giá trị gắn với cùng tên có thể đổi ở lần gán sau; chẳng hạn `x = 5` rồi `x = "năm"`, lúc cuối `x` là xâu.

Bài luyện

Sau `so = 5` rồi `so = so + 3`, giá trị cuối của `so` là bao nhiêu?
Chọn một đáp án

Bài luyện

Chạy riêng dòng `tong = gia + 2` khi `gia` chưa từng được gán sẽ thế nào?
Chọn một đáp án

Gán đồng thời dùng giá trị cũ

Lệnh `a, b = 2, 7` gán hai giá trị cho hai tên. Sau `a, b = b, a`, Python lấy **cả hai giá trị cũ** của vế phải rồi gán đồng thời: `a` thành 7 và `b` thành 2. Điều này khác hai lệnh liên tiếp `a = b` rồi `b = a`: sau dòng đầu cả `a` và `b` đều bằng 7, nên dòng sau không lấy lại được 2. Nhiệm vụ: tạo `doi-cho.py` gồm ba dòng dưới đây, chạy và kiểm màn hình in `7 2`. Nếu ra `7 7`, kiểm có viết thành hai lệnh gán liên tiếp hay không. ```python a, b = 2, 7 a, b = b, a print(a, b) ```

Bài luyện

Bắt đầu với `a = 2`, `b = 7`. Sau `a, b = b, a`, cặp `(a, b)` là gì?
Chọn một đáp án

Đang học