Hướng dẫn how do you display numbers in python? - làm thế nào để bạn hiển thị số trong python?

Bạn không cần phải là một người chơi toán để lập trình tốt. Sự thật là, rất ít lập trình viên cần biết nhiều hơn đại số cơ bản. Tất nhiên, bao nhiêu toán học bạn cần biết phụ thuộc vào ứng dụng mà bạn đang làm việc. Nói chung, mức độ toán học cần thiết để trở thành một lập trình viên thấp hơn bạn mong đợi. Mặc dù lập trình toán học và máy tính không có mối tương quan như một số người có thể tin, nhưng các con số là một phần không thể thiếu của bất kỳ ngôn ngữ lập trình nào và Python cũng không ngoại lệ.numbers are an integral part of any programming language, and Python is no exception.

Show

Trong hướng dẫn này, bạn sẽ học cách:

  • Tạo số nguyên và số điểm nổiintegers and floating-point numbers
  • Số tròn đến một số vị trí thập phân nhất định to a given number of decimal places
  • Định dạng và số hiển thị trong chuỗistrings

Bắt đầu nào!

Số nguyên và số điểm nổi

Python có ba loại dữ liệu số tích hợp: số nguyên, số dấu phẩy động và số phức. Trong phần này, bạn sẽ tìm hiểu về số nguyên và số dấu phẩy động, là hai loại số được sử dụng phổ biến nhất. Bạn sẽ tìm hiểu về các số phức tạp trong một phần sau.

Số nguyên

Một số nguyên là một số toàn bộ không có vị trí thập phân. Ví dụ,

>>> 200000000000000000.0
2e+17
2 là một số nguyên, nhưng
>>> 200000000000000000.0
2e+17
3 isn. Tên cho kiểu dữ liệu số nguyên là
>>> 200000000000000000.0
2e+17
4, mà bạn có thể thấy với
>>> 200000000000000000.0
2e+17
5:integer is a whole number with no decimal places. For example,
>>> 200000000000000000.0
2e+17
2 is an integer, but
>>> 200000000000000000.0
2e+17
3 isn’t. The name for the integer data type is
>>> 200000000000000000.0
2e+17
4, which you can see with
>>> 200000000000000000.0
2e+17
5:

>>>

>>> type(1)

Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên

>>> 200000000000000000.0
2e+17
6 cho biến
>>> 200000000000000000.0
2e+17
7:

Khi bạn tạo một số nguyên như thế này, giá trị

>>> 200000000000000000.0
2e+17
6 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.integer literal because the integer is literally typed into the code.

Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng

>>> 200000000000000000.0
2e+17
9. Ví dụ: sau đây chuyển đổi chuỗi
>>> n = 2e400
>>> n
inf
>>> type(n)

0 thành số nguyên
>>> 200000000000000000.0
2e+17
6:

>>> n = 2e400
>>> n
inf
>>> type(n)

2 không phải là một số nguyên theo nghĩa đen vì giá trị số nguyên được tạo từ một chuỗi.

Khi bạn viết số lượng lớn bằng tay, bạn thường nhóm các chữ số thành các nhóm ba được phân tách bằng dấu phẩy hoặc dấu thập phân. Số 1.000.000 dễ đọc hơn 1000000.

Trong Python, bạn có thể sử dụng dấu phẩy để nhóm các chữ số trong các chữ số nguyên, nhưng bạn có thể sử dụng dấu gạch dưới (

>>> n = 2e400
>>> n
inf
>>> type(n)

3). Cả hai điều sau đây đều là những cách hợp lệ để đại diện cho số một triệu là một số nguyên theo nghĩa đen:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000

Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên

>>> 200000000000000000.0
2e+17
6 cho biến
>>> 200000000000000000.0
2e+17
7:

Khi bạn tạo một số nguyên như thế này, giá trị >>> 200000000000000000.0 2e+17 6 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.

Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng

>>> 200000000000000000.0
2e+17
9. Ví dụ: sau đây chuyển đổi chuỗi
>>> n = 2e400
>>> n
inf
>>> type(n)

0 thành số nguyên
>>> 200000000000000000.0
2e+17
6:floating-point number, or float for short, is a number with a decimal place.
>>> 200000000000000000.0
2e+17
3 is a floating-point number, as is
>>> n = 2e400
>>> n
inf
>>> type(n)

5. The name of the floating-point data type is
>>> n = 2e400
>>> n
inf
>>> type(n)

6:

>>>

>>> type(1.0)

Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên

>>> 200000000000000000.0
2e+17
6 cho biến
>>> 200000000000000000.0
2e+17
7:floating-point literals or by converting a string to a float with
>>> n = 2e400
>>> n
inf
>>> type(n)

7:

>>>

>>> float("1.25")
1.25

Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên

>>> 200000000000000000.0
2e+17
6 cho biến
>>> 200000000000000000.0
2e+17
7:

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0

Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên

>>> 200000000000000000.0
2e+17
6 cho biến
>>> 200000000000000000.0
2e+17
7:E notation to create a float literal.

Khi bạn tạo một số nguyên như thế này, giá trị

>>> 200000000000000000.0
2e+17
6 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.

Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng

>>> 200000000000000000.0
2e+17
9. Ví dụ: sau đây chuyển đổi chuỗi
>>> n = 2e400
>>> n
inf
>>> type(n)

0 thành số nguyên
>>> 200000000000000000.0
2e+17
6:

>>>

>>> 200000000000000000.0
2e+17

Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên

>>> 200000000000000000.0
2e+17
6 cho biến
>>> 200000000000000000.0
2e+17
7:

Khi bạn tạo một số nguyên như thế này, giá trị

>>> 200000000000000000.0
2e+17
6 được gọi là một số nguyên theo nghĩa đen vì số nguyên được gõ theo nghĩa đen vào mã.

Bạn có thể đã quen thuộc với cách chuyển đổi một chuỗi chứa một số nguyên thành một số bằng cách sử dụng

>>> 200000000000000000.0
2e+17
9. Ví dụ: sau đây chuyển đổi chuỗi
>>> n = 2e400
>>> n
inf
>>> type(n)

0 thành số nguyên
>>> 200000000000000000.0
2e+17
6:

>>> n = 2e400
>>> n
inf
>>> type(n)

2 không phải là một số nguyên theo nghĩa đen vì giá trị số nguyên được tạo từ một chuỗi.

Khi bạn viết số lượng lớn bằng tay, bạn thường nhóm các chữ số thành các nhóm ba được phân tách bằng dấu phẩy hoặc dấu thập phân. Số 1.000.000 dễ đọc hơn 1000000.

>>>

>>> n = 2e400
>>> n
inf
>>> type(n)

Bạn có thể tạo một số nguyên bằng cách nhập số mong muốn. Chẳng hạn, phần sau gán số nguyên

