Cách viết lệnh, thụt lề và chú thích trong Python
Mỗi ngôn ngữ lập trình có câu lệnh, cách viết lệnh và bình luận khác nhau. Sẽ dễ dàng hơn nếu bạn nắm được quy luật và cách viết của ngôn ngữ đó. Trong bài này, bạn sẽ biết về các lệnh trong Python, tại sao thụt lề lại quan trọng và cách viết chú thích, bình ...
Mỗi ngôn ngữ lập trình có câu lệnh, cách viết lệnh và bình luận khác nhau. Sẽ dễ dàng hơn nếu bạn nắm được quy luật và cách viết của ngôn ngữ đó.
Trong bài này, bạn sẽ biết về các lệnh trong Python, tại sao thụt lề lại quan trọng và cách viết chú thích, bình luận trong ngôn ngữ lập trình này.
Câu lệnh trong Python
Những hướng dẫn mà trình thông dịch Python có thể thực hiện được gọi là các câu lệnh. Ví dụ, count = 0 là một lệnh gán. Lệnh if, lệnh for, lệnh while,... là những loại lệnh khác mà chúng ta sẽ được tìm hiểu chi tiết trong các bài sau.
Viết câu lệnh trên nhiều dòng
Trong Python, một câu lệnh được kết thúc bằng ký tự dòng mới, nghĩa là một câu lệnh sẽ kết thúc khi bạn xuống dòng. Nhưng chúng ta có thể mở rộng câu lệnh trên nhiều dòng với ký tự tiếp tục dòng lệnh (). Ví dụ:
sum = 1 + 3 + 5 +
7 + 9 + 11 +
13 + 15 + 17
Đây là trường hợp viết tiếp câu lệnh rất minh bạch. Trong Python, viết tiếp câu lệnh thường sử dụng dấu ngoặc đơn (), ngoặc vuông [] hoặc ngoặc nhọn {}. Ví dụ trên có thể viết lại như sau:
sum = (1 + 3 + 5 +
7 + 9 + 11 +
13 + 15 + 17)
Dấu () ở đây ngầm ý tiếp tục dòng lệnh, 2 dấu ngoặc còn lại cũng có chức năng tương tự. Ví dụ:
mau_sac = {"vàng",
"xanh",
"cam"}
Bạn cũng có thể đặt nhiều lệnh trên cùng một dòng, phân cách nhau bởi dấu chấm phẩy ; như thế này:
a = 1; b = 2; c = 3
Thụt lề trong Python
Nếu đã học C, C++ hay Java bạn sẽ biết rằng những ngôn ngữ lập trình này sử dụng { } để xác định các khối code. Trong Python thì khác, những khối lệnh sẽ được nhận biết thông qua thụt lề. Đó là lý do vì sao thụt lề trong Python vô cùng quan trọng, nếu bạn thụt hoặc thò nhầm là sẽ bị báo lỗi ngay.
Một khối code (thường là khối lệnh của hàm, vòng lặp,...) bắt đầu với thụt lề và kết thúc với dòng đầu tiên không thụt lề. Thụt lề bao nhiêu là tùy thuộc ở bạn nhưng chúng phải nhất quán trong suốt khối code đó, tức là các lệnh trong cùng một khối thì phải có độ thụt lề bằng nhau.
Thông thường, sẽ dùng 4 lần phím cách để thụt lề, chúng được các lập trình viên yêu thích hơn là phím tab, giống như ví dụ dưới đây:
for i in range(1,11):
print(i)
if i == 5:
break
Khối lệnh của for gồm có print(i) và if, được viết thụt lề bằng nhau, break là lệnh trong if, nên lại được thụt lề thêm một đoạn nữa. Bạn chưa cần hiểu cụ thể đoạn code trên nói cái gì, chỉ cần ghi nhớ trong đầu về cách thụt lề của Python thôi, dần dần chúng ta sẽ tìm hiểu chi tiết, từng thứ một.
Nếu lệnh trên được viết thành:
for i in range(1,11):
print(i)
if i == 5:
break
Bạn sẽ nhận được thông báo lỗi ngay lập tức, và lỗi sẽ hiện trước lệnh print(i).
Nhờ thụt đầu dòng mà code trong Python trông gọn gàng và rõ ràng hơn. Bạn có thể bỏ qua thụt đầu dòng với những câu lệnh viết trên nhiều dòng, nhưng những nhà lập trình nhiều kinh nghiệm khuyên rằng: Hãy luôn thụt lề, điều đó làm cho code dễ đọc hơn.
Ví dụ:
if True: print('Xin chào!') q = 10
Và:
if True: print('Xin chào!'); q = 10
Cả hai cách viết trên đều đúng và thực hiện công việc tương tự nhau, nhưng bạn có thấy cách viết đầu nhìn rõ ràng hơn không?
Chú thích, bình luận trong Python
Chú thích là cách để người viết code giao tiếp với người đọc code, có thể nói rằng đây là thành phần không thể thiếu trong một chương trình. Nó giúp mô tả điều gì đang xảy ra trong chương trình để người đọc code không mất quá nhiều thời gian tìm hiểu, suy đoán. Thiết thực hơn nữa, bạn có thể viết cùng lúc nhiều chương trình, đan xen nhau, nhầm lẫn hoặc quên đi chi tiết quan trọng của đoạn code mà bạn đã viết trước đó cả tháng là chuyện bình thường. Đó là lúc những chú thích, bình luận trở thành cứu cánh. Hãy tập thói quen viết các chú thích này ngay từ bây giờ nhé.
Trong Python, chúng ta sử dụng ký tự # để bắt đầu một chú thích. Chú thích bắt đầu sau dấu # cho đến khi bắt đầu một dòng mới. Khi thông dịch, Python sẽ bỏ qua những chú thích này.
#Đây là chú thích #In dòng chữ Quantrimang.com print('Quantrimang.com')
Bạn có thể viết chú thích trên cùng một dòng với lệnh hoặc biểu thức mà không vấn đề gì cả, như này:
print('Quantrimang.com') #Đây là chú thích in dòng chữ Quantrimang.com
Nếu bạn muốn viết chú thích trên nhiều dòng, rất đơn giản, chỉ cần thêm # vào trước mỗi dòng, như thế này:
#Đây là chú thích
#trên nhiều dòng #In dòng chữ Quantrimang.com
#trong Python print('Quantrimang.com')
Có cách khác để viết chú thích là sử dụng 3 dấu nháy đơn ' ' ' hoặc nháy kép " " ". Những dấu nháy này thường được sử dụng cho các chuỗi nhiều dòng. Nhưng chúng cũng có thể được sử dụng để viết chú thích trên nhiều dòng. Chỉ cần không phải là docstring thì nó sẽ không tạo ra thêm bất cứ code nào khác.
"""Đây là chú thích
trên nhiều dòng
In dòng chữ Quantrimang.com
trong Python"""
Docstring trong Python
Docstring là viết tắt của Documentation string - chuỗi tài liệu, xảy ra như câu lệnh đầu tiên trong mô đun, hàm, định nghĩa method. Bạn sẽ phải viết những gì mà hàm, lớp sẽ làm trong docstring.
Ba dấu nháy kép được sử dụng để viết docstring như ví dụ dưới đây:
def double(num):
"""Function to double the value"""
return 2*num
Docstring sẽ xuất hiện dưới dạng thuộc tính __doc__ của hàm. Để xem docstring của hàm bạn có thể sử dụng lệnh print() như dưới đây:
print(double.__doc__)
Kết quả:
Function to double the value
Đợi người dùng hành động
Dòng lệnh sau sẽ hiển thị dấu nhắc, câu lệnh nói rằng "Nhấn phím Enter để thoát!" và đợi hành động của người dùng.
input(" Nhấn phím Enter để thoát!")
Ở đây, " " được sử dụng để tạo ra hai dòng mới trước khi hiển thị dòng thực tế. Một khi người dùng nhấn Enter chương trình sẽ kết thúc. Đây là một thủ thuật tốt để giữ cho cửa sổ chương trình hiển thị đến khi người dùng hoàn tất thao tác với ứng dụng.
Trên đây là những kiến thức cơ bản về lệnh, cách viết lệnh, chú thích và thụt đầu dòng trong Python. Bài tiếp theo bạn sẽ được tìm hiểu về một số kiểu biến và dữ liệu trong Python.
Bài tiếp: Các kiểu dữ liệu trong Python
Bài trước: Từ khóa và định danh trong Python