[Python] Tìm hiểu Python statement và indentation

157

Statement

Trong ngôn ngữ lập trình bậc cao, đây là một sự diễn đạt có thể tạo ra các chỉ lệnh theo ngôn ngữ máy, khi chương trình được thông dịch hoặc biên dịch. Tóm gọi lại có thể hiểu nôm na là ‘một câu lệnh’.

Indentation và Code block

Thế code block là gì ?

Code block có thể hiểu là các hàm, các if statement, for loops, while loops,….

Các code block của Python không có kí tự thể hiện ‘begin’ của 1 code block hay ‘end’ của 1 code block, càng không sử dụng kí tự bracket ‘{‘ ‘}’ để đánh dấu bắt đầu kết thúc của 1 một code block như một vài ngôn ngữ lập trình khác như C, PHP,..

Ví dụ code block PHP:

 
Vậy python sẽ thể hiện 1 code block như thế nào ? Python sử dụng kí tự ‘:’ và ‘khoảng trắng vào dòng (indentation)’. Một code block sẽ bắt đầu bằng một khoảng trắng thụt đầu dòng ‘indentation’ và kết thúc bằng 1 dòng không indentation hoặc indentation bằng với code block sub nếu có nhiều code block con như kiểu if lồng if.

Ví dụ 1:

 

Ví dụ 2:

Tất cả các statement nếu có cùng một độ dài khoảng trắng từ bên trái về bên phải, thì được xem là cùng 1 block code. Như bạn thấy ở ví dụ 1 thì “if” và “else” là cùng 1 code block.

Vậy làm sao để phân biệt khi nào dòng code statement nào đó không còn thuộc code block và kết thúc 1 code block lớn. Khi mà bạn thấy statement được về đầu dòng không có indentation hoặc trong 1 code block lớn thì code block sub thụt indent về bằng với indent của block lớn thì là đã kết thúc 1 code block.

Ví dụ 3:

-> Lúc này ‘print(“var2”)’ đã nằm ngoài code block ‘def test’ do cùng độ dài indentation với code block ‘def test’.

Ví dụ 4:

-> ‘ for c in range(a,n): ‘ , nằm ngoài code block của ‘ for b..’ nhưng vẫn nằm trong code block ‘for a …’ do cùng độ dài indentation ‘for b’ và nằm sau độ dài indentation với ‘for a …’  . Còn ‘print(“Finish”)’ thì nằm ngoài code block ‘for’.

Có thể cách diễn giải của mình còn kém về phần developer, mong các bạn thông cảm.

Đánh giá sao từ người đọc :
[ Tổng : 1 - Trung bình: 2 ]

LEAVE A REPLY