>>> 200000000000000000.0
2e+17
6 cho biến
>>> 200000000000000000.0
2e+17
7:

Có lẽ bạn đã thắng được tình cờ gặp

>>> 1 - -3
4

>>> 1 --3
4

>>> 1- -3
4

>>> 1--3
4
3 và
>>> 1 - -3
4

>>> 1 --3
4

>>> 1- -3
4

>>> 1--3
4
7 rất thường xuyên với tư cách là một lập trình viên trừ khi bạn thường xuyên làm việc với số lượng cực lớn.

Kiểm tra việc hiểu của bạn

Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn:

Viết một chương trình tạo hai biến,

>>> 3 * 3
9

>>> 2 * 8.0
16.0
0 và
>>> 3 * 3
9

>>> 2 * 8.0
16.0
1. Cả
>>> 3 * 3
9

>>> 2 * 8.0
16.0
0 và
>>> 3 * 3
9

>>> 2 * 8.0
16.0
1 nên được gán số nguyên theo nghĩa đen
>>> 3 * 3
9

>>> 2 * 8.0
16.0
4, một được viết bằng dấu gạch dưới và một không có. In
>>> 3 * 3
9

>>> 2 * 8.0
16.0
0 và
>>> 3 * 3
9

>>> 2 * 8.0
16.0
1 trên hai dòng riêng biệt.

Bạn có thể mở rộng khối bên dưới để xem giải pháp:

Đầu tiên, gán giá trị

>>> 3 * 3
9

>>> 2 * 8.0
16.0
4 cho
>>> 3 * 3
9

>>> 2 * 8.0
16.0
0 mà không có bất kỳ dấu gạch dưới nào:

Tiếp theo, trên một dòng mới, gán giá trị

>>> 3 * 3
9

>>> 2 * 8.0
16.0
9 cho biến
>>> 3 * 3
9

>>> 2 * 8.0
16.0
1:

In cả hai biến trên các dòng riêng biệt bằng cách chuyển từng biến cho các cuộc gọi riêng biệt của

>>> 1000000
1000000

>>> 1_000_000
1000000
01:

Trong đầu ra, bạn có thể thấy rằng cả hai số đều giống nhau:

Mặc dù cả hai biến được gán giá trị

>>> 3 * 3
9

>>> 2 * 8.0
16.0
4, việc viết giá trị bằng cách sử dụng dấu gạch dưới cho các chữ số nhóm giúp con người dễ dàng tìm ra số lượng là dễ dàng hơn nhiều. Không còn nheo mắt vào màn hình và cố gắng đếm số 0!

Khi bạn đã sẵn sàng, bạn có thể chuyển sang phần tiếp theo.

Toán học số học và biểu thức

Trong phần này, bạn sẽ học cách thực hiện số học cơ bản, chẳng hạn như bổ sung, trừ, nhân và chia, với số lượng trong Python. Trên đường đi, bạn sẽ học một số quy ước để viết các biểu thức toán học trong mã.

Phép cộng

Ngoài ra được thực hiện với toán tử

>>> 1 - 1
0

>>> 5.0 - 3
2.0
5:

Hai số ở hai bên của toán tử

>>> 1 - 1
0

>>> 5.0 - 3
2.0
5 được gọi là toán hạng. Trong ví dụ trên, cả hai toán hạng là số nguyên, nhưng các toán hạng don don cần phải là cùng một loại.operands. In the above example, both operands are integers, but operands don’t need to be the same type.

Bạn có thể thêm

>>> 200000000000000000.0
2e+17
4 vào
>>> n = 2e400
>>> n
inf
>>> type(n)

6 mà không có vấn đề gì:

Lưu ý rằng kết quả của

>>> 1000000
1000000

>>> 1_000_000
1000000
07 là
>>> 1000000
1000000

>>> 1_000_000
1000000
08, đó là
>>> n = 2e400
>>> n
inf
>>> type(n)

6. Bất cứ khi nào
>>> n = 2e400
>>> n
inf
>>> type(n)

6 được thêm vào một số, kết quả là một
>>> n = 2e400
>>> n
inf
>>> type(n)

6 khác. Thêm hai số nguyên với nhau luôn luôn dẫn đến
>>> 200000000000000000.0
2e+17
4.

Phép trừ

Để trừ hai số, chỉ cần đặt một toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
13 giữa chúng:

>>>

>>> 1 - 1
0

>>> 5.0 - 3
2.0

Giống như thêm hai số nguyên, trừ hai số nguyên luôn dẫn đến

>>> 200000000000000000.0
2e+17
4. Bất cứ khi nào một trong các toán hạng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6, kết quả cũng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6.

Toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
13 cũng được sử dụng để biểu thị số âm:

Bạn có thể trừ một số âm từ một số khác, nhưng như bạn có thể thấy bên dưới, điều này đôi khi có vẻ khó hiểu:

>>>

>>> 1 - -3
4

>>> 1 --3
4

>>> 1- -3
4

>>> 1--3
4

Giống như thêm hai số nguyên, trừ hai số nguyên luôn dẫn đến

>>> 200000000000000000.0
2e+17
4. Bất cứ khi nào một trong các toán hạng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6, kết quả cũng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6.

Toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
13 cũng được sử dụng để biểu thị số âm:

Bạn có thể trừ một số âm từ một số khác, nhưng như bạn có thể thấy bên dưới, điều này đôi khi có vẻ khó hiểu:

Trong bốn ví dụ ở trên, đầu tiên là PEP 8 tuân thủ nhiều nhất. Điều đó nói rằng, bạn có thể bao quanh

>>> 1000000
1000000

>>> 1_000_000
1000000
18 với dấu ngoặc đơn để làm cho nó thậm chí còn rõ ràng hơn rằng
>>> 1000000
1000000

>>> 1_000_000
1000000
13 thứ hai đang sửa đổi
>>> 1000000
1000000

>>> 1_000_000
1000000
20:

>>>

>>> 3 * 3
9

>>> 2 * 8.0
16.0

Giống như thêm hai số nguyên, trừ hai số nguyên luôn dẫn đến

>>> 200000000000000000.0
2e+17
4. Bất cứ khi nào một trong các toán hạng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6, kết quả cũng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6.

Toán tử >>> 1000000 1000000 >>> 1_000_000 1000000 13 cũng được sử dụng để biểu thị số âm:

Bạn có thể trừ một số âm từ một số khác, nhưng như bạn có thể thấy bên dưới, điều này đôi khi có vẻ khó hiểu:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
0

Giống như thêm hai số nguyên, trừ hai số nguyên luôn dẫn đến

>>> 200000000000000000.0
2e+17
4. Bất cứ khi nào một trong các toán hạng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6, kết quả cũng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6.

Toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
13 cũng được sử dụng để biểu thị số âm:

Bạn có thể trừ một số âm từ một số khác, nhưng như bạn có thể thấy bên dưới, điều này đôi khi có vẻ khó hiểu:

Trong bốn ví dụ ở trên, đầu tiên là PEP 8 tuân thủ nhiều nhất. Điều đó nói rằng, bạn có thể bao quanh >>> 1000000 1000000 >>> 1_000_000 1000000 18 với dấu ngoặc đơn để làm cho nó thậm chí còn rõ ràng hơn rằng >>> 1000000 1000000 >>> 1_000_000 1000000 13 thứ hai đang sửa đổi >>> 1000000 1000000 >>> 1_000_000 1000000 20:

Sử dụng dấu ngoặc đơn là một ý tưởng tốt vì nó làm cho mã của bạn rõ ràng hơn. Máy tính thực thi mã, nhưng con người đọc mã. Bất cứ điều gì bạn có thể làm để làm cho mã của bạn dễ đọc và hiểu là một điều tốt.integer division operator (

>>> 1000000
1000000

>>> 1_000_000
1000000
36), also known as the floor division operator:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
1

Giống như thêm hai số nguyên, trừ hai số nguyên luôn dẫn đến

>>> 200000000000000000.0
2e+17
4. Bất cứ khi nào một trong các toán hạng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6, kết quả cũng là
>>> n = 2e400
>>> n
inf
>>> type(n)

6.

Toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
13 cũng được sử dụng để biểu thị số âm:

Bạn có thể trừ một số âm từ một số khác, nhưng như bạn có thể thấy bên dưới, điều này đôi khi có vẻ khó hiểu:

Trong bốn ví dụ ở trên, đầu tiên là PEP 8 tuân thủ nhiều nhất. Điều đó nói rằng, bạn có thể bao quanh

>>> 1000000
1000000

>>> 1_000_000
1000000
18 với dấu ngoặc đơn để làm cho nó thậm chí còn rõ ràng hơn rằng
>>> 1000000
1000000

>>> 1_000_000
1000000
13 thứ hai đang sửa đổi
>>> 1000000
1000000

>>> 1_000_000
1000000
20:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
2

Python cung cấp cho bạn một

>>> 1000000
1000000

>>> 1_000_000
1000000
55, cho bạn biết rằng bạn chỉ cố gắng phá vỡ một quy tắc cơ bản của vũ trụ.

Số mũ

Bạn có thể nâng một số lên nguồn điện bằng toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
56:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
3

Số mũ don don phải là số nguyên. Chúng cũng có thể là phao:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
4

Tăng một số vào sức mạnh của

>>> 1000000
1000000

>>> 1_000_000
1000000
57 giống như lấy căn bậc hai, nhưng lưu ý rằng mặc dù căn bậc hai của
>>> 1000000
1000000

>>> 1_000_000
1000000
58 là một số nguyên, Python trả về
>>> n = 2e400
>>> n
inf
>>> type(n)

6
>>> 1000000
1000000

>>> 1_000_000
1000000
08.

Đối với các toán hạng tích cực, toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
56 sẽ trả về
>>> 200000000000000000.0
2e+17
4 nếu cả hai toán hạng là số nguyên và
>>> n = 2e400
>>> n
inf
>>> type(n)

6 nếu bất kỳ một trong các toán hạng là số điểm nổi.

Bạn cũng có thể tăng số lên các quyền lực tiêu cực:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
5

Tăng một con số lên một sức mạnh tiêu cực giống như chia

>>> 200000000000000000.0
2e+17
2 cho số được nâng lên công suất tích cực. Vì vậy,
>>> 1000000
1000000

>>> 1_000_000
1000000
65 giống như
>>> 1000000
1000000

>>> 1_000_000
1000000
66, giống như
>>> 1000000
1000000

>>> 1_000_000
1000000
67 hoặc
>>> 1000000
1000000

>>> 1_000_000
1000000
57. Tương tự,
>>> 1000000
1000000

>>> 1_000_000
1000000
69 giống như
>>> 1000000
1000000

>>> 1_000_000
1000000
70, giống như
>>> 1000000
1000000

>>> 1_000_000
1000000
71 hoặc
>>> 1000000
1000000

>>> 1_000_000
1000000
72.

Toán tử mô đun

Toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
73 hoặc mô đun, trả về phần còn lại của việc chia toán hạng bên trái cho toán hạng bên phải:modulus, returns the remainder of dividing the left operand by the right operand:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
6

>>> 1000000
1000000

>>> 1_000_000
1000000
20 Chia
>>> 1000000
1000000

>>> 1_000_000
1000000
75 Một lần với phần còn lại là
>>> 1000000
1000000

>>> 1_000_000
1000000
33, vì vậy
>>> 1000000
1000000

>>> 1_000_000
1000000
77 là
>>> 1000000
1000000

>>> 1_000_000
1000000
33. Tương tự,
>>> 1000000
1000000

>>> 1_000_000
1000000
79 chia
>>> 1000000
1000000

>>> 1_000_000
1000000
80 hai lần với phần còn lại là
>>> 1000000
1000000

>>> 1_000_000
1000000
81. Trong ví dụ cuối cùng,
>>> 1000000
1000000

>>> 1_000_000
1000000
82 chia hết cho
>>> 1000000
1000000

>>> 1_000_000
1000000
83, vì vậy
>>> 1000000
1000000

>>> 1_000_000
1000000
84 là
>>> 1000000
1000000

>>> 1_000_000
1000000
54. Bất cứ khi nào số ở bên trái của
>>> 1000000
1000000

>>> 1_000_000
1000000
73 đều chia hết cho số bên phải, kết quả là
>>> 1000000
1000000

>>> 1_000_000
1000000
54.

Một trong những cách sử dụng phổ biến nhất của

>>> 1000000
1000000

>>> 1_000_000
1000000
73 là xác định xem một số có chia hết cho một số khác hay không. Ví dụ: một số
>>> 1000000
1000000

>>> 1_000_000
1000000
89 là ngay cả khi và chỉ khi
>>> 1000000
1000000

>>> 1_000_000
1000000
90 là
>>> 1000000
1000000

>>> 1_000_000
1000000
54. Bạn nghĩ gì
>>> 1000000
1000000

>>> 1_000_000
1000000
92 trở lại? Hãy để thử nó ra:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
7

Điều này có ý nghĩa bởi vì

>>> 1000000
1000000

>>> 1_000_000
1000000
92 đưa ra phần còn lại của việc chia
>>> 200000000000000000.0
2e+17
2 cho
>>> 1000000
1000000

>>> 1_000_000
1000000
54. Nhưng bạn có thể chia
>>> 200000000000000000.0
2e+17
2 cho
>>> 1000000
1000000

>>> 1_000_000
1000000
54, vì vậy Python tăng
>>> 1000000
1000000

