1e 3 có nghĩa là gì trong Python?

Chào các bạn. tôi đã trở lại. Hy vọng rằng tôi không quá phiền phức trong thời gian tới, nhưng tôi thực sự thích học viết mã. Khóa học tôi hiện đang tham gia ở Uni sử dụng đoạn mã sau để minh họa so sánh các số/chuỗi. Khối duy nhất mà tôi thực sự gặp khó khăn là phần tôi đã phác thảo bằng một nhận xét (khối EPSILON). Ai có thể giải thích cho tôi chuyện gì đang xảy ra ở đó không?

Cảm ơn

##
# This program demonstrates comparisons of numbers and strings
#

from math import sqrt

# Comparing integers
m = 2
n = 4

if m * m == n :
    print ("2 times 2 is four.")

# Comparing floating point numbers
x = sqrt(2)
y = 2.0

if x * x == y :
    print ("sqrt(2) times sqrt(2) is 2")
else :
    print ("sqrt(2) times sqrt(2) is not two but %.18f" % (x * x)) #%.18f shows the whole number + 18 decimal spaces

# Not understanding this next block. What is EPSILON? What does 1E-14 equal?
EPSILON = 1E-14 
if abs(x * x - y) < EPSILON : # Not fully understanding the abs function
    print("sqrt(2) times sqrt(2) is approximately 2") 

# Comparing strings
s = "120"
t = "20"

if s == t :
    comparison = "is the same as"
else :
    comparison = "is not the same as"

print ("The string '%s' %s the string '%s'." % (s, comparison, t))

u = "1" + t
if s != u :
    comparison = "not "
else :
    comparison = ""

print ("The strings '%s' and '%s' are %sidentical." % (s, u, comparison))

Chào Ryan,

Đối với những câu hỏi đơn giản như “abs() làm gì?”
là trợ giúp tương tác trong trình thông dịch Python

help(abs)

mà nên hiển thị một cái gì đó như

Help on built-in function abs in module builtins:
abs(x, /)
    Return the absolute value of the argument.

Bạn có thể dùng thử trong trình thông dịch

abs(3.5)   # returns 3.5
abs(-3.5)  # also returns 3.5

hoặc đọc các tài liệu trực tuyến

Đối với epsilon bí ẩn,

EPSILON = 1E-14

nếu bạn quen thuộc với máy tính khoa học, bạn có thể nhớ
nhìn thấy một nút có thể được gọi là “E” (đối với Số mũ hoặc số mũ
ký hiệu). Con số sau E cho bạn biết có bao nhiêu nơi để di chuyển
dấu thập phân

1E5 --> 1.000000E5
move the decimal point five places to the right
--> 100000.0

1E-5 --> 000001.0E5
move the decimal point five places to the left
--> 0.00001

Kí hiệu E là cách viết tắt để nhân với 10 lũy thừa đã cho

1E-14 == 1.0 * 10**-14

Cái tên “epsilon” là một chút biệt ngữ toán học. Epsilon là tiếng Hy Lạp
chữ cái cho “E”, và vì lý do lịch sử, các nhà toán học sử dụng tiếng Hy Lạp
epsilon ε để đại diện cho “một lượng nhỏ”

Vậy phương trình này

if abs(x * x - y) < EPSILON    

kiểm tra xem sự khác biệt giữa x bình phương (x lần x) và y có nhỏ hơn không
hơn “một lượng nhỏ” (1e-14), và nếu có, nó sẽ in thông báo rằng
theo sau

Trước khi bạn tiếp tục, hãy lưu ý rằng số 1e-3 ở dạng ký hiệu khoa học, còn được gọi là dạng chuẩn. Dùng để viết số lớn hoặc số nhỏ theo cách khác. Trong số 1e-3, các số được xác định như sau

1 = hệ số
e = 10 lũy thừa của
-3 = số mũ

Ký hiệu khoa học 1e-3 giống như 1 x 10^-3 hoặc 1 x 10-3. Do đó, để có được câu trả lời cho 1e-3 dưới dạng số thập phân, chúng ta nhân 1 với 10 với lũy thừa của -3

Bạn không cần phải là một chuyên gia toán học để lập trình tốt. Sự thật là, ít lập trình viên cần biết nhiều hơn đại số cơ bản. Tất nhiên, bạn cần biết bao nhiêu môn toán tùy thuộc vào ứng dụng mà bạn đang làm việc. Nói chung, trình độ 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ù toán học và lập trình máy tính không tương quan với nhau 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ệ

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

  • Tạo số nguyên và số dấu phẩy động
  • Làm tròn số đến một số chữ số thập phân cho trước
  • Định dạng và hiển thị số trong chuỗi

Bắt đầu nào

Ghi chú. Hướng dẫn này được điều chỉnh từ chương “Số và Toán” trong Python Basics. Giới thiệu thực tế về Python 3. Nếu bạn thích một khóa học video, thì hãy xem Python Basics. Số và Toán

Cuốn sách sử dụng trình soạn thảo IDLE tích hợp sẵn của Python để tạo và chỉnh sửa các tệp Python cũng như tương tác với trình bao Python, vì vậy bạn sẽ thấy các tham chiếu đến các công cụ sửa lỗi tích hợp sẵn của IDLE trong suốt hướng dẫn này. Tuy nhiên, bạn sẽ không gặp vấn đề gì khi chạy mã ví dụ từ trình chỉnh sửa và môi trường bạn chọn

Tiền thưởng miễn phí. 5 Suy nghĩ về Làm chủ Python, một khóa học miễn phí dành cho các nhà phát triển Python cho bạn thấy lộ trình và tư duy mà bạn sẽ cần để đưa các kỹ năng Python của mình lên một tầm cao mới

Số nguyên và số dấu phẩy động

Python có ba kiểu 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, đây là hai loại số được sử dụng phổ biến nhất. Bạn sẽ học về số phức trong

Loại bỏ các quảng cáo

số nguyên

Một số nguyên là một số nguyên không có chữ số thập phân. Ví dụ,

>>> 200000000000000000.0
2e+17
4 là một số nguyên, nhưng
>>> 200000000000000000.0
2e+17
5 thì không. Tên của kiểu dữ liệu số nguyên là
>>> 200000000000000000.0
2e+17
6, bạn có thể thấy tên này với
>>> 200000000000000000.0
2e+17
7

