Ghi chú.
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48 trả về một dãy số bất biến có thể dễ dàng chuyển đổi thành danh sách, bộ dữ liệu, bộ, v.v.Cú pháp của dãy[]
Hàm
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48 có thể nhận tối đa ba đối sốrange[start, stop, step]
Các tham số
range[start, stop, step]
0 và range[start, stop, step]
1 trong # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48 là tùy chọnBây giờ, hãy xem cách
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48 hoạt động với số lượng đối số khác nhauví dụ 1. phạm vi [] với Đối số dừng
Nếu chúng ta chuyển một đối số duy nhất cho
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48, điều đó có nghĩa là chúng ta đang chuyển đối số range[start, stop, step]
5Trong trường hợp này,
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48 trả về một dãy số bắt đầu từ 0 cho đến số [nhưng không bao gồm số]# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
ví dụ 2. phạm vi [] với các đối số bắt đầu và dừng
Nếu chúng ta truyền hai đối số cho
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48, điều đó có nghĩa là chúng ta đang truyền các đối số range[start, stop, step]
0 và range[start, stop, step]
5Trong trường hợp này,
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48 trả về một dãy số bắt đầu từ range[start, stop, step]
0 [bao gồm] đến range[start, stop, step]
5 [không bao gồm]# numbers from 2 to 4 [5 is not included]
numbers = range[2, 5]
print[list[numbers]] # [2, 3, 4]
# numbers from -2 to 3 [4 is not included]
numbers = range[-2, 4]
print[list[numbers]] # [-2, -1, 0, 1, 2, 3]
# returns an empty sequence of numbers
numbers = range[4, 2]
print[list[numbers]] # []
ví dụ 3. phạm vi [] với các đối số Bắt đầu, Dừng và Bước
Nếu chúng ta vượt qua cả ba đối số,
- đối số đầu tiên là
0range[start, stop, step]
- đối số thứ hai là
5range[start, stop, step]
- đối số thứ ba là
1range[start, stop, step]
Đối số
range[start, stop, step]
1 chỉ định số tăng giữa hai số trong dãyrange[start, stop, step]
4Ghi chú. Giá trị mặc định của
range[start, stop, step]
0 là 0 và giá trị mặc định của range[start, stop, step]
1 là 1. Đó là lý do tại sao # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
9 tương đương với # numbers from 2 to 4 [5 is not included]
numbers = range[2, 5]
print[list[numbers]] # [2, 3, 4]
# numbers from -2 to 3 [4 is not included]
numbers = range[-2, 4]
print[list[numbers]] # [-2, -1, 0, 1, 2, 3]
# returns an empty sequence of numbers
numbers = range[4, 2]
print[list[numbers]] # []
0phạm vi [] trong vòng lặp
Hàm
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
48 thường được sử dụng trong vòng lặp for để lặp vòng lặp một số lần nhất định. Ví dụ, 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 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ẽ tìm hiểu về số phức trong phần sau
Loại bỏ các quảng cáosố nguyên
Một số nguyên là một số nguyên không có chữ số thập phân. Ví dụ,
range[start, stop, step]
94 là một số nguyên, nhưng range[start, stop, step]
95 thì không. Tên của kiểu dữ liệu số nguyên là range[start, stop, step]
96, bạn có thể thấy tên này với range[start, stop, step]
97>>>
range[start, stop, step]
3Bạ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
range[start, stop, step]
98 cho biến range[start, stop, step]
99>>>
range[start, stop, step]
6Khi bạn tạo một số nguyên như thế này, giá trị
range[start, stop, step]
98 được gọi là số nguyên theo nghĩa đen vì số nguyên được nhập vào mã theo nghĩa đenBạ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
range[start, stop, step]
81. Ví dụ: phần sau chuyển đổi chuỗi range[start, stop, step]
82 thành số nguyên range[start, stop, step]
98>>>
range[start, stop, step]
1range[start, stop, step]
84 không phải là số nguyên chữ vì giá trị số nguyên được tạo từ một chuỗiKhi 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 [
range[start, stop, step]
85]. 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>>>
range[start, stop, step]
4Khô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.
range[start, stop, step]
95 là một số dấu phẩy động, cũng như range[start, stop, step]
87. Tên của kiểu dữ liệu dấu phẩy động là range[start, stop, step]
88>>>
range[start, stop, step]
8Giố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
range[start, stop, step]
89>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
0Có 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
>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
1Hai 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
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
20 và sau đó là một số khác. Python lấy số ở bên trái của # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
20 và nhân nó với # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
22 nâng lên thành lũy thừa của số sau # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
20. Vì vậy, # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
24 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
>>>
range[start, stop, step]
9Phao
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
25 được hiển thị là # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
26. Dấu hiệu # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
27 cho biết số mũ # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
28 là một số dương. Bạn cũng có thể sử dụng số âm làm số mũ>>>
range[start, stop, step]
8# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
29 theo nghĩa đen được hiểu là # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
22 được nâng lên lũy thừa range[start, stop, step]
601, tức là 1/10000 hoặc range[start, stop, step]
602Khô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ư
range[start, stop, step]
603 phải vượt quá khả năng của hầu hết các máy. range[start, stop, step]
603 là 2×10⁴⁰⁰, nhiều hơn rất nhiều so với tổng số nguyên tử trong vũ trụKhi bạn đạt đến số dấu phẩy động tối đa, Python sẽ trả về một giá trị float đặc biệt,
range[start, stop, step]
605>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
2range[start, stop, step]
605 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 được phép trên máy tính của bạn. Kiểu của range[start, stop, step]
605 vẫn là range[start, stop, step]
88>>>
range[start, stop, step]
60Python cũng sử dụng
range[start, stop, step]
609, 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>>>
range[start, stop, step]
61Bạn có thể sẽ không gặp
range[start, stop, step]
605 và range[start, stop, step]
609 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ớnKiể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,
range[start, stop, step]
612 và range[start, stop, step]
613. Cả range[start, stop, step]
612 và range[start, stop, step]
613 phải được gán số nguyên bằng chữ range[start, stop, step]
616, một chữ được viết có dấu gạch dưới và một chữ không có. In range[start, stop, step]
612 và range[start, stop, step]
613 trên hai dòng riêng biệtBạ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ị
range[start, stop, step]
616 cho range[start, stop, step]
612 mà không có bất kỳ dấu gạch dưới nàorange[start, stop, step]
62Tiếp theo, trên một dòng mới, gán giá trị
range[start, stop, step]
621 cho biến range[start, stop, step]
613range[start, stop, step]
63In cả hai biến trên các dòng riêng biệt bằng cách chuyển từng biến sang các cuộc gọi riêng của
range[start, stop, step]
623range[start, stop, step]
64Ở đầu ra, bạn có thể thấy rằng cả hai số đều giống nhau
range[start, stop, step]
65Mặc dù cả hai biến đều được gán giá trị
range[start, stop, step]
616, 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ôngKhi 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áoToá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ử
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
27>>>
range[start, stop, step]
66Hai số ở hai bên của toán tử
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
27 đượ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ểuBạn có thể thêm một
range[start, stop, step]
96 vào một range[start, stop, step]
88 mà không gặp vấn đề gì>>>
range[start, stop, step]
67Lưu ý rằng kết quả của
range[start, stop, step]
629 là range[start, stop, step]
630, là một range[start, stop, step]
88. Bất cứ khi nào một range[start, stop, step]
88 được thêm vào một số, kết quả là một range[start, stop, step]
88 khác. Cộng hai số nguyên với nhau luôn dẫn đến một range[start, stop, step]
96Ghi chú. PEP 8 khuyến nghị tách cả hai toán hạng khỏi toán tử bằng khoảng trắng
Python có thể đánh giá tốt
range[start, stop, step]
635, nhưng range[start, stop, step]
636 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àyphép trừ
Để trừ hai số, chỉ cần đặt một toán tử
range[start, stop, step]
637 giữa chúng>>>
range[start, stop, step]
68Cũng giống như cộng hai số nguyên, trừ hai số nguyên luôn dẫn đến một kết quả là
range[start, stop, step]
96. Bất cứ khi nào một trong các toán hạng là một range[start, stop, step]
88, thì kết quả cũng là một range[start, stop, step]
88Toán tử
range[start, stop, step]
637 cũng được sử dụng để biểu thị số âm>>>
range[start, stop, step]
69Bạ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
>>>
range[start, stop, step]
10Trong 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
range[start, stop, step]
642 bằng dấu ngoặc đơn để làm rõ hơn rằng range[start, stop, step]
637 thứ hai đang sửa đổi range[start, stop, step]
644>>>
range[start, stop, step]
11Sử 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áoPhép nhân
Để nhân hai số, hãy sử dụng toán tử
range[start, stop, step]
645>>>
range[start, stop, step]
12Loạ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 cho kết quả là
range[start, stop, step]
96 và nhân một số với số range[start, stop, step]
88 sẽ cho kết quả là range[start, stop, step]
88Phân công
Toán tử
range[start, stop, step]
649 dùng để chia hai số>>>
range[start, stop, step]
13Không giống như phép cộng, phép trừ và phép nhân, phép chia với toán tử
range[start, stop, step]
649 luôn trả về một range[start, stop, step]
88. 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 range[start, stop, step]
81 để chuyển đổi kết quả>>>
range[start, stop, step]
14Hãy nhớ rằng
range[start, stop, step]
81 loại bỏ bất kỳ phần phân số nào của số>>>
range[start, stop, step]
15range[start, stop, step]
654 trả về số dấu phẩy động range[start, stop, step]
655 và range[start, stop, step]
656 trả về số nguyên range[start, stop, step]
657 với range[start, stop, step]
658 đã bị xóaphép chia số nguyên
Nếu việc viết
range[start, stop, step]
659 có vẻ hơi dài dòng đối với bạn, thì Python cung cấp một toán tử chia thứ hai được gọi là toán tử chia số nguyên [range[start, stop, step]
660], còn được gọi là toán tử chia sàn>>>
range[start, stop, step]
16Toán tử
range[start, stop, step]
660 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ố âmVí dụ:
range[start, stop, step]
662 trả về range[start, stop, step]
663. Đầu tiên, range[start, stop, step]
642 được chia cho range[start, stop, step]
657 để có được range[start, stop, step]
666. Sau đó, range[start, stop, step]
666 được làm tròn xuống range[start, stop, step]
663. Mặt khác, range[start, stop, step]
669 trả về range[start, stop, step]
94 vì cả hai số đều dươngVí dụ trên cũng minh họa rằng
range[start, stop, step]
660 trả về một số dấu phẩy động khi một trong các toán hạng là range[start, stop, step]
88. Đây là lý do tại sao range[start, stop, step]
673 trả về số nguyên range[start, stop, step]
644 và range[start, stop, step]
675 trả về số nguyên range[start, stop, step]
88 range[start, stop, step]
677Hãy xem điều gì sẽ xảy ra khi bạn cố gắng chia một số cho
range[start, stop, step]
678>>>
range[start, stop, step]
17Python cung cấp cho bạn một
range[start, stop, step]
679, 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áosố 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ử
range[start, stop, step]
680>>>
range[start, stop, step]
18Số mũ không nhất thiết phải là số nguyên. Chúng cũng có thể là phao
>>>
range[start, stop, step]
19Nâng một số lên lũy thừa của
range[start, stop, step]
681 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 range[start, stop, step]
682 là một số nguyên, Python trả về range[start, stop, step]
88 range[start, stop, step]
630Đối với các toán hạng dương, toán tử
range[start, stop, step]
680 trả về một range[start, stop, step]
96 nếu cả hai toán hạng đều là số nguyên và một range[start, stop, step]
88 nếu bất kỳ một trong các toán hạng là một số dấu phẩy độngBạn cũng có thể nâng số lên lũy thừa âm
>>>
range[start, stop, step]
40Nâng một số lên lũy thừa âm cũng giống như chia
range[start, stop, step]
94 cho số đã nâng lên lũy thừa dương. Vì vậy, range[start, stop, step]
689 giống với range[start, stop, step]
690, giống như range[start, stop, step]
691 hoặc range[start, stop, step]
681. Tương tự, range[start, stop, step]
693 giống với range[start, stop, step]
694, giống với range[start, stop, step]
695 hoặc range[start, stop, step]
696Toán tử mô đun
Toán tử
range[start, stop, step]
697, 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>>>
range[start, stop, step]
41range[start, stop, step]
644 chia range[start, stop, step]
699 một lần với số dư là range[start, stop, step]
657, vì vậy range[start, stop, step]
101 là range[start, stop, step]
657. Tương tự, range[start, stop, step]
103 chia range[start, stop, step]
104 hai lần với số dư là range[start, stop, step]
105. Trong ví dụ trước, range[start, stop, step]
106 chia hết cho range[start, stop, step]
107, vì vậy range[start, stop, step]
108 là range[start, stop, step]
678. Bất cứ khi nào số ở bên trái của range[start, stop, step]
697 chia hết cho số ở bên phải, kết quả là range[start, stop, step]
678Một trong những cách sử dụng phổ biến nhất của
range[start, stop, step]
697 là xác định xem một số có chia hết cho số khác không. Ví dụ: một số range[start, stop, step]
113 là số chẵn khi và chỉ khi range[start, stop, step]
114 là range[start, stop, step]
678. Bạn nghĩ gì về lợi nhuận của range[start, stop, step]
116? >>>
range[start, stop, step]
42Điều này hợp lý vì
range[start, stop, step]
116 cho số dư của phép chia range[start, stop, step]
94 cho range[start, stop, step]
678. Nhưng bạn không thể chia range[start, stop, step]
94 cho range[start, stop, step]
678, vì vậy Python tăng range[start, stop, step]
679Ghi chú. Khi bạn làm việc trong cửa sổ tương tác của IDLE, các lỗi như ________ 2679 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ử
range[start, stop, step]
697 với các số âm>>>
range[start, stop, step]
43Mặ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ư
range[start, stop, step]
125 của phép chia một số range[start, stop, step]
126 cho một số range[start, stop, step]
127, Python sử dụng phương trình range[start, stop, step]
128Ví dụ, để tìm
range[start, stop, step]
129, đầu tiên Python tìm range[start, stop, step]
130. Vì range[start, stop, step]
131 là khoảng range[start, stop, step]
132, có nghĩa là range[start, stop, step]
133 là range[start, stop, step]
663. Bây giờ Python nhân số đó với range[start, stop, step]
642 để có được range[start, stop, step]
105. Cuối cùng, Python trừ range[start, stop, step]
105 từ range[start, stop, step]
699 để có được range[start, stop, step]
139Loại bỏ các quảng cáobiể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
>>>
range[start, stop, step]
44Cá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
Tất cả các toán tử
range[start, stop, step]
645, range[start, stop, step]
649, range[start, stop, step]
660 và range[start, stop, step]
697 đề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ử # numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
27 và range[start, stop, step]
637. Đây là lý do tại sao range[start, stop, step]
146 trả về range[start, stop, step]
699 chứ không phải range[start, stop, step]
148. range[start, stop, step]
149 được đánh giá trước, bởi vì range[start, stop, step]
645 có độ ưu tiên cao hơn toán tử range[start, stop, step]
637Bạ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; . [Nguồ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,
range[start, stop, step]
152 có khả năng rõ ràng hơn 2*3 - 1Làm cho Python nói dối bạn
Bạn nghĩ
range[start, stop, step]
153 là gì? . Hãy thử điều này trong cửa sổ tương tác>>>
range[start, stop, step]
45Đó cũng là. . . gần như đú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ố ________ 3155 có thể biểu diễn dưới dạng phân số ________ 3156. Cả số
range[start, stop, step]
155 và phân số của nó range[start, stop, step]
156 đề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ânKhi được biểu diễn dưới dạng nhị phân, một số điều quen thuộc nhưng có thể bất ngờ xảy ra với số thập phân
range[start, stop, step]
155. Phân số range[start, stop, step]
160 không có biểu diễn thập phân hữu hạn. Tức là, range[start, stop, step]
161 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ố range[start, stop, step]
156 trong hệ nhị phânBiểu diễn nhị phân của
range[start, stop, step]
156 là phân số lặp lại vô tận sau đâyrange[start, stop, step]
46Máy tính có bộ nhớ hữu hạn, vì vậy số
range[start, stop, step]
155 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àyrange[start, stop, step]
47Tuy nhiên, bạn có thể nhận thấy rằng khi được yêu cầu in
range[start, stop, step]
155, Python sẽ in range[start, stop, step]
155 chứ không phải giá trị gần đúng ở trên>>>
range[start, stop, step]
48Python không chỉ cắt bỏ các chữ số trong biểu diễn nhị phân cho
range[start, stop, step]
155. Những gì thực sự xảy ra là một chút tinh tế hơnBởi vì xấp xỉ của
range[start, stop, step]
155 ở 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ânVí dụ: cả
range[start, stop, step]
155 và range[start, stop, step]
170 đề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,
range[start, stop, step]
153 không bằng range[start, stop, step]
154. Python cộng các xấp xỉ nhị phân cho range[start, stop, step]
155 và range[start, stop, step]
174 lại với nhau, đưa ra một số không phải là xấp xỉ nhị phân cho range[start, stop, step]
154Nế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áoHà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
176, để làm tròn số đến một số chữ số thập phânrange[start, stop, step]
177, để lấy giá trị tuyệt đối của một sốrange[start, stop, step]
178, vì đã nâng một số lên một số lũy thừarange[start, stop, step]
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 range[start, stop, step]
176
range[start, stop, step]
Bạn có thể sử dụng
range[start, stop, step]
176 để làm tròn một số thành số nguyên gần nhất>>>
range[start, stop, step]
49range[start, stop, step]
176 có một số hành vi không mong muốn khi số kết thúc bằng range[start, stop, step]
658>>>
range[start, stop, step]
80range[start, stop, step]
655 được làm tròn xuống thành range[start, stop, step]
657 và range[start, stop, step]
185 được làm tròn thành range[start, stop, step]
148. Hầu hết mọi người mong đợi một số kết thúc bằng range[start, stop, step]
658 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 ở đâyPython 3 làm tròn số theo một chiến lược được gọi là làm tròn liên kết với số chẵn. Hòa là bất kỳ số nào có chữ số cuối cùng là năm.
range[start, stop, step]
655 và range[start, stop, step]
189 là mối quan hệ, nhưng range[start, stop, step]
190 thì khôngKhi 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
range[start, stop, step]
655 làm tròn xuống thành range[start, stop, step]
657 và range[start, stop, step]
185 làm tròn thành range[start, stop, step]
148Ghi chú. Làm tròn số liên kết với số chẵn là chiến lược làm tròn số được IEEE [Viện Kỹ sư Điện và Điện tử] đề xuất cho các số có dấu phẩy động vì nó giúp hạn chế tác động của việc làm tròn số đố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
range[start, stop, step]
176>>>
range[start, stop, step]
81Số
range[start, stop, step]
196 được làm tròn đến ba chữ số thập phân để có được range[start, stop, step]
197 và số range[start, stop, step]
198 được làm tròn đến hai chữ số thập phân để có được range[start, stop, step]
199Đối số thứ hai của
range[start, stop, step]
176 phải là một số nguyên. Nếu không, thì Python sẽ tăng range[start, stop, step]
401>>>
range[start, stop, step]
82Đôi khi
range[start, stop, step]
176 không nhận được câu trả lời hoàn toàn đúng>>>
range[start, stop, step]
83range[start, stop, step]
403 hòa vì nó nằm chính xác ở giữa hai số range[start, stop, step]
404 và range[start, stop, step]
405. Vì Python làm tròn liên kết với số chẵn gần nhất, bạn sẽ mong đợi range[start, stop, step]
406 trả về range[start, stop, step]
405, nhưng thay vào đó, nó trả về range[start, stop, step]
404. 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 range[start, stop, step]
176Xử 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
range[start, stop, step]
176 hoàn toàn hữu íchLoại bỏ các quảng cáoTìm Giá Trị Tuyệt Đối Với range[start, stop, step]
177
range[start, stop, step]
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
range[start, stop, step]
644 là range[start, stop, step]
644, trong khi giá trị tuyệt đối của range[start, stop, step]
414 là range[start, stop, step]
699Để lấy giá trị tuyệt đối của một số trong Python, bạn sử dụng
range[start, stop, step]
177>>>
range[start, stop, step]
84range[start, stop, step]
177 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ươngNâng cao sức mạnh với range[start, stop, step]
178
range[start, stop, step]
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ử
range[start, stop, step]
680. Bạn cũng có thể sử dụng range[start, stop, step]
178 để đạt được kết quả tương tựrange[start, stop, step]
178 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ênVí dụ: sau đây sử dụng
range[start, stop, step]
178 để nâng range[start, stop, step]
657 lên số mũ range[start, stop, step]
644>>>
range[start, stop, step]
85Cũng giống như với
range[start, stop, step]
680, số mũ trong range[start, stop, step]
178 có thể âm>>>
range[start, stop, step]
86Vậy, sự khác biệt giữa
range[start, stop, step]
680 và range[start, stop, step]
178 là gì?Hàm
range[start, stop, step]
178 chấp nhận một đối số thứ ba tùy chọn để tính toán 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, range[start, stop, step]
430 tương đương với range[start, stop, step]
431Đây là một ví dụ trong đó
range[start, stop, step]
432, range[start, stop, step]
433 và range[start, stop, step]
434>>>
range[start, stop, step]
87Đầu tiên,
range[start, stop, step]
657 được nâng lên lũy thừa range[start, stop, step]
644 để có được range[start, stop, step]
107. Sau đó, tính toán range[start, stop, step]
438, đó là range[start, stop, step]
678 vì range[start, stop, step]
657 chia cho range[start, stop, step]
107 không có phần dưKiểm tra xem một Float có tích phân không
Bạn có thể quen thuộc với các phương thức chuỗi như
range[start, stop, step]
442, range[start, stop, step]
443 và range[start, stop, step]
444. Số nguyên và số dấu phẩy động cũng có phương thứcCá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
range[start, stop, step]
445 trả về range[start, stop, step]
446 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ề range[start, stop, step]
447>>>
range[start, stop, step]
88Một lần sử dụng cho
range[start, stop, step]
445 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
range[start, stop, step]
176, range[start, stop, step]
177 và range[start, stop, step]
178 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
range[start, stop, step]
89Bạ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
range[start, stop, step]
452# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
00Lư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
range[start, stop, step]
452 là một chuỗi, vì vậy bạn cần chuyển đổi nó thành số float trước khi có thể làm tròn số# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
01Hãy nhớ rằng đoạn mã trên giả định rằng chuỗi
range[start, stop, step]
454 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ácGhi chú. Nếu
range[start, stop, step]
454 không chứa văn bản không phải số, thì một range[start, stop, step]
456 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àyBây giờ bạn có thể sử dụng
range[start, stop, step]
176 để làm tròn giá trị đến hai chữ số thập phân# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
02Hãy nhớ rằng, đối số đầu tiên của
range[start, stop, step]
176 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ànhCuối cùng, bạn có thể in đầu ra bằng cách chèn
range[start, stop, step]
459 vào chuỗi f# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
03range[start, stop, step]
176 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 sauKhi 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áoIn 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
>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
04Các dấu ngoặc nhọn đó hỗ trợ một ngôn ngữ định dạng đơ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
range[start, stop, step]
113 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 range[start, stop, step]
462>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
05Dấu hai chấm [
range[start, stop, step]
463] sau biến range[start, stop, step]
113 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à range[start, stop, step]
465range[start, stop, step]
466 trong range[start, stop, step]
465 làm tròn số đến hai chữ số thập phân và range[start, stop, step]
468 yêu cầu Python hiển thị range[start, stop, step]
113 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ơnKhi
range[start, stop, step]
470, kết quả của range[start, stop, step]
462 là range[start, stop, step]
472. Cũng giống như với range[start, stop, step]
176, 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ế range[start, stop, step]
470 bằng range[start, stop, step]
475, thì kết quả của range[start, stop, step]
462 là range[start, stop, step]
477>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
06Để làm tròn đến một chữ số thập phân, hãy thay thế
range[start, stop, step]
466 bằng range[start, stop, step]
479>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
07Khi 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
>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
08Bạ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
range[start, stop, step]
480>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
09Để 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
range[start, stop, step]
480 trước range[start, stop, step]
482 trong thông số định dạng của bạn>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
10Công cụ xác định
range[start, stop, step]
483 rất hữu ích để hiển thị các giá trị tiền tệ>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
11Một tùy chọn hữu ích khác là
range[start, stop, step]
697, được sử dụng để hiển thị tỷ lệ phần trăm. Tùy chọn range[start, stop, step]
697 nhân một số với range[start, stop, step]
486 và hiển thị số đó ở định dạng điểm cố định, theo sau là dấu phần trămTùy chọn
range[start, stop, step]
697 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 range[start, stop, step]
468. Ví dụ: range[start, stop, step]
489 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>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
12Ngô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 tài liệu chính thức
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ố
range[start, stop, step]
490 dưới dạng 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ị
range[start, stop, step]
490 mà không có bất kỳ định dạng nào trông như thế này>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
13Đ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 [
range[start, stop, step]
463] sau số range[start, stop, step]
490, theo sau là chữ cái range[start, stop, step]
468>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
14Theo 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
range[start, stop, step]
466 vào giữa range[start, stop, step]
463 và range[start, stop, step]
468>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
15Để hiển thị số có các chữ số được nhóm lại bằng dấu phẩy, hãy chèn dấu phẩy [
range[start, stop, step]
480] giữa dấu hai chấm [range[start, stop, step]
463] và dấu chấm [range[start, stop, step]
482]>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
16Cuối cùng, thêm ký hiệu đô la [
range[start, stop, step]
801] vào đầu chuỗi để cho biết giá trị tính bằng đô la Mỹ>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
17Chuỗ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áoSố 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 giải tích sơ cấp, 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
>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
18Khi bạn kiểm tra giá trị của
range[start, stop, step]
113, bạn sẽ nhận thấy rằng Python bao quanh số đó bằng dấu ngoặc đơn>>>
# numbers from 0 to 3 [4 is not included]
numbers = range[4]
print[list[numbers]] # [0, 1, 2, 3]
# if 0 or negative number is passed, we get an empty sequence
numbers = range[-4]
print[list[numbers]] # []
19Quy ướ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,
range[start, stop, step]
803 và range[start, stop, step]
804, lần lượt trả về các thành phần thực và ảo của số>>>
range[start, stop, step]
90Lư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
range[start, stop, step]
805 trả về liên hợp phức của số>>>
range[start, stop, step]
91Đố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, phức liên hợp của
range[start, stop, step]
806 là range[start, stop, step]
807Các thuộc tính
range[start, stop, step]
803 và range[start, stop, step]
804 không cần dấu ngoặc đơn sau chúng giống như range[start, stop, step]
805Phương thức
range[start, stop, step]
805 là một hàm thực hiện một hành động trên một số phức, trong khi đó, range[start, stop, step]
803 và range[start, stop, step]
804 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 sàn [
range[start, stop, step]
660], 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>>>
range[start, stop, step]
92Thậ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
range[start, stop, step]
96 và range[start, stop, step]
88 cũng có các thuộc tính range[start, stop, step]
803 và range[start, stop, step]
804 cũng như phương thức range[start, stop, step]
805>>>
range[start, stop, step]
93Đối với số float và số nguyên, ________ 3803 n ________ 3805 luôn trả về chính số đó và ________ 3804 luôn trả về
range[start, stop, step]
678. Tuy nhiên, một điều cần lưu ý là range[start, stop, step]
824 và range[start, stop, step]
825 trả về một số nguyên nếu range[start, stop, step]
113 là một số nguyên và một số float nếu range[start, stop, step]
113 là một số floatBâ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áoPhầ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
176range[start, stop, step]
- 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
Gửi cho tôi thủ thuật Python »
Giới thiệu về David Amos
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ề DavidMỗ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à
Aldren
Joanna
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 »
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 ngàn hướng dẫn, khóa học video thực hành và cộng đồng các chuyên gia Pythonistas
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ẻ EmailBà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. Nhận các mẹo để đặt câu hỏi hay 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