>>> 1_000_000
1000000
55.

Mọi thứ trở nên khó khăn khi bạn sử dụng toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
73 với số âm:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
8

Mặc dù có khả năng gây sốc ngay từ cái nhìn đầu tiên, những kết quả này là sản phẩm của một hành vi được xác định rõ ở Python. Để tính toán phần còn lại

>>> type(1.0)

00 chia số
>>> type(1.0)

01 cho một số
>>> type(1.0)

02, Python sử dụng phương trình
>>> type(1.0)

03.

Ví dụ: để tìm

>>> type(1.0)

04, Python lần đầu tiên tìm thấy
>>> type(1.0)

05. Vì
>>> type(1.0)

06 là khoảng
>>> type(1.0)

07, điều đó có nghĩa là
>>> type(1.0)

08 là
>>> 1000000
1000000

>>> 1_000_000
1000000
39. Bây giờ Python nhân với
>>> 1000000
1000000

>>> 1_000_000
1000000
18 để nhận
>>> 1000000
1000000

>>> 1_000_000
1000000
81. Cuối cùng, Python trừ
>>> 1000000
1000000

>>> 1_000_000
1000000
81 từ
>>> 1000000
1000000

>>> 1_000_000
1000000
75 để nhận
>>> type(1.0)

14.

Biểu thức số học

Bạn có thể kết hợp các toán tử để tạo thành các biểu thức phức tạp. Một biểu thức là sự kết hợp của các số, toán tử và dấu ngoặc đơn mà Python có thể tính toán hoặc đánh giá, để trả về một giá trị.expression is a combination of numbers, operators, and parentheses that Python can compute, or evaluate, to return a value.

Dưới đây là một số ví dụ về biểu thức số học:

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
9

Các quy tắc để đánh giá các biểu thức giống như trong số học hàng ngày. Ở trường, có lẽ bạn đã học các quy tắc này theo thứ tự tên hoạt động.order of operations.

Các toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
21,
>>> 1000000
1000000

>>> 1_000_000
1000000
25,
>>> 1000000
1000000

>>> 1_000_000
1000000
36 và
>>> 1000000
1000000

>>> 1_000_000
1000000
73 đều có ưu tiên bằng nhau, hoặc ưu tiên, trong một biểu thức, và mỗi toán tử này có quyền ưu tiên cao hơn so với các toán tử
>>> 1 - 1
0

>>> 5.0 - 3
2.0
5 và
>>> 1000000
1000000

>>> 1_000_000
1000000
13. Đây là lý do tại sao
>>> type(1.0)

21 trả về
>>> 1000000
1000000

>>> 1_000_000
1000000
75 chứ không phải
>>> type(1.0)

23.
>>> type(1.0)

24 được đánh giá đầu tiên, vì
>>> 1000000
1000000

>>> 1_000_000
1000000
21 có ưu tiên cao hơn toán tử
>>> 1000000
1000000

>>> 1_000_000
1000000
13.precedence, or priority, in an expression, and each of these has a higher precedence than the
>>> 1 - 1
0

>>> 5.0 - 3
2.0
5 and
>>> 1000000
1000000

>>> 1_000_000
1000000
13 operators. This is why
>>> type(1.0)

21 returns
>>> 1000000
1000000

>>> 1_000_000
1000000
75 and not
>>> type(1.0)

23.
>>> type(1.0)

24 is evaluated first, because
>>> 1000000
1000000

>>> 1_000_000
1000000
21 has higher precedence than the
>>> 1000000
1000000

>>> 1_000_000
1000000
13 operator.

Bạn có thể nhận thấy rằng các biểu thức trong ví dụ trước không tuân theo quy tắc để đặt một khoảng trống ở hai bên của tất cả các toán tử. PEP 8 cho biết sau đây về khoảng trắng trong các biểu thức phức tạp:

Nếu các nhà khai thác có các ưu tiên khác nhau được sử dụng, hãy xem xét thêm khoảng trắng xung quanh các nhà khai thác với mức độ ưu tiên thấp nhất (IES). Sử dụng phán đoán của riêng bạn; Tuy nhiên, không bao giờ sử dụng nhiều hơn một không gian và luôn có cùng một lượng khoảng trắng ở cả hai bên của toán tử nhị phân. (Nguồn)

Một thực tiễn tốt khác là sử dụng dấu ngoặc đơn để chỉ ra thứ tự thực hiện các hoạt động, ngay cả khi dấu ngoặc đơn không cần thiết. Chẳng hạn,

>>> type(1.0)

27 có khả năng rõ ràng hơn 2*3 - 1.

Làm cho Python nói dối bạn

Bạn nghĩ

>>> type(1.0)

28 là gì? Câu trả lời là
>>> type(1.0)

29, phải không? Hãy để xem những gì Python nói về nó. Hãy thử điều này trong cửa sổ tương tác:

>>>

>>> type(1.0)

0

Đó cũng là . . . gần như đúng. Điều gì đang xảy ra ở đây? Đây có phải là một lỗi trong Python?

Không, nó không phải là một lỗi! Nó có một lỗi đại diện cho điểm nổi, và nó không liên quan gì đến Python. Nó có liên quan đến cách lưu trữ số điểm nổi trong bộ nhớ máy tính.floating-point representation error, and it has nothing to do with Python. It’s related to the way floating-point numbers are stored in a computer’s memory.

Số

>>> type(1.0)

30 có thể được biểu diễn dưới dạng phân số
>>> type(1.0)

31. Cả số
>>> type(1.0)

30 và phân số
>>> type(1.0)

31 của nó là các biểu diễn thập phân hoặc các biểu diễn cơ sở-10. Tuy nhiên, máy tính lưu trữ các số điểm nổi trong biểu diễn cơ sở-2, thường được gọi là biểu diễn nhị phân.decimal representations, or base-10 representations. Computers, however, store floating-point numbers in base-2 representation, more commonly called binary representation.

Khi được đại diện trong nhị phân, một cái gì đó quen thuộc nhưng có thể bất ngờ xảy ra với số thập phân

>>> type(1.0)

30. Phân số
>>> type(1.0)

35 không có biểu diễn thập phân hữu hạn. Đó là,
>>> type(1.0)

36 với vô số 3s sau điểm thập phân. Điều tương tự cũng xảy ra với phân số
>>> type(1.0)

31 trong nhị phân.

Biểu diễn nhị phân của

>>> type(1.0)

31 là phần lặp lại vô hạn sau đây:

>>> type(1.0)

1

Máy tính có bộ nhớ hữu hạn, do đó số

>>> type(1.0)

30 phải được lưu trữ dưới dạng xấp xỉ và không phải là giá trị thực của nó. Phép tính gần đúng được lưu trữ cao hơn một chút so với giá trị thực tế và trông như thế này:

>>> type(1.0)

2

Tuy nhiên, bạn có thể nhận thấy rằng khi được yêu cầu in

>>> type(1.0)

30, in python
>>> type(1.0)

30 và không phải là giá trị xấp xỉ ở trên:

Python không chỉ cắt các chữ số trong biểu diễn nhị phân cho

>>> type(1.0)

30. Những gì thực sự xảy ra là một chút tinh tế hơn.

Bởi vì sự gần đúng của

>>> type(1.0)

30 trong nhị phân chỉ là một xấp xỉ, nó hoàn toàn có thể là hơn một số thập phân có cùng xấp xỉ nhị phân.

Ví dụ, cả

>>> type(1.0)

30 và
>>> type(1.0)

45 đều có cùng xấp xỉ nhị phân. Python in ra số thập phân ngắn nhất chia sẻ xấp xỉ.

Điều này giải thích lý do tại sao, trong ví dụ đầu tiên của phần này,

>>> type(1.0)

28 không bằng nhau
>>> type(1.0)

29. Python cộng với các xấp xỉ nhị phân cho
>>> type(1.0)

30 và
>>> type(1.0)

49, đưa ra một số không phải là xấp xỉ nhị phân cho
>>> type(1.0)

29.

Nếu tất cả điều này đang bắt đầu làm cho đầu của bạn quay cuồng, đừng lo lắng! Trừ khi bạn viết các chương trình về tài chính hoặc điện toán khoa học, bạn không cần phải lo lắng về sự thiếu chính xác của số học dấu phẩy động.

Các chức năng toán học và phương pháp số

Python có một vài chức năng tích hợp mà bạn có thể sử dụng để làm việc với các số. Trong phần này, bạn sẽ tìm hiểu về ba trong số phổ biến nhất:

  1. >>> type(1.0)
    
    
    51, để làm tròn số vào một số vị trí thập phân
    , for rounding numbers to some number of decimal places
  2. >>> type(1.0)
    
    
    52, để nhận được giá trị tuyệt đối của một số
    , for getting the absolute value of a number
  3. >>> type(1.0)
    
    
    53, để nâng một số lên một số sức mạnh
    , for raising a number to some power

Bạn cũng sẽ tìm hiểu về một phương pháp bạn có thể sử dụng với các số điểm nổi để kiểm tra xem chúng có giá trị số nguyên hay không.

Số tròn với >>> type(1.0) 51

Bạn có thể sử dụng

>>> type(1.0)

51 để làm tròn một số vào số nguyên gần nhất:

>>>

>>> type(1.0)

3

>>> type(1.0)

51 có một số hành vi bất ngờ khi số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34:

>>>

>>> type(1.0)

4

>>> type(1.0)

51 có một số hành vi bất ngờ khi số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34:

>>> 1000000
1000000

>>> 1_000_000
1000000
31 được làm tròn xuống
>>> 1000000
1000000

>>> 1_000_000
1000000
33 và
>>> type(1.0)

60 được làm tròn lên đến
>>> type(1.0)

23. Hầu hết mọi người mong đợi một con số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34 sẽ được làm tròn, vì vậy, hãy để xem xét kỹ hơn về những gì mà xảy ra ở đây.tie is any number whose last digit is five.
>>> 1000000
1000000

>>> 1_000_000
1000000
31 and
>>> type(1.0)

64 are ties, but
>>> type(1.0)

65 is not.

Python 3 vòng số theo một chiến lược gọi là liên kết làm tròn với chẵn. Một chiếc cà vạt là bất kỳ số nào có chữ số cuối cùng là năm.

>>> 1000000
1000000

>>> 1_000_000
1000000
31 và
>>> type(1.0)

64 là mối quan hệ, nhưng
>>> type(1.0)

65 thì không.

Khi bạn quan hệ tròn với thậm chí, trước tiên bạn nhìn vào một chữ số một chữ số ở bên trái của chữ số cuối cùng trong cà vạt. Nếu chữ số đó là chẵn, thì bạn làm tròn xuống. Nếu chữ số là lẻ, thì bạn làm tròn. Đó là lý do tại sao

>>> 1000000
1000000

>>> 1_000_000
1000000
31 làm tròn xuống
>>> 1000000
1000000

>>> 1_000_000
1000000
33 và
>>> type(1.0)

60 vòng lên đến
>>> type(1.0)

23.

>>>

>>> type(1.0)

5

>>> type(1.0)

51 có một số hành vi bất ngờ khi số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34:

>>> 1000000
1000000

>>> 1_000_000
1000000
31 được làm tròn xuống
>>> 1000000
1000000

>>> 1_000_000
1000000
33 và
>>> type(1.0)

60 được làm tròn lên đến
>>> type(1.0)

23. Hầu hết mọi người mong đợi một con số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34 sẽ được làm tròn, vì vậy, hãy để xem xét kỹ hơn về những gì mà xảy ra ở đây.

>>>

>>> type(1.0)

6

>>> type(1.0)

51 có một số hành vi bất ngờ khi số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34:

>>>

>>> type(1.0)

7

>>> type(1.0)

51 có một số hành vi bất ngờ khi số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34:

>>> 1000000
1000000

>>> 1_000_000
1000000
31 được làm tròn xuống
>>> 1000000
1000000

>>> 1_000_000
1000000
33 và
>>> type(1.0)

60 được làm tròn lên đến
>>> type(1.0)

23. Hầu hết mọi người mong đợi một con số kết thúc trong
>>> 1000000
1000000

>>> 1_000_000
1000000
34 sẽ được làm tròn, vì vậy, hãy để xem xét kỹ hơn về những gì mà xảy ra ở đây.

Python 3 vòng số theo một chiến lược gọi là liên kết làm tròn với chẵn. Một chiếc cà vạt là bất kỳ số nào có chữ số cuối cùng là năm.

>>> 1000000
1000000

>>> 1_000_000
1000000
31 và
>>> type(1.0)

64 là mối quan hệ, nhưng
>>> type(1.0)

65 thì không.

Khi bạn quan hệ tròn với thậm chí, trước tiên bạn nhìn vào một chữ số một chữ số ở bên trái của chữ số cuối cùng trong cà vạt. Nếu chữ số đó là chẵn, thì bạn làm tròn xuống. Nếu chữ số là lẻ, thì bạn làm tròn. Đó là lý do tại sao >>> 1000000 1000000 >>> 1_000_000 1000000 31 làm tròn xuống >>> 1000000 1000000 >>> 1_000_000 1000000 33 và >>> type(1.0) 60 vòng lên đến >>> type(1.0) 23.

Giá trị tuyệt đối của số n chỉ là n nếu n dương và -n nếu n là âm. Ví dụ: giá trị tuyệt đối của

>>> 1000000
1000000