>>>

>>> 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 đây gán số nguyên

>>> 200000000000000000.0
2e+17
8 cho biến
>>> 200000000000000000.0
2e+17
9

>>>

>>> num = 25

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

>>> 200000000000000000.0
2e+17
8 được gọi là số nguyên theo nghĩa đen vì số nguyên được nhập vào mã theo nghĩa đen

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

>>> 1e-4
0.0001
1. Ví dụ: phần sau chuyển đổi chuỗi
>>> 1e-4
0.0001
2 thành số nguyên
>>> 200000000000000000.0
2e+17
8

>>>

>>> int("25")
25

>>> 1e-4
0.0001
4 không phải là số nguyên bằng chữ vì giá trị số nguyên được tạo từ một chuỗi

Khi bạn viết các số lớn bằng tay, bạn thường nhóm các chữ số thành nhóm ba số đượ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 rất nhiều

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

>>> 1e-4
0.0001
5). Cả hai cách sau đều là những cách hợp lệ để biểu diễn số một triệu dưới dạng một số nguyên

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000

Không có giới hạn về độ lớn của một số nguyên, điều này có thể gây ngạc nhiên khi máy tính có bộ nhớ hữu hạn. Hãy thử nhập số lớn nhất mà bạn có thể nghĩ đến vào cửa sổ tương tác của IDLE. Python có thể xử lý nó mà không gặp vấn đề gì

Số dấu phẩy động

Số dấu phẩy động, hay viết tắt là float, là một số có một chữ số thập phân.

>>> 200000000000000000.0
2e+17
5 là một số dấu chấm động, cũng như
>>> 1e-4
0.0001
7. Tên của kiểu dữ liệu dấu phẩy động là
>>> 1e-4
0.0001
8

>>>

>>> type(1.0)

Giống như số nguyên, số float có thể được tạo từ các ký tự dấu phẩy động hoặc bằng cách chuyển đổi một chuỗi thành số float với

>>> 1e-4
0.0001
9

>>>

>>> float("1.25")
1.25

Có ba cách để biểu diễn một dấu chấm động theo nghĩa đen. Mỗi điều sau đây tạo ra một chữ số dấu phẩy động với giá trị một triệu

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0

Hai cách đầu tương tự như hai kỹ thuật tạo số nguyên. Cách tiếp cận thứ ba sử dụng ký hiệu E để tạo một chữ nổi

Ghi chú. Ký hiệu E là viết tắt của ký hiệu hàm mũ. Bạn có thể đã thấy ký hiệu này được máy tính sử dụng để biểu thị các số quá lớn để vừa trên màn hình

Để viết một chữ float trong ký hiệu E, hãy nhập một số theo sau là chữ cái

>>> 2e400
inf
0 và sau đó là một số khác. Python lấy số ở bên trái của
>>> 2e400
inf
0 và nhân nó với
>>> 2e400
inf
2 được nâng lên thành lũy thừa của số sau
>>> 2e400
inf
0. Vì vậy,
>>> 2e400
inf
4 tương đương với 1×10⁶

Python cũng sử dụng ký hiệu E để hiển thị số dấu phẩy động lớn

>>>

>>> 200000000000000000.0
2e+17

Phao

>>> 2e400
inf
5 được hiển thị là
>>> 2e400
inf
6. Dấu hiệu
>>> 2e400
inf
7 cho biết số mũ
>>> 2e400
inf
8 là một số dương. Bạn cũng có thể sử dụng số âm làm số mũ

>>>

>>> 1e-4
0.0001

Chữ

>>> 2e400
inf
9 được hiểu là
>>> 2e400
inf
2 được nâng lên lũy thừa
>>> num = 25
01, tức là 1/10000, hoặc
>>> num = 25
02

Không giống như số nguyên, số float có kích thước tối đa. Số dấu phẩy động tối đa phụ thuộc vào hệ thống của bạn, nhưng một cái gì đó như

>>> num = 25
03 phải vượt quá khả năng của hầu hết các máy.
>>> num = 25
03 là 2×10⁴⁰⁰, lớn hơn nhiều so với

Khi bạn đạt đến số dấu phẩy động lớn nhất, Python trả về một giá trị float đặc biệt,

>>> num = 25
05

>>>

>>> 2e400
inf

>>> num = 25
05 là viết tắt của vô cực và điều đó chỉ có nghĩa là số bạn đã cố tạo vượt quá giá trị dấu phẩy động tối đa cho phép trên máy tính của bạn. Loại
>>> num = 25
05 vẫn là
>>> 1e-4
0.0001
8

>>>

>>> num = 25
0

Python cũng sử dụng

>>> num = 25
09, viết tắt của âm vô cực và biểu thị số dấu phẩy động âm vượt quá số dấu phẩy động tối thiểu được phép trên máy tính của bạn

>>>

>>> num = 25
1

Bạn có thể sẽ không gặp

>>> num = 25
05 và
>>> num = 25
09 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

Tập thể dục. Hai cách để viết số nguyênHiện/Ẩn

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

>>> num = 25
12 và
>>> num = 25
13. Cả
>>> num = 25
12 và
>>> num = 25
13 phải được gán số nguyên bằng chữ
>>> num = 25
16, một số được viết với dấu gạch dưới và một số không có. In
>>> num = 25
12 và
>>> num = 25
13 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

Giải pháp. Hai cách để viết số nguyênHiện/Ẩn

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

>>> num = 25
16 cho
>>> num = 25
12 mà không có bất kỳ dấu gạch dưới nào

>>> num = 25
2

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

>>> num = 25
21 cho biến
>>> num = 25
13

>>> num = 25
3

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

>>> num = 25
23

>>> num = 25
4

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

>>> num = 25
5

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

>>> num = 25
16, nhưng việc viết giá trị bằng cách sử dụng dấu gạch dưới để nhóm các chữ số giúp con người dễ dàng nhanh chóng tìm ra số đó là gì. Không còn phải nheo mắt nhìn vào màn hình và cố gắng đếm số không

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

Loại bỏ các quảng cáo

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

