Bài 2.2. Biến

Bài 2.2. Biến
Hãy thử sử dụng một biến trong hello_world.py. Thêm một dòng mới vào đầu tệp và sửa đổi dòng thứ hai:
message = "Hello Python world!"
print(message)
Chạy chương trình này để xem điều gì xảy ra. Bạn sẽ thấy đầu ra giống như trước:
Hello Python world!
Chúng ta đã thêm một biến có tên là message
. Mỗi biến được kết nối với một giá trị, là thông tin liên quan đến biến đó. Trong trường hợp này, giá trị là văn bản "Hello Python world!"
.
Thêm một biến làm cho trình thông dịch Python phải làm thêm một chút công việc. Khi nó xử lý dòng đầu tiên, nó liên kết biến message
với văn bản "Hello Python world!"
. Khi nó đến dòng thứ hai, nó in giá trị liên kết với message
ra màn hình.
Hãy mở rộng chương trình này bằng cách sửa đổi hello_world.py để in một thông điệp thứ hai. Thêm một dòng trống vào hello_world.py, sau đó thêm hai dòng mã mới:
message = "Hello Python world!"
print(message)
message = "Hello Python Crash Course world!"
print(message)
Bây giờ khi bạn chạy hello_world.py, bạn sẽ thấy hai dòng đầu ra:
Hello Python world!
Hello Python Crash Course world!
Bạn có thể thay đổi giá trị của một biến trong chương trình của mình bất cứ lúc nào, và Python sẽ luôn theo dõi giá trị hiện tại của nó.
Đặt tên và sử dụng biến
Khi bạn sử dụng biến trong Python, bạn cần tuân theo một số quy tắc và hướng dẫn. Vi phạm một số quy tắc này sẽ gây ra lỗi; các hướng dẫn khác chỉ giúp bạn viết mã dễ đọc và hiểu hơn. Hãy chắc chắn ghi nhớ các quy tắc sau khi làm việc với biến:
- Tên biến chỉ có thể chứa chữ cái, số và dấu gạch dưới. Chúng có thể bắt đầu bằng chữ cái hoặc dấu gạch dưới, nhưng không thể bắt đầu bằng số. Ví dụ, bạn có thể gọi một biến là
message_1
nhưng không thể gọi là1_message
. - Không được có khoảng trắng trong tên biến, nhưng dấu gạch dưới có thể được sử dụng để tách các từ trong tên biến. Ví dụ,
greeting_message
hoạt động nhưnggreeting message
sẽ gây ra lỗi. - Tránh sử dụng các từ khóa và tên hàm của Python làm tên biến. Ví dụ, không sử dụng từ
print
làm tên biến; Python đã dành nó cho một mục đích lập trình cụ thể. - Tên biến nên ngắn gọn nhưng mô tả. Ví dụ,
name
tốt hơnn
,student_name
tốt hơns_n
, vàname_length
tốt hơnlength_of_persons_name
. - Cẩn thận khi sử dụng chữ cái thường
l
và chữ cái hoaO
vì chúng có thể bị nhầm lẫn với số1
và0
.
Có thể mất một chút thời gian để học cách tạo tên biến tốt, đặc biệt là khi chương trình của bạn trở nên thú vị và phức tạp hơn. Khi bạn viết nhiều chương trình hơn và bắt đầu đọc mã của người khác, bạn sẽ giỏi hơn trong việc nghĩ ra các tên có ý nghĩa.
Tránh lỗi tên khi sử dụng biến
Mọi lập trình viên đều mắc lỗi, và hầu hết đều mắc lỗi hàng ngày. Mặc dù các lập trình viên giỏi có thể tạo ra lỗi, họ cũng biết cách phản ứng với những lỗi đó một cách hiệu quả. Hãy xem xét một lỗi mà bạn có thể gặp phải sớm và học cách khắc phục nó.
Chúng ta sẽ viết một số mã tạo ra lỗi một cách cố ý. Nhập mã sau, bao gồm từ sai chính tả mesage
, được hiển thị in đậm:
message = "Hello Python Crash Course reader!"
print(mesage)
Khi xảy ra lỗi trong chương trình của bạn, trình thông dịch Python sẽ cố gắng giúp bạn tìm ra vấn đề ở đâu. Trình thông dịch cung cấp một traceback khi một chương trình không thể chạy thành công. Traceback là một bản ghi nơi trình thông dịch gặp rắc rối khi cố gắng thực thi mã của bạn.
Dưới đây là một ví dụ về traceback mà Python cung cấp sau khi bạn vô tình viết sai tên biến:
Traceback (most recent call last):
File "hello_world.py", line 2, in <module>
print(mesage)
^^^^^^
NameError: name 'mesage' is not defined. Did you mean: 'message'?
Đầu ra báo cáo rằng lỗi xảy ra ở dòng 2 của tệp hello_world.py. Trình thông dịch hiển thị dòng này để giúp chúng ta phát hiện lỗi nhanh chóng và cho chúng ta biết loại lỗi mà nó tìm thấy. Trong trường hợp này, nó tìm thấy một lỗi tên và báo cáo rằng biến đang được in, mesage
, chưa được định nghĩa. Python không thể nhận diện tên biến được cung cấp. Một lỗi tên thường có nghĩa là chúng ta quên đặt giá trị cho biến trước khi sử dụng nó, hoặc chúng ta đã mắc lỗi chính tả khi nhập tên biến. Nếu Python tìm thấy một tên biến tương tự với tên mà nó không nhận ra, nó sẽ hỏi liệu đó có phải là tên bạn muốn sử dụng hay không.
Trong ví dụ này, chúng ta đã bỏ qua chữ cái s
trong tên biến message
ở dòng thứ hai. Trình thông dịch Python không kiểm tra chính tả mã của bạn, nhưng nó đảm bảo rằng tên biến được viết đúng chính tả. Ví dụ, hãy xem điều gì xảy ra khi chúng ta viết sai tên biến trong dòng định nghĩa biến:
mesage = "Hello Python Crash Course reader!"
print(mesage)
Trong trường hợp này, chương trình chạy thành công!
Hello Python Crash Course reader!
Tên biến khớp nhau, vì vậy Python không thấy vấn đề gì. Các ngôn ngữ lập trình rất nghiêm ngặt, nhưng chúng không quan tâm đến chính tả tốt hay xấu. Do đó, bạn không cần phải xem xét các quy tắc chính tả và ngữ pháp tiếng Anh khi bạn cố gắng tạo tên biến và viết mã.
Nhiều lỗi lập trình là những lỗi đơn giản, chỉ có một ký tự trong một dòng của chương trình. Nếu bạn thấy mình mất nhiều thời gian để tìm kiếm một trong những lỗi này, hãy biết rằng bạn đang ở trong công ty tốt. Nhiều lập trình viên có kinh nghiệm và tài năng dành hàng giờ để săn lùng những lỗi nhỏ như thế này. Hãy cố gắng cười về điều đó và tiếp tục, biết rằng điều này sẽ xảy ra thường xuyên trong suốt cuộc đời lập trình của bạn.
Biến là nhãn
Biến thường được mô tả như những hộp mà bạn có thể lưu trữ giá trị trong đó. Ý tưởng này có thể hữu ích trong những lần đầu tiên bạn sử dụng biến, nhưng nó không phải là cách chính xác để mô tả cách biến được biểu diễn nội bộ trong Python. Tốt hơn nhiều là nghĩ về biến như những nhãn mà bạn có thể gán cho các giá trị. Bạn cũng có thể nói rằng một biến tham chiếu đến một giá trị nhất định.
Sự khác biệt này có lẽ sẽ không quan trọng nhiều trong các chương trình ban đầu của bạn, nhưng nó đáng để học sớm hơn là muộn. Tại một số điểm, bạn sẽ thấy hành vi không mong muốn từ một biến, và hiểu biết chính xác về cách biến hoạt động sẽ giúp bạn xác định điều gì đang xảy ra trong mã của bạn.
Comments