>>> 1_000_000
1000000
20 là
>>> 1000000
1000000

>>> 1_000_000
1000000
20, trong khi giá trị tuyệt đối của
>>> type(1.0)

89 là
>>> 1000000
1000000

>>> 1_000_000
1000000
75.

Để có được giá trị tuyệt đối của một số trong Python, bạn sử dụng

>>> type(1.0)

52:

>>>

>>> type(1.0)

8

>>> type(1.0)

52 luôn trả về một số dương của cùng loại với đối số của nó. Đó là, giá trị tuyệt đối của một số nguyên luôn là một số nguyên dương và giá trị tuyệt đối của một chiếc phao luôn là một phao dương.

Nâng cao sức mạnh với >>> type(1.0) 53

Trước đó, bạn đã học được cách nâng một số lên nguồn điện bằng toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
56. Bạn cũng có thể sử dụng
>>> type(1.0)

53 để đạt được kết quả tương tự.

>>> type(1.0)

53 có hai đối số. Đối số đầu tiên là cơ sở, hoặc số được nâng lên thành một nguồn điện và đối số thứ hai là số mũ, hoặc sức mạnh mà số sẽ được nâng lên.base, or the number to be raised to a power, and the second argument is the exponent, or the power to which the number is to be raised.

Ví dụ: sử dụng sau đây

>>> type(1.0)

53 để nâng
>>> 1000000
1000000

>>> 1_000_000
1000000
33 lên số mũ
>>> 1000000
1000000

>>> 1_000_000
1000000
20:

Giống như với

>>> 1000000
1000000

>>> 1_000_000
1000000
56, số mũ trong
>>> type(1.0)

53 có thể âm:

Vì vậy, những gì khác biệt giữa

>>> 1000000
1000000

>>> 1_000_000
1000000
56 và
>>> type(1.0)

53?

Hàm

>>> type(1.0)

53 chấp nhận một đối số thứ ba tùy chọn tính toán số thứ nhất được nâng lên công suất của số thứ hai, sau đó lấy modulo liên quan đến số thứ ba. Nói cách khác,
>>> float("1.25")
1.25
05 tương đương với
>>> float("1.25")
1.25
06.

Dưới đây, một ví dụ trong đó

>>> float("1.25")
1.25
07,
>>> float("1.25")
1.25
08 và
>>> float("1.25")
1.25
09:

Đầu tiên,

>>> 1000000
1000000

>>> 1_000_000
1000000
33 được nâng lên sức mạnh
>>> 1000000
1000000

>>> 1_000_000
1000000
20 để có được
>>> 1000000
1000000

>>> 1_000_000
1000000
83. Sau đó
>>> float("1.25")
1.25
13 được tính toán, đó là
>>> 1000000
1000000

>>> 1_000_000
1000000
54 vì
>>> 1000000
1000000

>>> 1_000_000
1000000
33 chia
>>> 1000000
1000000

>>> 1_000_000
1000000
83 không còn lại.

Kiểm tra xem một chiếc phao có thể tích không

Bạn có thể quen thuộc với các phương thức chuỗi như

>>> float("1.25")
1.25
17,
>>> float("1.25")
1.25
18 và
>>> float("1.25")
1.25
19. Số nguyên và số điểm nổi cũng có phương pháp.

Các phương thức số aren được sử dụng rất thường xuyên, nhưng có một phương pháp có thể hữu ích. Các số điểm nổi có phương thức

>>> float("1.25")
1.25
20 trả về
>>> float("1.25")
1.25
21 nếu số này là tích phân có nghĩa là nó không có phần phân số nào và nếu không thì trả về
>>> float("1.25")
1.25
22:integral—meaning it has no fractional part—and otherwise returns
>>> float("1.25")
1.25
22:

>>>

>>> type(1.0)

9

>>> type(1.0)

52 luôn trả về một số dương của cùng loại với đối số của nó. Đó là, giá trị tuyệt đối của một số nguyên luôn là một số nguyên dương và giá trị tuyệt đối của một chiếc phao luôn là một phao dương.

Nâng cao sức mạnh với

>>> type(1.0)

53

Trước đó, bạn đã học được cách nâng một số lên nguồn điện bằng toán tử

>>> 1000000
1000000

>>> 1_000_000
1000000
56. Bạn cũng có thể sử dụng
>>> type(1.0)

53 để đạt được kết quả tương tự.

>>> type(1.0)

53 có hai đối số. Đối số đầu tiên là cơ sở, hoặc số được nâng lên thành một nguồn điện và đối số thứ hai là số mũ, hoặc sức mạnh mà số sẽ được nâng lên.

Ví dụ: sử dụng sau đây

>>> type(1.0)

53 để nâng
>>> 1000000
1000000

>>> 1_000_000
1000000
33 lên số mũ
>>> 1000000
1000000

>>> 1_000_000
1000000
20:

Giống như với

>>> 1000000
1000000

>>> 1_000_000
1000000
56, số mũ trong
>>> type(1.0)

53 có thể âm:

>>> float("1.25")
1.25
0

Vì vậy, những gì khác biệt giữa

>>> 1000000
1000000

>>> 1_000_000
1000000
56 và
>>> type(1.0)

53?

Hàm

>>> type(1.0)

53 chấp nhận một đối số thứ ba tùy chọn tính toán số thứ nhất được nâng lên công suất của số thứ hai, sau đó lấy modulo liên quan đến số thứ ba. Nói cách khác,
>>> float("1.25")
1.25
05 tương đương với
>>> float("1.25")
1.25
06.

Dưới đây, một ví dụ trong đó

>>> float("1.25")
1.25
07,
>>> float("1.25")
1.25
08 và
>>> float("1.25")
1.25
09:

Đầu tiên,

>>> 1000000
1000000

>>> 1_000_000
1000000
33 được nâng lên sức mạnh
>>> 1000000
1000000

>>> 1_000_000
1000000
20 để có được
>>> 1000000
1000000

>>> 1_000_000
1000000
83. Sau đó
>>> float("1.25")
1.25
13 được tính toán, đó là
>>> 1000000
1000000

>>> 1_000_000
1000000
54 vì
>>> 1000000
1000000

>>> 1_000_000
1000000
33 chia
>>> 1000000
1000000

>>> 1_000_000
1000000
83 không còn lại.

Kiểm tra xem một chiếc phao có thể tích không

Bạn có thể quen thuộc với các phương thức chuỗi như

>>> float("1.25")
1.25
17,
>>> float("1.25")
1.25
18 và
>>> float("1.25")
1.25
19. Số nguyên và số điểm nổi cũng có phương pháp.

Các phương thức số aren được sử dụng rất thường xuyên, nhưng có một phương pháp có thể hữu ích. Các số điểm nổi có phương thức