Trong phần này, bạn sẽ học cách thực hiện các phép tính số học cơ bản, chẳng hạn như cộng, trừ, nhân và chia với các số trong Python. Đồng thờ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

Phép cộng được thực hiện với toán tử

>>> 2e400
inf
7

>>>

>>> num = 25
6

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

>>> 2e400
inf
7 được gọi là toán hạng. Trong ví dụ trên, cả hai toán hạng đều là số nguyên, nhưng toán hạng không cần phải cùng kiểu

Bạn có thể thêm

>>> 200000000000000000.0
2e+17
6 vào
>>> 1e-4
0.0001
8 mà không gặp vấn đề gì

>>>

>>> num = 25
7

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

>>> num = 25
29 là
>>> num = 25
30, là một
>>> 1e-4
0.0001
8. Bất cứ khi nào một
>>> 1e-4
0.0001
8 được thêm vào một số, kết quả sẽ là một số khác
>>> 1e-4
0.0001
8. Cộng hai số nguyên với nhau luôn cho kết quả là
>>> 200000000000000000.0
2e+17
6

Ghi chú. tách cả hai toán hạng khỏi một toán tử bằng một khoảng trắng

Python có thể đánh giá tốt

>>> num = 25
35, nhưng
>>> num = 25
36 là định dạng ưa thích vì nó thường dễ đọc hơn. Quy tắc ngón tay cái này áp dụng cho tất cả các toán tử trong phần này

phép trừ

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

>>> num = 25
37 giữa chúng

>>>

>>> num = 25
8

Cũng giống như cộng hai số nguyên, trừ hai số nguyên luôn cho kết quả là

>>> 200000000000000000.0
2e+17
6. Bất cứ khi nào một trong các toán hạng là một
>>> 1e-4
0.0001
8, thì kết quả cũng là một
>>> 1e-4
0.0001
8

Toán tử

>>> num = 25
37 cũng được sử dụng để biểu thị các số âm

>>>

>>> num = 25
9

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

>>>

>>> int("25")
25
0

Trong bốn ví dụ trên, ví dụ đầu tiên tuân thủ PEP 8 nhất. Như đã nói, bạn có thể bao quanh

>>> num = 25
42 bằng dấu ngoặc đơn để làm rõ hơn rằng
>>> num = 25
37 thứ hai đang sửa đổi
>>> num = 25
44

>>>

>>> int("25")
25
1

Sử dụng dấu ngoặc đơn là một ý kiến ​​hay 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à dễ hiểu hơn đều là một điều tốt

Loại bỏ các quảng cáo

Phép nhân

Để nhân hai số, hãy sử dụng toán tử

>>> num = 25
45

>>>

>>> int("25")
25
2

Loại số bạn nhận được từ phép nhân tuân theo các quy tắc giống như phép cộng và phép trừ. Nhân hai số nguyên sẽ cho kết quả là

>>> 200000000000000000.0
2e+17
6 và nhân một số với một số
>>> 1e-4
0.0001
8 sẽ cho kết quả là
>>> 1e-4
0.0001
8

Phân công

Toán tử

>>> num = 25
49 dùng để chia hai số

>>>

>>> int("25")
25
3

Không giống như phép cộng, phép trừ và phép nhân, phép chia với toán tử

>>> num = 25
49 luôn trả về một ____17_______8. Nếu bạn muốn chắc chắn rằng bạn nhận được một số nguyên sau khi chia hai số, bạn có thể sử dụng
>>> 1e-4
0.0001
1 để chuyển đổi kết quả

>>>

>>> int("25")
25
4

Hãy nhớ rằng

>>> 1e-4
0.0001
1 loại bỏ bất kỳ phần phân số nào của số

>>>

>>> int("25")
25
5

>>> num = 25
54 trả về số dấu phẩy động
>>> num = 25
55 và
>>> num = 25
56 trả về số nguyên
>>> num = 25
57 với ____15____58 đã bị xóa

phép chia số nguyên

Nếu việc viết

>>> num = 25
59 có vẻ hơi dài với bạn, Python cung cấp một toán tử chia thứ hai được gọi là toán tử chia số nguyên (
>>> num = 25
60), còn được gọi là toán tử chia sàn

>>>

>>> int("25")
25
6

Toán tử

>>> num = 25
60 trước tiên chia số bên trái cho số bên phải rồi làm tròn xuống một số nguyên. Điều này có thể không mang lại giá trị mà bạn mong đợi khi một trong các số là số âm

Ví dụ,

>>> num = 25
62 trả về
>>> num = 25
63. Đầu tiên,
>>> num = 25
42 được chia cho
>>> num = 25
57 để có được
>>> num = 25
66. Sau đó,
>>> num = 25
66 được làm tròn xuống thành
>>> num = 25
63. Mặt khác,
>>> num = 25
69 trả về
>>> 200000000000000000.0
2e+17
4 vì cả hai số đều dương

Ví dụ trên cũng minh họa rằng

>>> num = 25
60 trả về một số dấu phẩy động khi một trong các toán hạng là
>>> 1e-4
0.0001
8. Đây là lý do tại sao
>>> num = 25
73 trả về số nguyên
>>> num = 25
44 và
>>> num = 25
75 trả về
>>> 1e-4
0.0001
8
>>> num = 25
77

Hãy xem điều gì sẽ xảy ra khi bạn cố gắng chia một số cho

>>> num = 25
78

>>>

>>> int("25")
25
7

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

>>> num = 25
79, cho bạn biết rằng bạn vừa cố gắng phá vỡ một quy tắc cơ bản của vũ trụ

Loại bỏ các quảng cáo

số mũ

Bạn có thể nâng một số lên lũy thừa bằng cách sử dụng toán tử

>>> num = 25
80

>>>

>>> int("25")
25
8

Số mũ không nhất thiết phải là số nguyên. Chúng cũng có thể là phao

>>>

>>> int("25")
25
9

Nâng một số lên lũy thừa của

>>> num = 25
81 cũng 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
>>> num = 25
82 là một số nguyên, nhưng Python trả về
>>> 1e-4
0.0001
8
>>> num = 25
30

Đối với toán hạng dương, toán tử

