Kết quả của dòng lệnh x=6.7; type(x) trong Python là gì?

Trả lời nhanh

Đáp án đúng là B. float. Gán x = 6.7 nghĩa là x chứa một số thực có phần thập phân, nên Python xếp x vào kiểu số thực. Khi gọi type(x), Python in ra <class 'float'>. Các lựa chọn int, string và double không phù hợp: int là số nguyên, string không phải tên kiểu trong Python và Python không có kiểu double.

Đọc hiểu dòng lệnh

x = 6.7
type(x)

Dòng thứ nhất tạo biến x và gán giá trị 6.7. Dòng thứ hai hỏi Python: “Biến x thuộc kiểu dữ liệu nào?”. Python tự suy ra kiểu từ giá trị, em không phải khai báo trước như trong một số ngôn ngữ khác.

Điểm mấu chốt là dấu chấm. Hễ giá trị có dấu chấm thập phân, Python coi đó là số thực (float), dù phần thập phân bằng 0, ví dụ 6.0 vẫn là float.

Phân tích từng đáp án

  • A. int: kiểu số nguyên như 6, -3, 100. Giá trị 6.7 có phần thập phân nên không phải int.
  • B. float: kiểu số thực dấu chấm động như 6.7, 3.14, -0.5. Đây là đáp án đúng.
  • C. string: kiểu chuỗi trong Python có tên là str, không phải “string”. Chuỗi phải nằm trong dấu nháy, ví dụ “6.7”.
  • D. double: đây là tên kiểu trong C, C++ hay Java. Python chỉ dùng float cho mọi số thực.

Bảng kiểu dữ liệu cơ bản

Giá trị Kết quả của type() Ý nghĩa
6 <class ‘int’> Số nguyên
6.7 <class ‘float’> Số thực
“6.7” <class ‘str’> Chuỗi ký tự
True <class ‘bool’> Logic (đúng/sai)

Vài tình huống dễ nhầm

  • type(7/2) cho float, vì phép chia thường luôn trả về số thực (kết quả 3.5).
  • type(7//2) cho int, vì chia lấy phần nguyên (kết quả 3).
  • type(2 + 3.5) cho float, vì khi cộng số nguyên với số thực, kết quả được chuyển về float.
  • type("6.7") cho str, dù bên trong trông như số, vì đã đặt trong dấu nháy.

Cách tự kiểm tra trong cửa sổ Shell

Em mở IDLE, gõ từng dòng sau dấu nhắc >>> rồi nhấn Enter. Dòng gán x = 6.7 không in gì cả, nhưng dòng type(x) sẽ in ra kiểu dữ liệu ngay. Thử đổi giá trị sang 6, “6” hoặc True để thấy kết quả thay đổi.

Nếu chạy trong file chương trình (script), phải viết print(type(x)) mới thấy kết quả, vì script không tự in giá trị của một biểu thức như Shell.

Lỗi sai thường gặp

  • Chọn double vì quen với C++ hay Pascal. Python không có kiểu này.
  • Chọn string vì nghĩ “6.7” là chữ. Giá trị 6.7 không có dấu nháy nên là số.
  • Quên rằng 6.0 vẫn là float, không phải int.

Luyện tập

  1. Sau lệnh y = 10 thì type(y) cho kết quả gì? Đáp án: int.
  2. Sau lệnh z = “100” thì type(z) cho kết quả gì? Đáp án: str, vì có dấu nháy.
  3. Kết quả của type(5 * 2.0) là gì? Đáp án: float, vì có một toán hạng là số thực.

Câu hỏi thường gặp

Python có kiểu double không?

Không. Python chỉ có float, được lưu theo độ chính xác kép nên đã đủ cho hầu hết bài toán.

Kiểu chuỗi trong Python tên là gì?

Tên kiểu là str, giá trị của nó được đặt trong dấu nháy đơn hoặc nháy kép.

Làm sao để đổi 6.7 thành số nguyên?

Dùng hàm int(6.7), kết quả là 6 vì Python bỏ phần thập phân chứ không làm tròn.

Hàm type() dùng để làm gì?

Hàm type() cho biết kiểu dữ liệu của một giá trị hoặc một biến, giúp kiểm tra và gỡ lỗi chương trình.