>>> float("1.25")
1.25
20 trả về
>>> float("1.25")
1.25
21 nếu số này là tích phân có nghĩa là nó không có phần phân số nào và nếu không thì trả về
>>> float("1.25")
1.25
22:

>>> float("1.25")
1.25
2

Một cách sử dụng cho

>>> float("1.25")
1.25
20 là để xác thực đầu vào của người dùng. Ví dụ: nếu bạn đang viết một ứng dụng đặt hàng trực tuyến cho một pizzeria, thì bạn sẽ muốn kiểm tra xem số lượng pizza mà đầu vào của khách hàng là một số.

Các hàm

>>> type(1.0)

51,
>>> type(1.0)

52 và
>>> type(1.0)

53 là các chức năng tích hợp, có nghĩa là bạn không phải nhập bất cứ thứ gì để sử dụng chúng. Nhưng ba chức năng này hầu như không làm trầy xước bề mặt của tất cả các chức năng có sẵn để làm việc với các số trong Python.

>>> float("1.25")
1.25
3

Để có thêm niềm vui toán học, hãy xem mô -đun toán học Python: Mọi thứ bạn cần biết!

Kiểm tra việc hiểu của bạn

Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn:

Viết một chương trình yêu cầu người dùng nhập một số và sau đó hiển thị số đó được làm tròn đến hai vị trí thập phân. Khi chạy, chương trình của bạn sẽ trông như thế này:

>>>

>>> float("1.25")
1.25
4

Bạn có thể mở rộng khối bên dưới để xem giải pháp:

Để nhận đầu vào từ người dùng, hãy chuyển lời nhắc đến

>>> float("1.25")
1.25
27:

>>>

>>> float("1.25")
1.25
5

>>> float("1.25")
1.25
1

>>> float("1.25")
1.25
39 trong
>>> float("1.25")
1.25
38 làm tròn con số đến hai vị trí thập phân và
>>> float("1.25")
1.25
41 bảo Python hiển thị
>>> 1000000
1000000

>>> 1_000_000
1000000
89 dưới dạng số điểm cố định. Điều này có nghĩa là số được hiển thị với chính xác hai vị trí thập phân, ngay cả khi số ban đầu có ít vị trí thập phân hơn.fixed-point number. This means that the number is displayed with exactly two decimal places, even if the original number has fewer decimal places.

Khi

>>> float("1.25")
1.25
43, kết quả của
>>> float("1.25")
1.25
35 là
>>> float("1.25")
1.25
45. Giống như với
>>> type(1.0)

51, Python làm tròn mối quan hệ ngay cả khi định dạng số bên trong chuỗi. Vì vậy, nếu bạn thay thế
>>> float("1.25")
1.25
43 bằng
>>> float("1.25")
1.25
48, thì kết quả của
>>> float("1.25")
1.25
35 là
>>> float("1.25")
1.25
50:

>>>

>>> float("1.25")
1.25
6

Để làm tròn một vị trí thập phân, hãy thay thế

>>> float("1.25")
1.25
39 bằng
>>> float("1.25")
1.25
52:

>>>

>>> float("1.25")
1.25
7

Để làm tròn một vị trí thập phân, hãy thay thế

>>> float("1.25")
1.25
39 bằng
>>> float("1.25")
1.25
52:

>>>

>>> float("1.25")
1.25
8

Để làm tròn một vị trí thập phân, hãy thay thế

>>> float("1.25")
1.25
39 bằng
>>> float("1.25")
1.25
52:

>>>

>>> float("1.25")
1.25
9

Để làm tròn một vị trí thập phân, hãy thay thế

>>> float("1.25")
1.25
39 bằng
>>> float("1.25")
1.25
52:

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
0

Để làm tròn một vị trí thập phân, hãy thay thế

>>> float("1.25")
1.25
39 bằng
>>> float("1.25")
1.25
52:

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
1

Để làm tròn một vị trí thập phân, hãy thay thế

>>> float("1.25")
1.25
39 bằng
>>> float("1.25")
1.25
52:

Khi bạn định dạng một số là điểm cố định, nó luôn luôn hiển thị với số lượng chính xác của số thập phân mà bạn chỉ định:

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
2

Để làm tròn một vị trí thập phân, hãy thay thế

>>> float("1.25")
1.25
39 bằng
>>> float("1.25")
1.25
52:

Khi bạn định dạng một số là điểm cố định, nó luôn luôn hiển thị với số lượng chính xác của số thập phân mà bạn chỉ định:

Bạn có thể chèn dấu phẩy để nhóm phần số nguyên của số lượng lớn bởi hàng ngàn với tùy chọn

>>> float("1.25")
1.25
53:

Để làm tròn một số vị trí thập phân và cả hàng ngàn địa điểm và cũng được nhóm, đặt

>>> float("1.25")
1.25
53 trước
>>> float("1.25")
1.25
55 vào đặc tả định dạng của bạn:

Bộ xác định

>>> float("1.25")
1.25
56 rất hữu ích để hiển thị các giá trị tiền tệ:

Một tùy chọn hữu ích khác là

>>> 1000000
1000000

>>> 1_000_000
1000000
73, được sử dụng để hiển thị tỷ lệ phần trăm. Tùy chọn
>>> 1000000
1000000

>>> 1_000_000
1000000
73 nhân số một số với
>>> float("1.25")
1.25
59 và hiển thị nó ở định dạng điểm cố định, theo sau là dấu hiệu phần trăm.

Tùy chọn

>>> 1000000
1000000

>>> 1_000_000
1000000
73 phải luôn luôn đi vào cuối thông số kỹ thuật định dạng của bạn và bạn có thể trộn nó với tùy chọn
>>> float("1.25")
1.25
41. Ví dụ:
>>> float("1.25")
1.25
62 hiển thị một số theo tỷ lệ phần trăm với chính xác một vị trí thập phân:

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
3

Các định dạng ngôn ngữ mini là mạnh mẽ và rộng rãi. Bạn chỉ thấy những điều cơ bản ở đây. Để biết thêm thông tin, hãy kiểm tra các tài liệu chính thức.

Kiểm tra việc hiểu của bạn

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
4

Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn:

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
5

In số

>>> float("1.25")
1.25
63 dưới dạng tiền tệ với hàng ngàn được nhóm bởi dấu phẩy. Tiền tệ nên được hiển thị với hai vị trí thập phân và bắt đầu với biểu tượng đô la Mỹ.

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
6

Bạn có thể mở rộng khối bên dưới để xem giải pháp:

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
7

Hãy cùng xây dựng chuỗi F của chúng tôi từng bước một.

Đầu tiên, chuỗi F hiển thị giá trị

>>> float("1.25")
1.25
63 mà không có bất kỳ định dạng nào trông như thế này:

Điều này có thể trông có vẻ kỳ lạ, nhưng nó thiết lập bạn để thêm các định dạng định dạng.