>>> num = 25
80 trả về giá trị
>>> 200000000000000000.0
2e+17
6 nếu cả hai toán hạng đều là số nguyên và giá trị
>>> 1e-4
0.0001
8 nếu bất kỳ một trong các toán hạng là số dấu phẩy động

Bạn cũng có thể nâng số lên lũy thừa âm

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
0

Nâng một số lên lũy thừa âm cũng giống như chia

>>> 200000000000000000.0
2e+17
4 cho số đã nâng lên lũy thừa dương. Vì vậy,
>>> num = 25
89 giống như
>>> num = 25
90, cũng giống như
>>> num = 25
91 hoặc
>>> num = 25
81. Tương tự,
>>> num = 25
93 giống với
>>> num = 25
94, giống với
>>> num = 25
95 hoặc
>>> num = 25
96

Toán tử mô đun

Toán tử

>>> num = 25
97, hoặc mô đun, trả về phần còn lại của phép chia toán hạng bên trái cho toán hạng bên phải

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
1

>>> num = 25
44 chia một lần cho ____15_______99 với số dư là ____15_______57, vì vậy ____20_______01 là ____15_______57. Tương tự,
>>> int("25")
25
03 chia
>>> int("25")
25
04 hai lần với số dư là
>>> int("25")
25
05. Trong ví dụ trước,
>>> int("25")
25
06 chia hết cho
>>> int("25")
25
07, vì vậy
>>> int("25")
25
08 là
>>> num = 25
78. Bất cứ khi nào số bên trái của
>>> num = 25
97 chia hết cho số bên phải, kết quả là
>>> num = 25
78

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

>>> num = 25
97 là để xác định xem một số có chia hết cho số khác hay không. Ví dụ, một số
>>> int("25")
25
13 là số chẵn khi và chỉ khi
>>> int("25")
25
14 là
>>> num = 25
78. Bạn nghĩ gì về lợi nhuận của
>>> int("25")
25
16?

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
2

Điều này hợp lý vì

>>> int("25")
25
16 cho số dư của phép chia
>>> 200000000000000000.0
2e+17
4 cho
>>> num = 25
78. Nhưng bạn không thể chia
>>> 200000000000000000.0
2e+17
4 cho
>>> num = 25
78, vì vậy Python sẽ tăng
>>> num = 25
79

Ghi chú. Khi bạn làm việc trong cửa sổ tương tác của IDLE, các lỗi như

>>> num = 25
79 không gây ra nhiều vấn đề. Lỗi được hiển thị và một lời nhắc mới bật lên, cho phép bạn tiếp tục viết mã

Tuy nhiên, khi Python gặp lỗi trong khi chạy tập lệnh, quá trình thực thi sẽ dừng lại. Nói cách khác, chương trình bị treo. Trong chương 8 của Kiến thức cơ bản về Python, bạn sẽ học cách xử lý lỗi để chương trình của bạn không gặp sự cố bất ngờ

Mọi thứ trở nên phức tạp hơn một chút khi bạn sử dụng toán tử

>>> num = 25
97 với các số âm

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
3

Mặc dù thoạt nhìn có thể gây sốc, nhưng những kết quả này là sản phẩm của một hành vi được xác định rõ ràng trong Python. Để tính số dư

>>> int("25")
25
25 của phép chia một số
>>> int("25")
25
26 cho một số
>>> int("25")
25
27, Python sử dụng phương trình
>>> int("25")
25
28

Ví dụ, để tìm

>>> int("25")
25
29, đầu tiên Python tìm
>>> int("25")
25
30. Vì
>>> int("25")
25
31 là khoảng
>>> int("25")
25
32, điều đó có nghĩa là
>>> int("25")
25
33 là
>>> num = 25
63. Bây giờ Python nhân số đó với
>>> num = 25
42 để có được
>>> int("25")
25
05. Cuối cùng, Python trừ
>>> int("25")
25
05 từ
>>> num = 25
99 để nhận được
>>> int("25")
25
39

Loại bỏ các quảng cáo

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ị

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

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
4

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, bạn có thể đã học các quy tắc này dưới tên gọi thứ tự các phép toán

Các toán tử

>>> num = 25
45,
>>> num = 25
49,
>>> num = 25
60 và
>>> num = 25
97 đều có mức độ ưu tiên hoặc mức độ ưu tiên như nhau trong một biểu thức và mỗi toán tử này có mức độ ưu tiên cao hơn các toán tử
>>> 2e400
inf
7 và
>>> num = 25
37. Đây là lý do tại sao
>>> int("25")
25
46 trả về
>>> num = 25
99 chứ không phải
>>> int("25")
25
48.
>>> int("25")
25
49 được đánh giá trước, bởi vì
>>> num = 25
45 có độ ưu tiên cao hơn toán tử
>>> num = 25
37

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 khoảng trắng ở hai bên của tất cả các toán tử. PEP 8 nói như sau về khoảng trắng trong các biểu thức phức tạp

Nếu các toán tử có mứ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 toán tử có (các) mức độ ưu tiên thấp nhất. Sử dụng phán đoán của riêng bạn; . ()

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

>>> int("25")
25
52 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ĩ

>>> int("25")
25
53 là gì? . Hãy thử điều này trong cửa sổ tương tác

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
5

Đó cũng là. . . gần đúng. Cái quái gì đang xảy ra thế này?

Không, nó không phải là một lỗi. Đó là lỗi biểu diễn dấu phẩy động và không liên quan gì đến Python. Nó liên quan đến cách các số dấu phẩy động được lưu trữ trong bộ nhớ của máy tính

Ghi chú. Hướng dẫn này được điều chỉnh từ chương “Số và Toán” trong Python Basics. Giới thiệu thực tế về Python 3. Nếu bạn thích những gì bạn đang đọc, thì hãy nhớ xem phần còn lại của cuốn sách

Số

>>> int("25")
25
55 có thể được biểu diễn dưới dạng phân số
>>> int("25")
25
56. Cả số
>>> int("25")
25
55 và phân số của nó
>>> int("25")
25
56 đều là biểu diễn thập phân hoặc biểu diễn cơ số 10. Tuy nhiên, máy tính lưu trữ các số dấu phẩy động trong biểu diễn cơ số 2, thường được gọi là biểu diễn nhị phân

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

