Một biểu thức trong python là gì?
Chúng ta sẽ dành phần còn lại của cuốn sách này để đào sâu và hoàn thiện hiểu biết của mình về chính xác những loại công việc mà máy tính có thể làm. Khả năng lập trình máy tính hiệu quả của bạn sẽ phụ thuộc phần lớn vào khả năng hiểu rõ những điều này của bạn, để bạn có thể diễn đạt những gì bạn muốn đạt được bằng ngôn ngữ mà máy tính có thể thực hiện Show
Tuy nhiên, trước khi chúng ta hiểu điều đó, chúng ta cần nói về những thứ mà máy tính hoạt động Chương trình máy tính hoạt động trên dữ liệu. Một phần dữ liệu đơn lẻ có thể được gọi là mốc thời gian, nhưng chúng tôi sẽ sử dụng thuật ngữ liên quan, giá trị Giá trị là một trong những điều cơ bản — như một chữ cái hoặc một con số — mà một chương trình thao tác. Các giá trị chúng ta đã thấy cho đến nay là >>> 42000 42000 >>> 42,000 (42, 0)8 (kết quả khi chúng ta thêm >>> 42000 42000 >>> 42,000 (42, 0)9) và >>> type('This is a string.')0 Các giá trị được nhóm thành các loại hoặc lớp dữ liệu khác nhau Ghi chú Ở cấp độ phần cứng của máy, tất cả các giá trị được lưu trữ dưới dạng một chuỗi bit, thường được biểu thị bằng các chữ số >>> type('This is a string.')1 và >>> type('This is a string.')2. Tất cả các loại dữ liệu máy tính, cho dù chúng là số, văn bản, hình ảnh, âm thanh hay bất kỳ thứ gì khác, cuối cùng đều được máy tính giải thích các mẫu bit này. Rất may, các ngôn ngữ cấp cao như Python cung cấp cho chúng ta các kiểu dữ liệu cấp cao, linh hoạt giúp trừu tượng hóa các chi tiết tẻ nhạt của tất cả các bit này và phù hợp hơn với bộ não con người của chúng ta >>> 42000 42000 >>> 42,000 (42, 0)8 là một số nguyên và >>> type('This is a string.')0 là một chuỗi, được gọi như vậy vì nó chứa một chuỗi các chữ cái. Bạn (và trình thông dịch) có thể xác định các chuỗi vì chúng được đặt trong dấu ngoặc kép Nếu bạn không chắc một giá trị thuộc lớp nào, Python có một hàm gọi là type có thể cho bạn biết >>> type("Hello, World!") Không có gì đáng ngạc nhiên, các chuỗi thuộc về lớp str và các số nguyên thuộc về lớp int. Ít rõ ràng hơn, các số có một điểm nằm giữa số nguyên và phần phân số của chúng thuộc về một lớp gọi là số float, bởi vì những số này được biểu diễn theo định dạng gọi là dấu phẩy động. Ở giai đoạn này, bạn có thể coi lớp từ và loại thay thế cho nhau. Chúng ta sẽ quay lại hiểu sâu hơn về class là gì trong các chương sau ________số 8 Còn các giá trị như >>> type('This is a string.')5 và >>> type('This is a string.')6 thì sao? >>> 42000 42000 >>> 42,000 (42, 0)1 Chúng là những sợi dây Không sử dụng dấu phẩy trong >>> type('This is a string.')7s Khi bạn nhập một số nguyên lớn, bạn có thể muốn sử dụng dấu phẩy giữa các nhóm ba chữ số, như trong >>> type('This is a string.')8. Đây không phải là một số nguyên hợp pháp trong Python, nhưng nó có nghĩa là một số khác, đó là một số hợp pháp >>> 42000 42000 >>> 42,000 (42, 0) Chà, đó không phải là điều chúng tôi mong đợi chút nào. Do dấu phẩy, Python coi đây là một cặp giá trị trong một bộ. Vì vậy, hãy nhớ không đặt dấu phẩy hoặc dấu cách trong số nguyên của bạn. Cũng xem lại những gì chúng ta đã nói trong chương trước. ngôn ngữ chính thức rất nghiêm ngặt, ký hiệu ngắn gọn và ngay cả một thay đổi nhỏ nhất cũng có thể có ý nghĩa hoàn toàn khác với những gì bạn dự định 2. 2. Ba cách viết chuỗiCác chuỗi trong Python có thể được đặt trong dấu nháy đơn (_______29) hoặc dấu nháy kép ( >>> 42000 42000 >>> 42,000 (42, 0)60) hoặc ba dấu nháy trong mỗi dấu nháy đơn ( >>> 42000 42000 >>> 42,000 (42, 0)61 hoặc >>> 42000 42000 >>> 42,000 (42, 0)62) >>> type('This is a string.') Các chuỗi trích dẫn kép có thể chứa các trích dẫn đơn bên trong chúng, như trong >>> 42000 42000 >>> 42,000 (42, 0)63 và các chuỗi trích dẫn đơn có thể chứa các trích dẫn kép bên trong chúng, như trong >>> 42000 42000 >>> 42,000 (42, 0)64 Các chuỗi kèm theo ba lần xuất hiện của một trong hai ký hiệu trích dẫn được gọi là chuỗi trích dẫn ba. Chúng có thể chứa dấu nháy đơn hoặc kép >>> 42000 42000 >>> 42,000 (42, 0)6 Ba chuỗi được trích dẫn thậm chí có thể trải rộng trên nhiều dòng >>> type('This is a string.')3 Python không quan tâm bạn sử dụng dấu ngoặc đơn hay dấu ngoặc kép hay dấu ngoặc kép ba loại để bao quanh chuỗi của bạn. một khi nó đã phân tích cú pháp văn bản của chương trình hoặc lệnh của bạn, thì cách nó lưu trữ giá trị giống hệt nhau trong mọi trường hợp và các trích dẫn xung quanh không phải là một phần của giá trị. Nhưng khi trình thông dịch muốn hiển thị một chuỗi, nó phải quyết định sử dụng dấu ngoặc kép nào để làm cho nó trông giống như một chuỗi >>> type('This is a string.')4 Vì vậy, các nhà thiết kế ngôn ngữ Python đã chọn thường bao quanh các chuỗi của họ bằng các dấu nháy đơn. Bạn nghĩ điều gì sẽ xảy ra nếu chuỗi đã chứa dấu nháy đơn? 2. 3. Chuỗi ký tự và chuỗi thoátMột chữ là một ký hiệu để biểu thị một giá trị không đổi của một kiểu dữ liệu dựng sẵn Trong chuỗi ký tự, hầu hết các ký tự đại diện cho chính chúng, vì vậy nếu chúng ta muốn chuỗi ký tự có các chữ cái >>> 42000 42000 >>> 42,000 (42, 0)65, chúng ta chỉ cần viết >>> 42000 42000 >>> 42,000 (42, 0)66 But what if we want to represent the literal for a linefeed (what you get when you press the Có một số trình tự thoát này rất hữu ích để biết Trình tự thoát Nghĩa >>> 42000 42000 >>> 42,000 (42, 0)69 Dấu gạch chéo ngược ( >>> type('This is a string.')30) >>> type('This is a string.')31 Trích dẫn đơn ( >>> type('This is a string.')9) >>> type('This is a string.')33 Trích dẫn kép ( >>> 42000 42000 >>> 42,000 (42, 0)60) >>> type('This is a string.')35 xóa lùi >>> type('This is a string.')36 nguồn cấp dữ liệu >>> type('This is a string.')37 Chuyển hướng >>> type('This is a string.')36 được sử dụng thường xuyên nhất trong số này. Ví dụ sau đây hy vọng sẽ làm cho những gì nó làm rõ ràng >>> type('This is a string.')9 2. 4. Tên và câu lệnh gánĐể viết các chương trình thực hiện mọi thứ với những thứ mà chúng ta gọi là giá trị, chúng ta cần một cách để lưu trữ các giá trị của mình trong bộ nhớ của máy tính và đặt tên cho chúng để truy xuất sau này. Chúng tôi sử dụng câu lệnh gán của Python cho mục đích này >>> type('This is a string.')0 Ví dụ trên thực hiện ba phép gán. Cái đầu tiên gán giá trị chuỗi >>> type('This is a string.')39 cho tên >>> type('This is a string.')40. Số thứ hai đặt tên cho số nguyên >>> type('This is a string.')41 là >>> type('This is a string.')42 và số thứ ba gán cho số dấu phẩy động >>> type('This is a string.')43 tên là >>> type('This is a string.')44 Câu lệnh gán tạo tên và liên kết những tên này với giá trị. Sau đó, các giá trị có thể được truy xuất từ bộ nhớ của máy tính bằng cách tham khảo tên được liên kết với chúng >>> type(3.2)0 Tên còn được gọi là biến, vì các giá trị mà chúng tham chiếu có thể thay đổi trong quá trình thực thi chương trình. Biến cũng có loại. Một lần nữa, chúng ta có thể hỏi người phiên dịch xem chúng là gì. >>> type(3.2)1 Loại biến là loại giá trị mà nó hiện đang đề cập đến Một cách phổ biến để biểu diễn các biến trên giấy là viết tên của biến đó bằng một đường nối nó với giá trị hiện tại của nó. Loại hình này được gọi là sơ đồ đối tượng. Nó cho thấy trạng thái của các biến tại một thời điểm cụ thể trong thời gian Sơ đồ này cho thấy kết quả của việc thực hiện các câu lệnh gán trước đó 2. 5. Biến là biếnChúng tôi sử dụng các biến trong một chương trình để "ghi nhớ" mọi thứ, chẳng hạn như tỷ số hiện tại của trận bóng đá. Nhưng biến là biến. Điều này có nghĩa là chúng có thể thay đổi theo thời gian, giống như bảng điểm trong một trận bóng đá. Bạn có thể gán một giá trị cho một biến và sau đó gán một giá trị khác cho cùng một biến Ghi chú Điều này khác với toán học. Trong toán học, nếu bạn cho x giá trị 3, thì nó không thể thay đổi để liên kết với một giá trị khác trong nửa chừng tính toán của bạn >>> type(3.2)2 Bạn sẽ nhận thấy rằng chúng tôi đã thay đổi giá trị của >>> type('This is a string.')45 ba lần và trong lần gán thứ ba, chúng tôi thậm chí còn cho nó một giá trị thuộc loại khác Ghi chú Phần lớn lập trình là để máy tính ghi nhớ mọi thứ, chẳng hạn như gán một biến cho số cuộc gọi nhỡ trên điện thoại của bạn, sau đó sắp xếp để cập nhật biến đó khi bạn bỏ lỡ một cuộc gọi khác Trong trình bao Python, việc nhập tên tại dấu nhắc khiến trình thông dịch tra cứu giá trị được liên kết với tên (hoặc trả về thông báo lỗi nếu tên không được xác định) và hiển thị tên đó. Trong tập lệnh, tên được xác định không có trong lệnh gọi hàm >>> type('This is a string.')46 hoàn toàn không hiển thị 2. 6. Toán tử gán không phải là dấu bằng.Ngữ nghĩa của câu lệnh gán có thể gây nhầm lẫn cho những người mới bắt đầu lập trình, đặc biệt là vì mã thông báo gán, >>> type('This is a string.')47 có thể dễ bị nhầm lẫn với bằng (Python sử dụng mã thông báo >>> type('This is a string.')48 cho bằng, như chúng ta sẽ sớm thấy). Không phải vậy >>> type(3.2)3 Câu lệnh ở giữa ở trên sẽ không thể xảy ra nếu >>> type('This is a string.')47 có nghĩa là bằng, vì >>> type('This is a string.')42 không bao giờ có thể bằng với >>> type('This is a string.')91. Tuyên bố này là Python hoàn toàn hợp pháp, tuy nhiên. Câu lệnh gán liên kết một tên, ở phía bên trái của toán tử, với một giá trị, ở phía bên phải Hai >>> type('This is a string.')42 trong >>> type('This is a string.')93 có ý nghĩa khác nhau. >>> type('This is a string.')42 ở bên phải là tra cứu bộ nhớ được thay thế bằng một giá trị khi phía bên tay phải được đánh giá bởi trình thông dịch Python. Nó phải tồn tại nếu không sẽ xảy ra lỗi tên. Phía bên tay phải của câu lệnh gán được đánh giá trước >>> type('This is a string.')42 ở bên trái là tên được đặt cho giá trị mới được tính ở phía bên tay phải vì nó được lưu trong bộ nhớ của máy tính. Nó không nhất thiết phải tồn tại trước đó, vì nó sẽ được thêm vào tên có sẵn của chương trình đang chạy nếu nó chưa có Ghi chú Các tên trong Python tồn tại trong một ngữ cảnh, được gọi là không gian tên, mà chúng ta sẽ thảo luận ở phần sau của cuốn sách Phía bên trái của câu lệnh gán phải là một tên biến Python hợp lệ. Đây là lý do tại sao bạn sẽ gặp lỗi nếu bạn nhập >>> type(3.2)4 Mẹo Khi đọc hoặc viết mã, hãy tự nhủ “n được gán 17” hoặc “n nhận giá trị 17”. Đừng nói “n bằng 17” Ghi chú Trong trường hợp bạn đang thắc mắc, a là một ký tự hoặc chuỗi ký tự có ý nghĩa cú pháp trong một ngôn ngữ. Trong các toán tử Python, từ khóa, chữ và khoảng trắng đều tạo thành mã thông báo trong ngôn ngữ 2. 7. Tên biến và từ khóaTên biến hợp lệ trong Python phải tuân theo ba quy tắc đơn giản sau
Mặc dù việc sử dụng chữ in hoa là hợp pháp, nhưng theo quy ước, chúng tôi không. Nếu bạn làm như vậy, hãy nhớ trường hợp đó quan trọng. >>> type('This is a string.')45 và >>> type('This is a string.')98 sẽ là các biến khác nhau Ký tự gạch dưới ( >>> type('This is a string.')96) có thể xuất hiện trong tên. Nó thường được sử dụng trong các tên có nhiều từ, chẳng hạn như >>> type('This is a string.')00 hoặc >>> type('This is a string.')01 Có một số trường hợp tên bắt đầu bằng dấu gạch dưới có ý nghĩa đặc biệt, vì vậy quy tắc an toàn cho người mới bắt đầu là bắt đầu tất cả các tên bằng một chữ cái khác với dấu gạch dưới Nếu bạn đặt tên biến không hợp lệ, bạn sẽ gặp lỗi cú pháp >>> type(3.2)5 >>> type('This is a string.')02 là bất hợp pháp vì nó không bắt đầu bằng một chữ cái. >>> type('This is a string.')03 là bất hợp pháp vì nó chứa ký tự không hợp lệ, ký hiệu đô la. Nhưng có gì sai với >>> type('This is a string.')04? Hóa ra >>> type('This is a string.')04 là một trong những từ khóa Python. Các từ khóa xác định các quy tắc và cấu trúc cú pháp của ngôn ngữ và chúng không thể được sử dụng làm tên biến Python 3 có 33 từ khóa (và thỉnh thoảng những cải tiến đối với Python lại giới thiệu hoặc loại bỏ một hoặc hai từ khóa) và như khẳng định phá vỡ lớp tiếp tục chắc chắn xóa yêu tinh khác ngoại trừ cuối cùng vì từ toàn cầu nếu nhập khẩu Trong Là lamda phi cục bộ không phải hoặc đi qua nuôi trở về thử trong khi với năng suất ĐÚNG VẬY Sai Không có Bạn có thể muốn giữ danh sách này tiện dụng. Trên thực tế, như thường xảy ra khi học lập trình với Python, khi bạn không chắc chắn về điều gì đó, bạn có thể hỏi Python >>> type(3.2)6 Danh sách các từ khóa, >>> type('This is a string.')06, đến với chúng tôi, một cách thích hợp, trong danh sách Python Nếu trình thông dịch phàn nàn về một trong các tên biến của bạn và bạn không biết tại sao, hãy xem nó có trong danh sách này không Các lập trình viên thường chọn tên cho các biến của họ có ý nghĩa đối với người đọc chương trình là con người - chúng giúp lập trình viên ghi lại hoặc ghi nhớ biến đó được sử dụng để làm gì thận trọng Những người mới bắt đầu đôi khi nhầm lẫn giữa ý nghĩa với người đọc với ý nghĩa với máy tính. Vì vậy, họ sẽ lầm tưởng rằng vì họ đã gọi một biến nào đó là >>> type('This is a string.')07 hoặc >>> type('This is a string.')44, nên bằng cách nào đó, nó sẽ tự động tính trung bình hoặc tự động liên kết biến >>> type('This is a string.')44 với giá trị 3. 14159. Không. Máy tính không gắn ý nghĩa ngữ nghĩa với tên biến của bạn. Tùy thuộc vào bạn để làm điều đó 2. 8. Câu lệnh và biểu thứcMộ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 đã thấy hai câu lệnh gán và câu lệnh nhập. 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 >>> type(3.2)00, câu lệnh >>> type(3.2)01 và câu lệnh >>> type(3.2)02. (Còn nhiều loại khác nữa. ) Khi bạn gõ một câu lệnh trên dòng lệnh, Python sẽ thực thi nó. Trình thông dịch không hiển thị bất kỳ kết quả nào 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. Nếu bạn nhập một biểu thức tại dấu nhắc Python, trình thông dịch sẽ đánh giá nó và hiển thị kết quả, luôn là một giá trị >>> type(3.2)7 Trong ví dụ này, >>> type(3.2)03 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 >>> type('This is a string.')46 và >>> type(3.2)05, vì vậy đây là ví dụ thứ ba của chúng ta về một 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 >>> type(3.2)8 2. 9. Toán tử và toán hạngToán tử là mã thông báo đặc biệt đại diện cho các phép tính như cộng, nhân và chia. Các giá trị mà toán tử sử dụng được gọi là toán hạng Sau đây là tất cả các biểu thức Python hợp pháp có ý nghĩa ít nhiều rõ ràng >>> type(3.2)9 Các mã thông báo ________ 806 n ________ 807 và việc sử dụng dấu ngoặc đơn để nhóm, trong Python có nghĩa là ý nghĩa của chúng trong toán học. Dấu hoa thị ( >>> type(3.2)08) là mã thông báo cho phép nhân và >>> type(3.2)09 là mã thông báo cho lũy thừa (nâng một số lên lũy thừa) >>> 42000 42000 >>> 42,000 (42, 0)10 Khi một tên biến xuất hiện ở vị trí của một toán hạng, nó sẽ được thay thế bằng giá trị của nó trước khi thao tác được thực hiện Cộng, trừ, nhân và lũy thừa đều làm những gì bạn mong đợi Thí dụ. vậy chúng ta hãy chuyển đổi 645 phút thành giờ >>> 42000 42000 >>> 42,000 (42, 0)11 Ối. Trong Python 3, toán tử chia >>> type(3.2)10 luôn mang lại kết quả dấu phẩy động. Những gì chúng ta có thể muốn biết là có bao nhiêu giờ và còn lại bao nhiêu phút. Python cung cấp cho chúng ta hai hương vị khác nhau của toán tử chia. Phép chia thứ hai, được gọi là phép chia số nguyên, sử dụng mã thông báo >>> type(3.2)11. Nó luôn cắt bớt kết quả của nó xuống số nguyên nhỏ nhất tiếp theo (ở bên trái trên trục số) >>> 42000 42000 >>> 42,000 (42, 0)12 Hãy cẩn thận rằng bạn chọn toán tử chia chính xác. Nếu bạn đang làm việc với các biểu thức mà bạn cần các giá trị dấu phẩy động, hãy sử dụng toán tử chia để thực hiện phép chia một cách thích hợp 2. 10. Toán tử mô đunToán tử mô đun hoạt động trên số nguyên (và biểu thức số nguyên) và cho số dư khi chia số thứ nhất cho số thứ hai. Trong Python, toán tử mô đun là dấu phần trăm ( >>> type(3.2)12). Cú pháp giống như đối với các toán tử khác >>> 42000 42000 >>> 42,000 (42, 0)13 Vậy 7 chia 3 được 2 dư 1 Toán tử mô-đun hóa ra hữu ích một cách đáng ngạc nhiên. Ví dụ: bạn có thể kiểm tra xem một số có chia hết cho số khác hay không – nếu >>> type(3.2)13 bằng 0 thì >>> type(3.2)14 có chia hết cho >>> type(3.2)15 không Ngoài ra, bạn có thể trích xuất chữ số hoặc chữ số ngoài cùng bên phải từ một số. Ví dụ: >>> type(3.2)16 mang lại chữ số ngoài cùng bên phải của >>> type(3.2)14 (trong cơ số 10). Tương tự >>> type(3.2)18 mang lại hai chữ số cuối cùng Nó cũng cực kỳ hữu ích để thực hiện chuyển đổi, chẳng hạn như từ giây, sang giờ, phút và giây. Vì vậy, hãy viết một chương trình để yêu cầu người dùng nhập một số giây và chúng tôi sẽ chuyển đổi chúng thành giờ, phút và giây còn lại >>> 42000 42000 >>> 42,000 (42, 0)14 2. 11. Thứ tự thực hiệnKhi có nhiều hơn một toán tử xuất hiện trong một biểu thức, thứ tự đánh giá phụ thuộc vào quy tắc ưu tiên. Python tuân theo các quy tắc ưu tiên tương tự cho các toán tử toán học của nó mà toán học thực hiện. Từ viết tắt PEMDAS là một cách hữu ích để ghi nhớ thứ tự các hoạt động
Ghi chú Do một số vấn đề lịch sử, một ngoại lệ đối với quy tắc kết hợp từ trái sang phải là toán tử lũy thừa **, do đó, một gợi ý hữu ích là luôn sử dụng dấu ngoặc đơn để buộc chính xác thứ tự bạn muốn khi có liên quan đến lũy thừa >>> 42000 42000 >>> 42,000 (42, 0)15 Dấu nhắc lệnh chế độ ngay lập tức của Python rất phù hợp để khám phá và thử nghiệm các biểu thức như thế này 2. 12. Thao tác trên chuỗiNói chung, bạn không thể thực hiện các phép toán trên chuỗi, ngay cả khi chuỗi trông giống số. Những điều sau đây là bất hợp pháp (giả sử rằng >>> type('This is a string.')40 có kiểu chuỗi) >>> 42000 42000 >>> 42,000 (42, 0)16 Thật thú vị, toán tử ________ 806 hoạt động với chuỗi, nhưng đối với chuỗi, toán tử ________ 806 đại diện cho phép nối, không phải phép cộng. Nối có nghĩa là nối hai toán hạng bằng cách liên kết chúng từ đầu đến cuối. Ví dụ >>> 42000 42000 >>> 42,000 (42, 0)17 Đầu ra của chương trình này là >>> type(3.2)31. Khoảng cách trước từ >>> type(3.2)32 là một phần của chuỗi và cần thiết để tạo khoảng cách giữa các chuỗi được nối Toán tử >>> type(3.2)08 cũng hoạt động trên các chuỗi; . Ví dụ, >>> type(3.2)34 là >>> type(3.2)35. Một trong các toán hạng phải là một chuỗi; Một mặt, cách giải thích này của >>> type(3.2)06 và >>> type(3.2)08 có ý nghĩa bằng phép loại suy với phép cộng và phép nhân. Cũng giống như >>> type(3.2)38 tương đương với >>> type(3.2)39, chúng tôi mong đợi >>> type(3.2)40 giống như >>> type(3.2)41, và đó là. Mặt khác, có một cách quan trọng trong đó phép nối và phép lặp chuỗi khác với phép cộng và phép nhân số nguyên. Bạn có thể nghĩ ra một thuộc tính mà phép cộng và phép nhân có mà phép nối chuỗi và phép lặp lại không? 2. 13. Chức năng chuyển đổi kiểuỞ đây chúng ta sẽ xem xét thêm ba hàm Python, >>> type('This is a string.')7, >>> type(3.2)43 và >>> type(3.2)44, sẽ (cố gắng) chuyển đổi các đối số của chúng thành các loại >>> type('This is a string.')7, >>> type(3.2)43 và >>> type(3.2)44 tương ứng. Chúng tôi gọi những chức năng chuyển đổi loại này Hàm >>> type('This is a string.')7 có thể lấy một số dấu phẩy động hoặc một chuỗi và biến nó thành một số nguyên. Đối với các số dấu phẩy động, nó loại bỏ phần phân số của số - một quá trình mà chúng tôi gọi là cắt bớt về 0 trên trục số. Hãy để chúng tôi thấy điều này trong hành động >>> 42000 42000 >>> 42,000 (42, 0)18 Trường hợp cuối cùng cho thấy rằng một chuỗi phải là một số hợp pháp về mặt cú pháp, nếu không, bạn sẽ gặp phải một trong những lỗi thời gian chạy phiền phức đó Bộ chuyển đổi kiểu >>> type(3.2)43 có thể biến một số nguyên, một số float hoặc một chuỗi hợp lệ về mặt cú pháp thành một số float >>> 42000 42000 >>> 42,000 (42, 0)19 Bộ chuyển đổi kiểu >>> type(3.2)44 biến đối số của nó thành một chuỗi >>> 42000 42000 >>> 42,000 (42, 0)0 2. 14. Đầu vàoCó một chức năng tích hợp sẵn trong Python để nhận đầu vào từ người dùng >>> 42000 42000 >>> 42,000 (42, 0)1 Người dùng chương trình có thể nhập tên và nhấn >>> type(3.2)51. Khi điều này xảy ra, văn bản đã nhập được trả về từ hàm >>> type(3.2)52 và trong trường hợp này được gán cho biến >>> type(3.2)53 Giá trị chuỗi bên trong dấu ngoặc đơn được gọi là dấu nhắc và chứa thông báo sẽ được hiển thị cho người dùng khi câu lệnh được thực thi để nhắc phản hồi của họ Khi một phím được nhấn trên bàn phím, một ký tự sẽ được gửi đến bộ đệm bàn phím bên trong máy tính. Khi nhấn phím enter, chuỗi ký tự bên trong bộ đệm bàn phím theo thứ tự nhận được sẽ được hàm >>> type(3.2)52 trả về dưới dạng một giá trị chuỗi đơn Ngay cả khi bạn yêu cầu người dùng nhập tuổi của họ, bạn sẽ nhận được một chuỗi như >>> type('This is a string.')5. Công việc của bạn, với tư cách là lập trình viên, là chuyển đổi chuỗi đó thành int hoặc float, sử dụng các hàm chuyển đổi >>> type('This is a string.')7 hoặc >>> type(3.2)43 mà chúng ta đã thấy trong phần trước, điều này dẫn chúng ta đến… 2. 15. Thành phầnCho đến giờ, chúng ta đã xem xét các thành phần của một chương trình — biến, biểu thức, câu lệnh và lệnh gọi hàm — một cách riêng biệt, mà không nói về cách kết hợp chúng Một trong những tính năng hữu ích nhất của ngôn ngữ lập trình là khả năng lấy các khối xây dựng nhỏ và kết hợp chúng thành các khối lớn hơn. Ví dụ: chúng tôi biết cách yêu cầu người dùng nhập một số dữ liệu đầu vào, chúng tôi biết cách chuyển đổi chuỗi mà chúng tôi nhận được thành số thực, chúng tôi biết cách viết một biểu thức phức tạp và chúng tôi biết cách in các giá trị. Hãy kết hợp những thứ này lại với nhau trong một chương trình bốn bước nhỏ yêu cầu người dùng nhập một giá trị cho bán kính của hình tròn, sau đó tính diện tích hình tròn từ công thức Đầu tiên, chúng ta sẽ thực hiện từng bước một >>> 42000 42000 >>> 42,000 (42, 0)2 Bây giờ, hãy soạn hai dòng đầu tiên thành một dòng mã và soạn hai dòng thứ hai thành một dòng mã khác >>> 42000 42000 >>> 42,000 (42, 0)3 Nếu chúng tôi thực sự muốn trở nên khó khăn, chúng tôi có thể viết tất cả trong một câu lệnh >>> 42000 42000 >>> 42,000 (42, 0)4 Mã nhỏ gọn như vậy có thể không dễ hiểu nhất đối với con người, nhưng nó minh họa cách chúng ta có thể tạo các khối lớn hơn từ các khối xây dựng của mình Nếu bạn từng băn khoăn về việc có nên soạn mã hay phân đoạn mã thành các bước nhỏ hơn hay không, hãy cố gắng làm cho mã đơn giản nhất có thể để người đọc dễ theo dõi. 2. 16. Tìm hiểu thêm về hàm >>> type('This is a string.')
|