Kiểu dữ liệu số lưu trữ các giá trị số. Chúng là các kiểu dữ liệu không thể thay đổi, có nghĩa là việc thay đổi giá trị của một kiểu dữ liệu số dẫn đến một đối tượng mới được cấp phát
Các kiểu dữ liệu Số khác nhau là
- int
- trôi nổi
- tổ hợp
Hãy xem từng người trong số họ
kiểu int
int [Số nguyên] là số nguyên, kể cả số âm nhưng không phải phân số. Trong Python, không có giới hạn về thời lượng của một giá trị số nguyên
ví dụ 1. Tạo kiểu int và kiểm tra
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 367
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3690
12______3345
đầu ra
ví dụ 2. Thực hiện các phép tính số học trên kiểu int
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 89
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 1
23
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 66 92______33____240
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3641
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3642
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3644
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3645
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 1
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3648
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3649
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3642
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 369
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36452______33____40607
08
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 051
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 53
5455
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 ________ 40858 ________ 458 _______ 451
_______32____33____573____574
75
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 77
________ 578 ________ 08 ________ 38
5152
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 75____655 78
_______32____33____659____740
41
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 4344
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 8
4748
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 41
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3601 44
2____33____005
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3606
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3607
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 1
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3610
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 53
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3613
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3614
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36075555
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36102____33
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3622
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3623
đầu ra
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36
loại phao
Đây là một số thực với biểu diễn dấu phẩy động. Nó được chỉ định bởi một dấu thập phân. Theo tùy chọn, ký tự e hoặc E theo sau là số nguyên dương hoặc âm có thể được thêm vào để chỉ định ký hiệu khoa học. . Một số ví dụ về các số được biểu diễn dưới dạng số float là 0. 5 và -7. 823457
Chúng có thể được tạo trực tiếp bằng cách nhập một số có dấu thập phân hoặc bằng cách sử dụng các thao tác như phép chia trên số nguyên. Các số 0 bổ sung ở cuối số sẽ tự động bị bỏ qua
ví dụ 1. Tạo float và kiểm tra loại
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 367
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 77____458
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3628
12______3345
đầu ra
Như chúng ta đã thấy, phép chia hai số nguyên bất kỳ sẽ tạo ra một số float
Một số float cũng được tạo ra bằng cách chạy một phép toán trên hai số float hoặc một số float và một số nguyên
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 367
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 1 55
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3638
2______3345
đầu ra
ví dụ 2. Thực hiện các phép toán số học trên kiểu float
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36459
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3648
23
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 66 92____33____240
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3658
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36483
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 6
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36992____33____406
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3658
543
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 6____4589
_______32____33____573____058
513
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 6559
_______32____33____659____058
Đầu ra
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 364
Ghi chú. Độ chính xác của số dấu phẩy động chỉ đến 15 chữ số thập phân, vị trí thứ 16 có thể không chính xác
loại phức tạp
Số phức là số gồm phần thực và phần ảo. Ví dụ: 2 + 3j là một số phức trong đó 2 là phần thực và 3 nhân với j là phần ảo
ví dụ 1. Tạo phức hợp và kiểm tra loại
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 367
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 1 6
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3693
2______3345
đầu ra
0ví dụ 2. Thực hiện các phép toán số học trên loại phức tạp
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 00 6 029
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 53 6 07
23
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 66 92______33____240
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3641
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3642
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 00 6 02
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3645
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 53
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 369 07
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3648
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3649
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3642
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 369
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36452______33____40607
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 00 6 0251
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 53 6 07
5455
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 _______ 408 _______ 458 _______ 451
_______32____33____573____574
75
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 00 6 0278
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 53 6 07
5152
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 75____655 78
_______32____33____659____740
đầu ra
5Loại Chuyển đổi giữa các số
Chúng ta có thể chuyển đổi một số sang dạng khác bằng hai phương pháp
- Sử dụng các phép toán số học. Chúng ta có thể sử dụng các phép toán như cộng, trừ để thay đổi kiểu số một cách ngầm định [tự động], nếu một trong các toán hạng là float. Phương pháp này không hoạt động đối với các số phức
Thí dụ. Loại chuyển đổi bằng cách sử dụng các hoạt động số học
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 809
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 8
3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 66 9
2____390
đầu ra
7- Sử dụng các chức năng tích hợp. Chúng ta cũng có thể sử dụng các hàm có sẵn như int[], float[] và complex[] để chuyển đổi thành các kiểu khác nhau một cách rõ ràng
Thí dụ. Loại chuyển đổi sử dụng chức năng tích hợp
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 53
_______32____33____396
979
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 002______330304
3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 072______33430313
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3642
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 162______33____3439613
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3645
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 82______332829
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3649
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 322______33____32836
đầu ra
5Khi chúng tôi chuyển đổi float thành int, phần thập phân bị cắt bớt.
Ghi chú.
- Chúng tôi không thể chuyển đổi số kiểu dữ liệu phức tạp thành kiểu dữ liệu int và số kiểu dữ liệu float
- Chúng ta không thể áp dụng các hàm dựng sẵn phức tạp trên chuỗi
Số thập phân trong Python
Các phép tính số học trên số thực có thể cho một số kết quả không mong muốn. Hãy xem xét trường hợp chúng ta muốn thêm 1. 1 đến 2. 2. Tất cả các bạn chắc hẳn đang thắc mắc rằng kết quả của phép toán này phải là 3. 3 nhưng hãy xem đầu ra do Python cung cấp
Thí dụ
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 399
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 423
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 669
2____390
đầu ra
4Bạn có thể kết quả là bất ngờ. Hãy xem xét một trường hợp khác mà chúng ta sẽ trừ 1. 2 và 1. 0. Một lần nữa, chúng tôi sẽ mong đợi kết quả là 0. 2, nhưng hãy xem đầu ra do Python cung cấp
Thí dụ
Python3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 529
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 553
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 6
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3699
2____390
đầu ra
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 360
Chắc hẳn các bạn đang nghĩ rằng có điều gì đó không ổn với Python, nhưng không phải vậy. Điều này ít liên quan đến Python và liên quan nhiều hơn đến cách nền tảng cơ bản xử lý các số dấu phẩy động. Đó là trường hợp bình thường gặp phải khi xử lý các số dấu phẩy động bên trong hệ thống. Đó là sự cố xảy ra khi biểu diễn bên trong các số dấu phẩy động, sử dụng một số chữ số nhị phân cố định để biểu thị một số thập phân. Rất khó để biểu diễn một số số thập phân dưới dạng nhị phân nên trong nhiều trường hợp dẫn đến sai số làm tròn nhỏ.
Trong trường hợp này, lấy 1. 2 làm ví dụ, biểu diễn của 0. 2 trong hệ nhị phân là 0. 00110011001100110011001100…… vân vân. Rất khó để lưu trữ nội bộ số thập phân vô hạn này. Thông thường, giá trị của đối tượng float được lưu trữ ở dạng dấu phẩy động nhị phân với độ chính xác cố định [thường là 53 bit]. Vì vậy, chúng tôi đại diện cho 1. 2 nội bộ như,
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 361
Đó là chính xác bằng
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 362
Đối với những trường hợp như vậy, mô-đun thập phân của Python sẽ giải cứu. Như đã nêu trước đó, độ chính xác của số dấu phẩy động chỉ tối đa 15 vị trí nhưng ở số thập phân, độ chính xác do người dùng xác định. Nó thực hiện các thao tác trên các số dấu phẩy động giống như cách chúng ta đã học ở trường. Hãy xem hai ví dụ trên và cố gắng giải chúng bằng cách sử dụng số thập phân
Thí dụ
Python3
6
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 67______368699
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 67______37369
3
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 6692____390
Đầu ra
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 363
Chúng ta có thể sử dụng mô-đun thập phân cho các trường hợp -
- Khi chúng tôi muốn tự mình xác định độ chính xác cần thiết
- Đối với các ứng dụng tài chính cần biểu diễn số thập phân chính xác
Ghi chú. Để biết thêm thông tin về số thập phân trong Python và các hàm do mô-đun này cung cấp, hãy tham khảo Hàm thập phân trong Python
Số ngẫu nhiên trong Python
Python cung cấp một mô-đun ngẫu nhiên để tạo các số giả ngẫu nhiên. Mô-đun này có thể tạo các số ngẫu nhiên, chọn một phần tử ngẫu nhiên từ một chuỗi trong Python, v.v.
ví dụ 1. Tạo giá trị ngẫu nhiên
Python3
2____385
Đầu ra
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 364
ví dụ 2. Chọn phần tử ngẫu nhiên từ chuỗi hoặc danh sách
Python3
________ 388 ________ 08 ________ 390
91Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 368 93_______3009553 957795895195
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3640495
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 3640495095
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 36410
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 364112____24132____2415
Đầu ra
Addition: 11 Subtraction: 3 Division: 4 Multiplication: 15 Modulus: 0 Exponent: 365
Ghi chú. Để biết thêm thông tin về các số ngẫu nhiên, hãy tham khảo hướng dẫn về Số ngẫu nhiên của chúng tôi
Toán Python
Mô-đun toán học của Python giúp thực hiện các phép toán khác nhau như lượng giác, thống kê, xác suất, logarit, v.v.