>>> int("25")
25
55. Phân số
>>> int("25")
25
60 không có biểu diễn thập phân hữu hạn. Tức là,
>>> int("25")
25
61 với vô số số 3 sau dấu thập phân. Điều tương tự cũng xảy ra với phân số
>>> int("25")
25
56 trong hệ nhị phân

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

>>> int("25")
25
56 là phân số lặp lại vô tận sau đây

>>> 1000000
1000000

>>> 1_000_000
1000000
6

Máy tính có bộ nhớ hữu hạn, vì vậy số

>>> int("25")
25
55 phải được lưu trữ dưới dạng gần đúng chứ không phải giá trị thực của nó. Giá trị 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

>>> 1000000
1000000

>>> 1_000_000
1000000
7

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

>>> int("25")
25
55, Python sẽ in ra
>>> int("25")
25
55 chứ không phải giá trị gần đúng ở trên

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
8

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

>>> int("25")
25
55. Những gì thực sự xảy ra là một chút tinh tế hơn

Bởi vì xấp xỉ của

>>> int("25")
25
55 ở dạng nhị phân chỉ là—một xấp xỉ—hoàn toàn có thể có nhiều hơn một số thập phân có cùng một xấp xỉ nhị phân

Ví dụ: cả

>>> int("25")
25
55 và
>>> int("25")
25
70 đều có xấp xỉ nhị phân giống nhau. 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 tại sao, trong ví dụ đầu tiên của phần này,

>>> int("25")
25
53 không bằng
>>> int("25")
25
54. Python cộng các xấp xỉ nhị phân cho
>>> int("25")
25
55 và
>>> int("25")
25
74 lại với nhau, đưa ra một số không phải là xấp xỉ nhị phân cho
>>> int("25")
25
54

Nếu tất cả những điều này đang bắt đầu khiến đầu óc bạn quay cuồng, đừng lo lắng. Trừ khi bạn đang viết chương trình tài chính hoặc tính 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

Loại bỏ các quảng cáo

Hàm toán học và phương pháp số

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

  1. >>> int("25")
    25
    
    76, để làm tròn số đến một số chữ số thập phân
  2. >>> int("25")
    25
    
    77, để lấy giá trị tuyệt đối của một số
  3. >>> int("25")
    25
    
    78, vì đã nâng một số lên một số lũy thừa

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

Làm Tròn Số Với >>> int("25") 25 76

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

>>> int("25")
25
76 để làm tròn một số thành số nguyên gần nhất

>>>

>>> 1000000
1000000

>>> 1_000_000
1000000
9

>>> int("25")
25
76 có một số hành vi không mong muốn khi số kết thúc bằng
>>> num = 25
58

>>>

>>> type(1.0)

0

>>> num = 25
55 được làm tròn xuống thành _______15_______57 và _______20_______85 được làm tròn thành _______20_______48. Hầu hết mọi người mong đợi một số kết thúc bằng
>>> num = 25
58 sẽ được làm tròn lên, vì vậy hãy xem xét kỹ hơn những gì đang diễn ra ở đây

Python 3 làm tròn số theo một chiến lược gọi là. Hòa là bất kỳ số nào có chữ số cuối cùng là năm.

>>> num = 25
55 và
>>> int("25")
25
89 là hòa, nhưng
>>> int("25")
25
90 thì không

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

>>> num = 25
55 làm tròn xuống thành _______15_______57 và _______20_______85 làm tròn thành _______20_______48

Ghi chú. Làm tròn các liên kết thành số chẵn là chiến lược làm tròn được đề xuất cho các số có dấu phẩy động bởi IEEE (Viện Kỹ sư Điện và Điện tử) vì nó giúp hạn chế tác động của việc làm tròn đối với các hoạt động liên quan đến nhiều số

IEEE duy trì một tiêu chuẩn gọi là IEEE 754 để xử lý các số dấu phẩy động trên máy tính. Nó được xuất bản vào năm 1985 và vẫn được các nhà sản xuất phần cứng sử dụng phổ biến

Bạn có thể làm tròn một số đến một số vị trí thập phân nhất định bằng cách chuyển đối số thứ hai tới

>>> int("25")
25
76

>>>

>>> type(1.0)

1

Số

>>> int("25")
25
96 được làm tròn đến ba chữ số thập phân để được
>>> int("25")
25
97 và số ____20_______98 được làm tròn đến hai chữ số thập phân để được ____20_______99

Đối số thứ hai của

>>> int("25")
25
76 phải là số nguyên. Nếu không, thì Python sẽ tăng
>>> 1000000
1000000

>>> 1_000_000
1000000
01

>>>

>>> type(1.0)

2

Đôi khi

>>> int("25")
25
76 không nhận được câu trả lời hoàn toàn đúng

>>>

>>> type(1.0)

3

>>> 1000000
1000000

>>> 1_000_000
1000000
03 là hòa vì nó nằm chính xác ở giữa hai số
>>> 1000000
1000000

>>> 1_000_000
1000000
04 và
>>> 1000000
1000000

>>> 1_000_000
1000000
05. Vì Python làm tròn liên kết với số chẵn gần nhất, nên bạn sẽ mong đợi
>>> 1000000
1000000

>>> 1_000_000
1000000
06 trả về
>>> 1000000
1000000

>>> 1_000_000
1000000
05, nhưng thay vào đó, nó trả về
>>> 1000000
1000000

>>> 1_000_000
1000000
04. Lỗi này là kết quả của lỗi biểu diễn dấu phẩy động, không phải lỗi trong
>>> int("25")
25
76

Xử lý các số dấu phẩy động có thể gây khó chịu, nhưng sự thất vọng này không dành riêng cho Python. Tất cả các ngôn ngữ triển khai tiêu chuẩn dấu chấm động IEEE đều có cùng một vấn đề, bao gồm C/C++, Java và JavaScript

Tuy nhiên, trong hầu hết các trường hợp, các lỗi nhỏ gặp phải với số dấu phẩy động là không đáng kể và kết quả của

>>> int("25")
25
76 hoàn toàn hữu ích

Loại bỏ các quảng cáo

Tìm Giá Trị Tuyệt Đối Với >>> int("25") 25 77

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

