Bài 2.4. Số

Các số được sử dụng khá thường xuyên trong lập trình để giữ điểm trong các trò chơi, đại diện cho dữ liệu trong các hình ảnh hóa, lưu trữ thông tin trong các ứng dụng web, và nhiều hơn nữa. Python xử lý các số theo nhiều cách khác nhau, tùy thuộc vào cách chúng được sử dụng. Hãy xem xét cách Python quản lý các số nguyên trước, vì chúng là đơn giản nhất để làm việc.

Số nguyên

Bạn có thể cộng (+), trừ (-), nhân (*) và chia (/) các số nguyên trong Python.

>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5

Trong một phiên terminal, Python chỉ đơn giản trả về kết quả của phép toán. Python sử dụng hai ký hiệu nhân để biểu diễn số mũ:

>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000

Python cũng hỗ trợ thứ tự các phép toán, vì vậy bạn có thể sử dụng nhiều phép toán trong một biểu thức. Bạn cũng có thể sử dụng dấu ngoặc đơn để thay đổi thứ tự các phép toán để Python có thể đánh giá biểu thức của bạn theo thứ tự bạn chỉ định. Ví dụ:

>>> 2 + 3*4
14
>>> (2 + 3) * 4
20

Khoảng cách trong các ví dụ này không ảnh hưởng đến cách Python đánh giá các biểu thức; nó chỉ giúp bạn nhanh chóng nhận ra các phép toán có ưu tiên khi bạn đọc qua mã.

Số thực

Python gọi bất kỳ số nào có dấu thập phân là số thực. Thuật ngữ này được sử dụng trong hầu hết các ngôn ngữ lập trình, và nó đề cập đến thực tế rằng dấu thập phân có thể xuất hiện ở bất kỳ vị trí nào trong một số. Mỗi ngôn ngữ lập trình phải được thiết kế cẩn thận để quản lý đúng các số thập phân để các số hoạt động đúng, bất kể dấu thập phân xuất hiện ở đâu.

Hầu hết thời gian, bạn có thể sử dụng số thực mà không cần lo lắng về cách chúng hoạt động. Chỉ cần nhập các số bạn muốn sử dụng, và Python sẽ làm những gì bạn mong đợi:

>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4

Tuy nhiên, hãy lưu ý rằng đôi khi bạn có thể nhận được một số lượng thập phân tùy ý trong câu trả lời của mình:

>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

Điều này xảy ra trong tất cả các ngôn ngữ và không có gì đáng lo ngại. Python cố gắng tìm cách biểu diễn kết quả chính xác nhất có thể, điều này đôi khi khó khăn do cách máy tính phải biểu diễn các số nội bộ. Chỉ cần bỏ qua các số thập phân thừa cho bây giờ; bạn sẽ học cách xử lý các số thừa khi cần thiết trong các dự án ở Phần II.

Số nguyên và số thực

Khi bạn chia bất kỳ hai số nào, ngay cả khi chúng là các số nguyên dẫn đến một số nguyên, bạn sẽ luôn nhận được một số thực:

>>> 4/2
2.0

Nếu bạn trộn một số nguyên và một số thực trong bất kỳ phép toán nào khác, bạn cũng sẽ nhận được một số thực:

>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0

Python mặc định sử dụng số thực trong bất kỳ phép toán nào sử dụng số thực, ngay cả khi đầu ra là một số nguyên.

Dấu gạch dưới trong số

Khi bạn viết các số dài, bạn có thể nhóm các chữ số bằng cách sử dụng dấu gạch dưới để làm cho các số lớn dễ đọc hơn:

>>> universe_age = 14_000_000_000

Khi bạn in một số được định nghĩa bằng dấu gạch dưới, Python chỉ in các chữ số:

>>> print(universe_age)
14000000000

Python bỏ qua các dấu gạch dưới khi lưu trữ các giá trị này. Ngay cả khi bạn không nhóm các chữ số theo ba, giá trị vẫn không bị ảnh hưởng. Đối với Python, 1000 giống như 1_000, giống như 10_00. Tính năng này hoạt động cho cả số nguyên và số thực.

Gán nhiều biến

Bạn có thể gán giá trị cho nhiều biến bằng cách sử dụng chỉ một dòng mã. Điều này có thể giúp rút ngắn các chương trình của bạn và làm cho chúng dễ đọc hơn; bạn sẽ sử dụng kỹ thuật này thường xuyên nhất khi khởi tạo một tập hợp các số.

Ví dụ, đây là cách bạn có thể khởi tạo các biến x, y và z thành số không:

>>> x, y, z = 0, 0, 0

Bạn cần tách các tên biến bằng dấu phẩy và làm tương tự với các giá trị, và Python sẽ gán mỗi giá trị cho biến tương ứng của nó. Miễn là số lượng giá trị khớp với số lượng biến, Python sẽ khớp chúng đúng cách.

Hằng số

Một hằng số là một biến có giá trị không thay đổi trong suốt thời gian tồn tại của một chương trình. Python không có các loại hằng số tích hợp, nhưng các lập trình viên Python sử dụng tất cả các chữ cái viết hoa để chỉ ra rằng một biến nên được coi là một hằng số và không bao giờ được thay đổi:

MAX_CONNECTIONS = 5000

Khi bạn muốn coi một biến là một hằng số trong mã của mình, hãy viết tên của biến bằng tất cả các chữ cái viết hoa.

Làm thêm nhiều bài tập miễn phí tại đây

Comments

There are no comments at the moment.