Số nguyên và số dấu phẩy động (tiếp tục)
Toán tử / tương phản với //, không làm tròn số:
>>> 8 / 2
4.0
>>> 9 / 5
1.8
>>> -9 / 5
-1.8
Các giá trị kết quả này không phải là số nguyên! Chúng có một dấu thập phân và thuộc một dạng
Python khác được gọi là float (cho floating – point numbers – số dấu phẩy động). Bạn có thể viết
các giá trị float bằng cách bao gồm một dấu thập phân:
>>> 12.5 * 2
25.0
Chúng ta sẽ tập trung vào các số nguyên cho bây giờ và quay trở lại số dấu phẩy động khi chúng ta
giải quyết Cone Volume sau này trong học phần này.
Khi chúng ta sử dụng toán tử nhân trong một biểu thức, Python sử dụng các quy tắc ưu tiên để quyết
định trật tự cái các toán tử được áp dụng. Mỗi toán tử có một ưu tiên. Như khi chúng ta đánh giá
một biểu thức toán học trên giấy, Python thực hiện nhân và chia (ưu tiên cao hơn) trước cộng và
trừ (ưu tiên thấp hơn):
>>> 50 + 10 * 2
70
Lại một lần nữa, như trên giấy, các hoạt động bên trong () có ưu tiên cao nhất. Chúng ta có thể
sử dụng cái này để buộc Python thực hiện các hoạt động trong trật tự mong muốn:
>>> (50 + 10) * 2
120
Lập trình viên thường thêm dấu () thậm chí khi không được yêu cầu về mặt kĩ thuật. Đó là vì Python
có nhiều toán tử, như chúng ta sẽ thấy, và giữ theo dõi ưu tiên của chúng có xu hướng phạm lỗi và
không phải thứ lập trình viên điển hình làm.
Nếu bạn tự hỏi liệu các giá trị số nguyên và float có các phương thức, như chuỗi kí tự, chúng có!
Nhưng không phải tất cả chúng đều hữu dụng. Ví dụ, có một phương thức cái thông báo cho chúng ta có
bao nhiêu không gian bộ nhớ được lấy bởi một số nguyên. Số nguyên càng lớn, càng nhiều bộ nhớ nó
yêu cầu:
>>> (5).bit_length()
3
>>> (100).bit_length()
7
>>> (99999).bit_length()
17
Chúng ta cần dấu () quanh số nguyên, nếu không toán tử chấm . bị nhầm lẫn với dấu thập phân, và chúng
ta nhận lỗi cú pháp.