>>> num = 25
44 là
>>> num = 25
44, trong khi giá trị tuyệt đối của
>>> 1000000
1000000

>>> 1_000_000
1000000
14 là
>>> num = 25
99

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

>>>

>>> type(1.0)

4

>>> int("25")
25
77 luôn trả về một số dương cùng loại với đối số của nó. Nghĩa 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 số float luôn là một số float dương

Nâng cao sức mạnh với >>> int("25") 25 78

Trước đó, bạn đã học cách nâng một số lên lũy thừa bằng cách sử dụng toán tử

>>> num = 25
80. Bạn cũng có thể sử dụng
>>> int("25")
25
78 để đạt được kết quả tương tự

>>> int("25")
25
78 có hai đối số. Đối số đầu tiên là cơ số hoặc số sẽ được nâng lên thành lũy thừa và đối số thứ hai là số mũ hoặc lũy thừa mà số sẽ được nâng lên

Ví dụ: những điều sau đây sử dụng

>>> int("25")
25
78 để nâng
>>> num = 25
57 lên số mũ
>>> num = 25
44

>>>

>>> type(1.0)

5

Cũng giống như với

>>> num = 25
80, số mũ trong
>>> int("25")
25
78 có thể âm

>>>

>>> type(1.0)

6

Vì vậy, sự khác biệt giữa

>>> num = 25
80 và
>>> int("25")
25
78 là gì?

Hàm

>>> int("25")
25
78 chấp nhận một đối số thứ ba tùy chọn để tính số đầu tiên được nâng lên lũy thừa của số thứ hai, sau đó lấy modulo đối với số thứ ba. Nói cách khác,
>>> 1000000
1000000

>>> 1_000_000
1000000
30 tương đương với
>>> 1000000
1000000

>>> 1_000_000
1000000
31

Đây là một ví dụ trong đó

>>> 1000000
1000000

>>> 1_000_000
1000000
32,
>>> 1000000
1000000

>>> 1_000_000
1000000
33 và
>>> 1000000
1000000

>>> 1_000_000
1000000
34

>>>

>>> type(1.0)

7

Đầu tiên,

>>> num = 25
57 được nâng lên lũy thừa
>>> num = 25
44 để nhận được
>>> int("25")
25
07. Khi đó tính được
>>> 1000000
1000000

>>> 1_000_000
1000000
38, tức là
>>> num = 25
78 vì
>>> num = 25
57 chia hết cho
>>> int("25")
25
07

Kiểm tra xem một Float có tích phân không

Bạn có thể quen thuộc với như

>>> 1000000
1000000

>>> 1_000_000
1000000
42,
>>> 1000000
1000000

>>> 1_000_000
1000000
43 và
>>> 1000000
1000000

>>> 1_000_000
1000000
44. Số nguyên và số dấu phẩy động cũng có phương thức

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

>>> 1000000
1000000

>>> 1_000_000
1000000
45 trả về
>>> 1000000
1000000

>>> 1_000_000
1000000
46 nếu số đó là số nguyên—có nghĩa là nó không có phần phân số—và nếu không thì trả về
>>> 1000000
1000000

>>> 1_000_000
1000000
47

>>>

>>> type(1.0)

8

Một lần sử dụng cho

>>> 1000000
1000000

>>> 1_000_000
1000000
45 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 cửa hàng bánh pizza, thì bạn sẽ muốn kiểm tra xem số lượng bánh pizza mà khách hàng nhập vào có phải là một số nguyên không.

Các hàm

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

Để 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

Tập thể dục. Làm tròn một số thành hai chữ sốHiển thị/Ẩn

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

>>> type(1.0)

9

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

Giải pháp. Làm tròn một số thành hai chữ sốHiển thị/Ẩn

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

>>> 1000000
1000000

>>> 1_000_000
1000000
52

>>> float("1.25")
1.25
0

Lưu ý khoảng trắng ở cuối chuỗi dấu nhắc. Điều này đảm bảo có khoảng cách giữa văn bản do người dùng nhập khi họ bắt đầu nhập và dấu hai chấm trong lời nhắc

Giá trị được trả về bởi

>>> 1000000
1000000

>>> 1_000_000
1000000
52 là một chuỗi, vì vậy bạn cần chuyển đổi nó thành số float trước khi bạn có thể làm tròn số

>>> float("1.25")
1.25
1

Hãy nhớ rằng đoạn mã trên giả định rằng chuỗi

>>> 1000000
1000000

>>> 1_000_000
1000000
54 thực sự chứa một giá trị số chứ không phải bất kỳ loại văn bản nào khác

Ghi chú. Nếu

>>> 1000000
1000000

>>> 1_000_000
1000000
54 có chứa văn bản không phải là số, thì một
>>> 1000000
1000000

>>> 1_000_000
1000000
56 sẽ được nâng lên. Kiểm tra Ngoại lệ Python. Giới thiệu thông tin về cách xử lý các loại lỗi này

Bây giờ bạn có thể sử dụng

>>> int("25")
25
76 để làm tròn giá trị đến hai chữ số thập phân

>>> float("1.25")
1.25
2

Hãy nhớ rằng, đối số đầu tiên của

>>> int("25")
25
76 phải là số được làm tròn. Đối số thứ hai là số chữ số thập phân để làm tròn thành

Cuối cùng, bạn có thể in đầu ra bằng cách chèn

>>> 1000000
1000000

>>> 1_000_000
1000000
59 vào chuỗi f

>>> float("1.25")
1.25
3

>>> int("25")
25
76 là một cách tuyệt vời để làm tròn giá trị, nhưng nếu bạn chỉ làm tròn giá trị để hiển thị chúng, thì bạn có thể cân nhắc sử dụng các kỹ thuật được mô tả trong phần sau

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

Loại bỏ các quảng cáo

In số theo phong cách

Hiển thị số cho người dùng yêu cầu chèn số vào chuỗi. Bạn có thể làm điều này với chuỗi f bằng cách bao quanh một biến được gán cho một số bằng dấu ngoặc nhọn

>>>

>>> float("1.25")
1.25
4

Các dấu ngoặc nhọn đó hỗ trợ một cách đơn giản mà bạn có thể sử dụng để thay đổi hình thức của giá trị trong chuỗi được định dạng cuối cùng