Để đảm bảo rằng giá trị được hiển thị dưới dạng số điểm nổi, hãy đặt dấu hai chấm (

>>> float("1.25")
1.25
36) sau số
>>> float("1.25")
1.25
63, tiếp theo là chữ cái
>>> float("1.25")
1.25
41:

Theo mặc định, Python hiển thị số lượng với sáu vị trí chính xác thập phân. Tiền tệ chỉ nên có hai vị trí chính xác thập phân, vì vậy bạn có thể thêm

>>> float("1.25")
1.25
39 giữa
>>> float("1.25")
1.25
36 và
>>> float("1.25")
1.25
41:real part and an imaginary part.

Để hiển thị số với các chữ số được nhóm bởi dấu phẩy, chèn dấu phẩy (

>>> float("1.25")
1.25
53) giữa ruột kết (
>>> float("1.25")
1.25
36) và dấu chấm (
>>> float("1.25")
1.25
55):

Cuối cùng, thêm một dấu hiệu đô la (

>>> float("1.25")
1.25
74) ở đầu chuỗi để chỉ ra rằng giá trị bằng đô la Mỹ:

F-String chỉ là một cách để định dạng số để hiển thị. Kiểm tra một hướng dẫn cho các kỹ thuật định dạng chuỗi Python mới hơn để biết nhiều cách hơn để định dạng số và văn bản khác trong Python.

Khi bạn đã sẵn sàng, bạn có thể chuyển sang phần tiếp theo.

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
8

Số phức

Python là một trong số ít ngôn ngữ lập trình cung cấp hỗ trợ tích hợp cho các số phức tạp. Trong khi các số phức tạp don don thường xuất hiện bên ngoài các lĩnh vực của máy tính khoa học và đồ họa máy tính, nhưng sự hỗ trợ của Python đối với chúng là một trong những thế mạnh của nó.

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
9

Nếu bạn đã từng tham gia một lớp toán đại số cấp độ hoặc cấp cao hơn, thì bạn có thể nhớ rằng một số phức là một số có hai thành phần riêng biệt: một phần thực và một phần tưởng tượng.conjugate is the complex number with the same real part and an imaginary part that is the same in absolute value but with the opposite sign. So in this case, the complex conjugate of

>>> float("1.25")
1.25
79 is
>>> float("1.25")
1.25
80.

Ngoại trừ toán tử phân chia sàn (

>>> 1000000
1000000

>>> 1_000_000
1000000
36), tất cả các toán tử số học hoạt động với phao và số nguyên cũng sẽ hoạt động với các số phức tạp. Vì đây không phải là một hướng dẫn toán học tiên tiến, chúng tôi đã giành chiến thắng thảo luận về các cơ chế của số học phức tạp. Thay vào đó, đây là một số ví dụ về việc sử dụng các số phức tạp với các toán tử số học:

>>>

>>> 200000000000000000.0
2e+17
0

Thật thú vị, mặc dù không có gì đáng ngạc nhiên từ quan điểm toán học, các đối tượng

>>> 200000000000000000.0
2e+17
4 và
>>> n = 2e400
>>> n
inf
>>> type(n)

6 cũng có các thuộc tính
>>> float("1.25")
1.25
76 và
>>> float("1.25")
1.25
77 cũng như phương pháp
>>> float("1.25")
1.25
78:

>>>

>>> 200000000000000000.0
2e+17
1

Thật thú vị, mặc dù không có gì đáng ngạc nhiên từ quan điểm toán học, các đối tượng

>>> 200000000000000000.0
2e+17
4 và
>>> n = 2e400
>>> n
inf
>>> type(n)

6 cũng có các thuộc tính
>>> float("1.25")
1.25
76 và
>>> float("1.25")
1.25
77 cũng như phương pháp
>>> float("1.25")
1.25
78:

Đối với phao và số nguyên,

>>> float("1.25")
1.25
76 và
>>> float("1.25")
1.25
78 luôn tự trả lại số và
>>> float("1.25")
1.25
77 luôn trả về
>>> 1000000
1000000

>>> 1_000_000
1000000
54. Tuy nhiên, một điều cần chú ý là
>>> float("1.25")
1.25
91 và
>>> float("1.25")
1.25
92 Trả về số nguyên nếu
>>> 1000000
1000000

>>> 1_000_000
1000000
89 là một số nguyên và nổi nếu
>>> 1000000
1000000

>>> 1_000_000
1000000
89 là một chiếc phao.

Bây giờ bạn đã nhìn thấy những điều cơ bản của các con số phức tạp, bạn có thể tự hỏi khi nào bạn cần phải sử dụng chúng. Nếu bạn đang học Python để phát triển web, khoa học dữ liệu hoặc lập trình mục đích chung, thì sự thật là bạn có thể không bao giờ cần sử dụng các số phức tạp.

Mặt khác, các số phức tạp rất quan trọng trong các lĩnh vực như điện toán khoa học và đồ họa máy tính. Nếu bạn từng làm việc trong các miền đó, thì bạn có thể thấy Python, hỗ trợ tích hợp cho các số phức tạp hữu ích.

Kết luận: Số trong Python

Trong hướng dẫn này, bạn đã học được tất cả về việc làm việc với các con số trong Python. Bạn đã thấy rằng có hai loại số cơ bản của các số con số và số điểm nổi, và Python cũng có hỗ trợ tích hợp cho các số phức tạp.

  • Trong hướng dẫn này, bạn đã học được:arithmetic operators
  • Cách thực hiện số học cơ bản với các số sử dụng các toán tử số học Pythonarithmetic expressions using PEP 8 best practices
  • Cách viết các biểu thức số học bằng cách sử dụng các thực tiễn tốt nhất của PEPfloating-point numbers are and why they may not always be 100 percent accurate
  • Số điểm nổi là gì và tại sao chúng có thể không phải lúc nào cũng chính xác 100 %round numbers with
    >>> type(1.0)
    
    
    51
  • Cách làm tròn số với
    >>> type(1.0)
    
    
    51complex numbers are and how they’re supported in Python

Những con số phức tạp là gì và cách họ hỗ trợ trong Python

Bất kể mức độ thoải mái của bạn với các số và toán học, giờ đây bạn đã sẵn sàng để thực hiện tất cả các loại tính toán trong mã Python của bạn. Bạn có thể sử dụng kiến ​​thức này để giải quyết một loạt các vấn đề mà bạn sẽ gặp phải trong sự nghiệp lập trình của mình.

Đọc thêm

  • Để biết thêm thông tin về số và toán học trong Python, hãy xem các tài nguyên này:
  • Các loại dữ liệu cơ bản trong Python
  • Mô -đun toán học Python: Mọi thứ bạn cần biết
  • Cách làm tròn số trong Python