Một câu lệnh là một lệnh mà trình thông dịch Python có thể thực thi. Bạn mới chỉ nhìn thấy câu lệnh gán cho đến nay. Một số loại câu lệnh khác mà bạn sẽ thấy trong các chương sau là câu lệnh while
, câu lệnh for
, câu lệnh if
và câu lệnh import
. [Còn nhiều loại khác nữa. ]
Một biểu thức là sự kết hợp của các ký tự, tên biến, toán tử và lệnh gọi hàm. Các biểu hiện cần được đánh giá. Kết quả đánh giá một biểu thức là một giá trị hoặc đối tượng
Nếu bạn yêu cầu Python print
một biểu thức, trình thông dịch sẽ đánh giá biểu thức đó và hiển thị kết quả
Trong ví dụ này, len
là một hàm Python tích hợp trả về số lượng ký tự trong một chuỗi
Việc đánh giá một biểu thức tạo ra một giá trị, đó là lý do tại sao các biểu thức có thể xuất hiện ở phía bên tay phải của các câu lệnh gán. Bản thân một nghĩa đen là một biểu thức đơn giản và một biến cũng vậy
Trong một chương trình, bất cứ nơi nào mà một giá trị bằng chữ [một chuỗi hoặc một số] được chấp nhận, thì một biểu thức phức tạp hơn cũng được chấp nhận. Dưới đây là tất cả các loại biểu thức chúng ta đã thấy cho đến nay
nghĩa đene. g. , “Xin chào” hoặc 3. 14
tên biếne. g. , x hoặc len
Tên người vận hành
biểu thức gọi hàm[]
Lưu ý rằng các biểu thức toán tử [như +
và *
] có các biểu thức con trước và sau toán tử. Bản thân mỗi biểu thức này có thể là biểu thức đơn giản hoặc phức tạp. Bằng cách đó, bạn có thể xây dựng để có các biểu thức khá phức tạp
Tương tự, khi gọi một hàm, thay vì đặt một ký tự vào trong dấu ngoặc đơn, có thể đặt một biểu thức phức tạp bên trong dấu ngoặc đơn. [Một lần nữa, chúng tôi cung cấp một số mã ẩn xác định chức năng square
và while
0]
Với một lệnh gọi hàm, thậm chí có thể có một biểu thức phức tạp trước dấu ngoặc đơn bên trái, miễn là biểu thức đó đánh giá một đối tượng hàm. Tuy nhiên, hiện tại, chúng tôi sẽ chỉ sử dụng các tên biến [như hình vuông, phụ và len] được liên kết trực tiếp với các đối tượng hàm
Điều quan trọng là bắt đầu học cách đọc mã có chứa các biểu thức phức tạp. Trình thông dịch Python kiểm tra bất kỳ dòng mã nào và phân tích nó thành các thành phần. Ví dụ: nếu nó nhìn thấy ký hiệu while
1, nó sẽ cố coi toàn bộ dòng đó là một câu lệnh gán. Nó sẽ thấy một tên biến hợp lệ ở bên trái dấu = và sẽ phân tích cú pháp mọi thứ ở bên phải dấu = dưới dạng một biểu thức. Nó sẽ cố gắng tìm hiểu xem phía bên phải là một chữ, một tên biến, một biểu thức toán tử hay một biểu thức gọi hàm. Nếu đó là một biểu thức toán tử, thì nó sẽ cố gắng phân tích thêm các biểu thức con trước và sau toán tử. Và như thế. Bạn nên học cách phân tích các dòng mã theo cách tương tự
Để đánh giá một biểu thức toán tử, trước tiên, trình thông dịch Python sẽ đánh giá hoàn toàn biểu thức trước toán tử, sau đó là biểu thức sau, sau đó kết hợp hai giá trị kết quả bằng cách sử dụng toán tử. Để đánh giá một biểu thức gọi hàm, trình thông dịch đánh giá biểu thức trước dấu ngoặc đơn [i. e. , nó tra cứu tên hàm]. Sau đó, nó cố gắng đánh giá từng biểu thức bên trong dấu ngoặc đơn. Có thể có nhiều hơn một, được phân tách bằng dấu phẩy. Các giá trị của các biểu thức đó được truyền dưới dạng đầu vào cho hàm khi hàm được gọi
Nếu một biểu thức gọi hàm là một biểu thức con của một số biểu thức phức tạp hơn, chẳng hạn như while
2 nằm trong while
3, thì giá trị trả về từ while
2 được chuyển làm đầu vào cho hàm while
0. Đây là một trong những điều phức tạp mà bạn sẽ phải làm quen khi đọc [hoặc viết] mã. Trong ví dụ này, hàm square
được gọi [hai lần] trước khi hàm while
0 được gọi, mặc dù hàm while
0 xuất hiện trước khi đọc mã từ trái sang phải. Trong ví dụ sau, chúng ta sẽ sử dụng ký hiệu -add- để chỉ ra rằng Python đã tra cứu tên add và xác định rằng đó là một đối tượng hàm
Bước tiếp theo Đặt lại
x = 5
y = 7
add[square[y], square[x]]
Để bắt đầu giúp bạn thực hành đọc và hiểu các biểu thức phức tạp, hãy thử làm bài toán Parsons bên dưới. Cẩn thận không thụt lề bất kỳ dòng mã nào;
Vui lòng sắp xếp các đoạn mã theo thứ tự mà trình thông dịch Python sẽ đánh giá chúng. x là 2 và y là 3. Bây giờ trình thông dịch đang thực thi square[x + sub[square[y], 2 *x]]
Một câu lệnh là một lệnh mà trình thông dịch Python có thể thực thi. Cho đến nay chúng ta mới chỉ nhìn thấy câu lệnh gán. Một số loại câu lệnh khác mà chúng ta sẽ thấy ngay sau đây là câu lệnh while
, câu lệnh for
, câu lệnh if
và câu lệnh import
. [Còn nhiều loại khác nữa. ]
Một biểu thức là sự kết hợp của các giá trị, biến, toán tử và lệnh gọi hàm. Các biểu hiện cần được đánh giá. Nếu bạn yêu cầu Python print
một biểu thức, trình thông dịch sẽ đánh giá biểu thức đó và hiển thị kết quả
Trong ví dụ này, len
là một hàm Python tích hợp trả về số lượng ký tự trong một chuỗi. Trước đây chúng ta đã thấy các hàm print
và for
6, vì vậy đây là ví dụ thứ ba của chúng ta về hàm
Việc đánh giá một biểu thức tạo ra một giá trị, đó là lý do tại sao các biểu thức có thể xuất hiện ở phía bên tay phải của các câu lệnh gán. Bản thân một giá trị là một biểu thức đơn giản và một biến cũng vậy. Đánh giá một biến mang lại giá trị mà biến đó đề cập đến
Nếu chúng ta xem xét ví dụ tương tự này trong trình bao Python, chúng ta sẽ thấy một trong những khác biệt rõ ràng giữa câu lệnh và biểu thức
>>> y = 3.14 >>> x = len["hello"] >>> print[x] 5 >>> print[y] 3.14 >>> y 3.14 >>>
Lưu ý rằng khi chúng ta nhập câu lệnh gán, for
7, chỉ có dấu nhắc được trả về. không có giá trị. Điều này là do thực tế là các câu lệnh, chẳng hạn như câu lệnh gán, không trả về giá trị. Chúng được thực hiện đơn giản
Mặt khác, kết quả của việc thực hiện câu lệnh gán là tạo ra một tham chiếu từ một biến, while
0, đến một giá trị, while
1. Khi chúng tôi thực thi chức năng in hoạt động trên while
0, chúng tôi thấy giá trị mà y đang đề cập đến. Trên thực tế, việc tự đánh giá while
0 sẽ dẫn đến kết quả tương tự