Ví dụ: để định dạng giá trị của

>>> int("25")
25
13 trong ví dụ trên thành hai chữ số thập phân, hãy thay thế nội dung của dấu ngoặc nhọn trong chuỗi f bằng
>>> 1000000
1000000

>>> 1_000_000
1000000
62

>>>

>>> float("1.25")
1.25
5

Dấu hai chấm (

>>> 1000000
1000000

>>> 1_000_000
1000000
63) sau biến
>>> int("25")
25
13 chỉ ra rằng mọi thứ sau nó là một phần của đặc tả định dạng. Trong ví dụ này, đặc tả định dạng là
>>> 1000000
1000000

>>> 1_000_000
1000000
65

>>> 1000000
1000000

>>> 1_000_000
1000000
66 trong
>>> 1000000
1000000

>>> 1_000_000
1000000
65 làm tròn số đến hai chữ số thập phân và
>>> 1000000
1000000

>>> 1_000_000
1000000
68 yêu cầu Python hiển thị
>>> int("25")
25
13 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 chữ số thập phân, ngay cả khi số gốc có ít chữ số thập phân hơn

Khi

>>> 1000000
1000000

>>> 1_000_000
1000000
70, kết quả của
>>> 1000000
1000000

>>> 1_000_000
1000000
62 là
>>> 1000000
1000000

>>> 1_000_000
1000000
72. Cũng giống như với
>>> int("25")
25
76, Python làm tròn các liên kết chẵn khi định dạng số bên trong chuỗi. Vì vậy, nếu bạn thay thế
>>> 1000000
1000000

>>> 1_000_000
1000000
70 bằng
>>> 1000000
1000000

>>> 1_000_000
1000000
75, thì kết quả của
>>> 1000000
1000000

>>> 1_000_000
1000000
62 là
>>> 1000000
1000000

>>> 1_000_000
1000000
77

>>>

>>> float("1.25")
1.25
6

Để làm tròn đến một chữ số thập phân, hãy thay thế

>>> 1000000
1000000

>>> 1_000_000
1000000
66 bằng
>>> 1000000
1000000

>>> 1_000_000
1000000
79

>>>

>>> float("1.25")
1.25
7

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

>>>

>>> float("1.25")
1.25
8

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

>>> 1000000
1000000

>>> 1_000_000
1000000
80

>>>

>>> float("1.25")
1.25
9

Để làm tròn đến một số vị trí thập phân và cũng có thể nhóm theo hàng nghìn, hãy đặt

>>> 1000000
1000000

>>> 1_000_000
1000000
80 trước
>>> 1000000
1000000

>>> 1_000_000
1000000
82 trong thông số định dạng của bạn

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
0

Công cụ xác định

>>> 1000000
1000000

>>> 1_000_000
1000000
83 rất hữu ích để hiển thị các giá trị tiền tệ

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
1

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

>>> num = 25
97, được sử dụng để hiển thị tỷ lệ phần trăm. Tùy chọn
>>> num = 25
97 nhân một số với
>>> 1000000
1000000

>>> 1_000_000
1000000
86 và hiển thị số đó ở định dạng điểm cố định, theo sau là dấu phần trăm

Tùy chọn

>>> num = 25
97 phải luôn ở cuối thông số định dạng của bạn và bạn không thể kết hợp tùy chọn này với tùy chọn
>>> 1000000
1000000

>>> 1_000_000
1000000
68. Ví dụ:
>>> 1000000
1000000

>>> 1_000_000
1000000
89 hiển thị một số dưới dạng phần trăm với chính xác một chữ số thập phân

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
2

Ngôn ngữ định dạng nhỏ mạnh mẽ và rộng rãi. Bạn chỉ nhìn thấy những điều cơ bản ở đây. Để biết thêm thông tin, hãy xem

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

Tập thể dục. Hiển thị đơn vị tiền tệHiển thị/Ẩn

In số

>>> 1000000
1000000

>>> 1_000_000
1000000
90 dưới dạng đơn vị tiền tệ với hàng nghìn được nhóm theo dấu phẩy. Tiền tệ phải được hiển thị với hai chữ số thập phân và bắt đầu bằng ký hiệu đô la Mỹ

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

Giải pháp. Hiển thị đơn vị tiền tệHiển thị/Ẩn

Hãy xây dựng f-string của chúng ta từng bước một

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

>>> 1000000
1000000

>>> 1_000_000
1000000
90 mà không có bất kỳ định dạng nào trông như thế này

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
3

Điều này có vẻ hơi kỳ quặc, nhưng nó giúp bạn thiết lập để thêm các công cụ xác định định dạng

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

>>> 1000000
1000000

>>> 1_000_000
1000000
63) sau số
>>> 1000000
1000000

>>> 1_000_000
1000000
90, theo sau là chữ cái
>>> 1000000
1000000

>>> 1_000_000
1000000
68

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
4

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

>>> 1000000
1000000

>>> 1_000_000
1000000
66 vào giữa
>>> 1000000
1000000

>>> 1_000_000
1000000
63 và
>>> 1000000
1000000

>>> 1_000_000
1000000
68

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
5

Để hiển thị số có các chữ số được nhóm bằng dấu phẩy, hãy chèn dấu phẩy (

>>> 1000000
1000000

>>> 1_000_000
1000000
80) giữa dấu hai chấm (_______23_______63) và dấu chấm (
>>> 1000000
1000000

>>> 1_000_000
1000000
82)

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
6

Cuối cùng, thêm ký hiệu đô la (

>>> type(1.0)

01) vào đầu chuỗi để cho biết giá trị tính bằng đô la Mỹ

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
7

Chuỗi F chỉ là một cách để định dạng số để hiển thị. Hãy xem Hướng dẫn về các kỹ thuật định dạng chuỗi Python mới hơn để biết thêm nhiều cách đị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

Loại bỏ các quảng cáo

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. Mặc dù các số phức thường không xuất hiện bên ngoài các lĩnh vực điện toán khoa học và đồ họa máy tính, nhưng sự hỗ trợ của Python dành cho chúng là một trong những thế mạnh của nó

Nếu bạn đã từng học một lớp toán đại số hoặc toán sơ cấp bậc 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 ảo

