Tin Học PyThon 11 – Bài 5: Khai báo biến 11/2022

Video hướng dẫn

Mục tiêu bài học:

  • Hiểu được cách khai báo biến.
  • Khai báo đúng biến.
  • Nhận biết khai báo biến sai.

1. Khái niệm

Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình.

Cấu trúc:

=

Trong Python, mỗi biến là một con trỏ chỉ đến ô nhớ chứa giá trị đã được gán cho biến đó.

Các ô nhớ trong máy tính được đánh địa chỉ (số thứ tự) bắt đầu từ 0.

Để lấy địa chỉ ô nhớ lưu trữ giá trị của một biến, ta dùng hàm id(Tên biến).

Biến trong Python không cần khai báo trước, không nhất thiết phải khai báo dữ liệu, Python tự động nhận dạng và tùy biến theo kiểu dữ liệu được gán.

Ví dụ 1: 

a = “Học Python” #biến a có kiểu xâu
a = 5            #biến a có kiểu nguyên
a = 5.5          #biến a có kiểu thực
a = True          #biến a có kiểu logic

Ta có thể ép kiểu cho biến bằng cách khai báo kiểu cho giá trị gán cho biến.

Ví dụ 2: 

a = str(5)     #a là một biến kiểu xâu
a = int(5.5)   #a là một biến kiểu số nguyên
c = float(4)   #c là một biến kiểu thực

Trong trường hợp nếu bạn thực hiện lệnh print (a + b) thì python sẽ báo lỗi vì không thể cộng một xâu với một số nguyên.

2. Một số quy tắc về đặt tên biến

Biến trong Python được quy định như sau:

  • Biến có thể chứa các ký tự chữ cái và chữ số.
  • Không chứa ký tự trống “space” và các ký tự đặc biệt khác như: +,-,*,/,…
  • Tên biến không thể bắt đầu bằng ký tự số.
  • Không sử dụng các từ khóa (keyword), tên hàm đã được ngôn ngữ lập trình sử dụng.
  • Tên biến nên đặt ngắn gọn, gợi nhớ và dễ nhớ.

Ví dụ:

Tên biến đúng: x,y,x1,x2,…

Tên biến sai: 1x,2x,a*b,de f 

3. Một số cách rút gọn để gán giá trị cho biến

Python cho phép người lập trình viết ngắn gọn các biểu thức gán giá trị, điều này đã tạo ra các câu lệnh rất đẹp và thanh lịch.

Ví dụ:

Thay vì bạn ghi: 
TH1:         a = 2
                 b = 2
                 c = 2

TH2:         a = 1
                 b = 2
                 c = 3
                 
TH3:         x = a
                 a = b 
                 b = x

Bạn có thể ghi tắt với các cách sau:

Cách 1: a = b = c = 2

Cách 2: a,b,c = 1,2,3

Cách 3: a,b = b,a

4. Cách xóa biến

Nếu biến đó đang tồn tại mà ta xóa nó đi thì không còn sử dụng được nữa (thu hồi bộ nhớ), Python dùng từ khóa del để xóa:

hình ảnh chứa chương trình xóa biến

Giải thích:

Dòng 1, ta gán biến x cho chuỗi “Hello”, sau đó bạn sẽ dùng hàm Print để in ra biến x. Tiếp theo, dùng hàm del để xóa biến x và khi in ra thì sẽ bị báo lỗi ở dòng màu đỏ.

5. Một số ví dụ sử dụng biến

Ví dụ 1: 

chương trình sử dụng biến

Chú ý: Cùng một chương trình như trên, mỗi lần thực hiện, địa chỉ ô nhớ của biến x có thể khác nhau.

Ví dụ:

hình chương trình thay đổi địa chỉ ô nhớ

Giải thích cơ chế cấp phát bộ nhớ cho biến:

Ví dụ:

Khi gán x = 123, máy tính sẽ sử dụng một số ô nhớ (ở một vị trí nào đó trên bộ nhớ RAM để lưu trữ giá trị 123 và biến x trở thành con trỏ chỉ tới ô nhớ chứa giá trị 123.

Khi gán giá trị x = 321, máy tính sẽ dùng một số ô nhớ khác để chứa giá trị 321, và lúc này x sẽ chỉ tới ô nhớ chứa giá trị 321, ô nhớ chứa giá trị 123 lúc trước sẽ được giải phóng nếu không có biến nào chỉ tới nó.

Trong trường hợp có nhiều biến có cùng giá trị, thì các biến này cùng chỉ tới một ô nhớ chứa giá trị đó.

Ví dụ: 

chương trình trường hợp nhiều biến

6. Một số bài tập 

Bài tập 1: Chương trình nào dưới đây sai, chương trình nào đúng? Hãy giải thích?

Chương trình 1:

a=b=c 
print(a)
print(b)
print(c)

Chương trình 2:

a = 1
a=b=c
print(a)
print(b)
print(c)

Chương trình 3:

c = 1
a=b=c 
print(a)
print(b)
print(c)

Đáp án:

Dựa vào kiến thức trên, chương trình 1 sẽ sai và lỗi ngay ở dòng 1. Bởi vì, theo trình tự thực hiện, các biến a, b sẽ nhận giá trị của biến c. Nhưng biến c là lần đầu tiên xuất hiện trong chương trình và nó chưa được gán giá trị. Điều này dẫn đến biến không xác định.

Dựa vào kiến thức trên, chương trình 2  cũng sẽ sai và lỗi ngay ở dòng 2. Bởi vì, ở dòng 1 biến a gán giá trị bằng 1, xuống dòng 2, vì lúc này a,b sẽ nhận giá trị của c nhưng biến c lần đầu tiên mới xuất hiện trong chương trình và nó chưa gán giá trị.

Bài tập 2: Không chạy chương trình, hãy đưa ra kết quả có được khi chương trình thực hiện:

x = 2021
print(x)
print(“x”)

Đáp án:

Ở dòng 1, biến x được gán giá trị bằng 2021, dòng 2 là câu lệnh print(x) đưa giá trị x ra ngoài màn hình, dòng 3 câu lệnh print(“x”) đưa ký tự x ra ngoài màn hình. Vậy chương trình sẽ có kết quả là:

2021

Bài tập 3: Chương trình có lỗi không? Vì sao?

x = 2021
2021 = x 
print(x)

Đáp án:

Chương trình có lỗi ở dòng 2, vì 2021 không phải là biến nên không gán giá trị bằng x được.

Vậy là mình đã hoàn thành xong bài 5, tiếp theo bạn sẽ sang tiếp Tin Học PyThon 11 – Bài 6: Phép Toán, Biểu Thức, Câu Lệnh Gán.