Để tạo một số phức trong Python, bạn chỉ cần viết phần thực, sau đó là dấu cộng, sau đó là phần ảo với chữ j ở cuối

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
8

Khi bạn kiểm tra giá trị của

>>> int("25")
25
13, bạn sẽ nhận thấy rằng Python bao quanh số đó bằng dấu ngoặc đơn

>>>

>>> 1000000.0
1000000.0

>>> 1_000_000.0
1000000.0

>>> 1e6
1000000.0
9

Quy ước này giúp loại bỏ bất kỳ sự nhầm lẫn nào mà đầu ra được hiển thị có thể đại diện cho một chuỗi hoặc biểu thức toán học

Số ảo đi kèm với hai thuộc tính,

>>> type(1.0)

03 và
>>> type(1.0)

04, lần lượt trả về các thành phần thực và ảo của số

>>>

>>> 200000000000000000.0
2e+17
0

Lưu ý rằng Python trả về cả thành phần thực và ảo dưới dạng số float, mặc dù chúng được chỉ định là số nguyên

Số phức cũng có phương thức

>>> type(1.0)

05 trả về liên hợp phức của số

>>>

>>> 200000000000000000.0
2e+17
1

Đối với bất kỳ số phức nào, liên hợp của nó là số phức có cùng phần thực và phần ảo bằng nhau về giá trị tuyệt đối nhưng trái dấu. Vì vậy, trong trường hợp này, liên hợp phức tạp của

>>> type(1.0)

06 là
>>> type(1.0)

07

Các thuộc tính

>>> type(1.0)

03 và
>>> type(1.0)

04 không cần dấu ngoặc đơn sau chúng như
>>> type(1.0)

05

Phương thức

>>> type(1.0)

05 là một hàm thực hiện một hành động trên một số phức, trong khi đó,
>>> type(1.0)

03 và
>>> type(1.0)

04 không thực hiện bất kỳ hành động nào—chúng chỉ trả về một số thông tin về số đó

Sự khác biệt giữa các phương thức và thuộc tính là một khía cạnh quan trọng của lập trình hướng đối tượng

Ngoại trừ toán tử chia tầng (

>>> num = 25
60), tất cả các toán tử số học hoạt động với số thực và số nguyên cũng sẽ hoạt động với số phức. Vì đây không phải là hướng dẫn về toán nâng cao nên chúng tôi sẽ không thảo luận về 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 số phức với toán tử số học

>>>

>>> 200000000000000000.0
2e+17
2

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

>>> 200000000000000000.0
2e+17
6 và
>>> 1e-4
0.0001
8 cũng có các thuộc tính
>>> type(1.0)

03 và
>>> type(1.0)

04 cũng như phương thức
>>> type(1.0)

05

>>>

>>> 200000000000000000.0
2e+17
3

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

>>> type(1.0)

03 và
>>> type(1.0)

05 luôn trả về chính số đó và
>>> type(1.0)

04 luôn trả về
>>> num = 25
78. Tuy nhiên, một điều cần lưu ý là
>>> type(1.0)

24 và
>>> type(1.0)

25 trả về một số nguyên nếu
>>> int("25")
25
13 là một số nguyên và một số float nếu
>>> int("25")
25
13 là một số float

Bây giờ bạn đã thấy những kiến ​​thức cơ bản về số phức, bạn có thể tự hỏi khi nào bạn sẽ cần 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 cho mục đích chung, sự thật là bạn có thể không bao giờ cần sử dụng số phức

Mặt khác, số phức rất quan trọng trong các lĩnh vực như tính 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 hỗ trợ tích hợp sẵn của Python cho các số phức rất hữu ích

Loại bỏ các quảng cáo

Phần kết luận. Số trong Python

Trong hướng dẫn này, bạn đã học tất cả về cách làm việc với các số trong Python. Bạn đã thấy rằng có hai loại số cơ bản—số nguyên và số dấu phẩy động—và Python cũng có hỗ trợ sẵn cho các số phức

Trong hướng dẫn này, bạn đã học

  • Cách thực hiện số học cơ bản với các số bằng toán tử số học của Python
  • Cách viết các biểu thức số học bằng cách sử dụng các phương pháp hay nhất của PEP 8
  • Số dấu phẩy động 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 phần trăm
  • Cách làm tròn số với
    >>> int("25")
    25
    
    76
  • Số phức là gì và chúng được hỗ trợ như thế nào trong Python

Bất kể mức độ thoải mái của bạn với các con 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 phép tính trong mã Python của mình. Bạn có thể sử dụng kiến ​​thức này để giải quyết nhiều vấn đề mà bạn sẽ gặp phải trong sự nghiệp lập trình của mình

Ghi chú. Nếu bạn thích những gì bạn học được trong ví dụ này từ Python Basics. Giới thiệu thực tế về Python 3, thì hãy nhớ xem phần còn lại của cuốn sách

Đọc thêm

Để biết thêm thông tin về các con số và toán học trong Python, hãy xem các tài nguyên này

  • Các kiểu 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
  • Hàm căn bậc hai của Python

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

1e 3 có nghĩa là gì trong Python?

Gửi cho tôi thủ thuật Python »

Giới thiệu về David Amos

1e 3 có nghĩa là gì trong Python?
1e 3 có nghĩa là gì trong Python?

David là một nhà văn, lập trình viên và nhà toán học đam mê khám phá toán học thông qua mã

» Thông tin thêm về David


Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

1e 3 có nghĩa là gì trong Python?

Aldren

1e 3 có nghĩa là gì trong Python?

Joanna

1e 3 có nghĩa là gì trong Python?

Gia-cốp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

1e−03 nghĩa là gì?

1e 3 có nghĩa là gì trong máy tính?

1e-3 là cách một số máy tính nói 1×10^-3, có nghĩa là 1×0. 001 hoặc chỉ 0. 001.

1 e 5 trong Python là gì?

Đó là ký hiệu khoa học. Nó có nghĩa là 1 × 10 −5. Nói cách khác, 0. 00001.

1e5 trong Python là gì?

Không là gì ngoài ký hiệu khoa học. Điều đó có nghĩa là 1 × 10−5 . Nói cách khác, 0. 00001.