Trong hướng dẫn này, Bumbii cùng các bạn sẽ tìm hiểu về chuyển đổi kiểu dữ liệu trong Python và một số hàm chuyển đổi kiểu dữ liệu.
Bumbii Education Facebook Group
- Chia sẻ, hỏi đáp, bàn luận các vấn đề học tập.
- Gặp gỡ các anh chị, thầy cô có nhiều năm kinh nghiệm.
- Cập nhật các kiến thức, tài liệu mới nhất.
Tham gia ngay!
Giới thiệu về chuyển đổi kiểu dữ liệu trong Python
Để lấy dữ liệu đầu vào từ người dùng, bạn sử dụng hàm input(). Ví dụ:
value = input('Enter the year of birth:')
print(value)
Khi bạn chạy mã này, chương trình sẽ yêu cầu bạn nhập dữ liệu trên Terminal:
Enter the year of birth:
Nếu bạn nhập một giá trị, ví dụ như số, chương trình sẽ hiển thị lại giá trị đó:
Enter the year of birth:1990
1990
Tuy nhiên, hàm input() trả về một chuỗi(string) chứ không phải số nguyên(integer).
Ví dụ sau sẽ nhắc bạn nhập giá trị đầu vào là năm sinh. Sau đó, chương trình sẽ tính tuổi của bạn và hiển thị kết quả ra màn hình:
import datetime
year_of_birth = input('Enter the year of birth: ')
current_year = datetime.datetime.now().year
your_age = current_year - year_of_birth
print('Your age is:', your_age)
Khi bạn chạy chương trình, nhập năm sinh của bạn:
Enter the year of birth: 1990
Bạn sẽ gặp lỗi sau:
Traceback (most recent call last):
File "main.py", line 4, in <module>
your_age = current_year - year_of_birth
TypeError: unsupported operand type(s) for -: 'int' and 'str'
Vì giá trị đầu vào là chuỗi(string) nên bạn không thể áp dụng toán tử trừ.
Để giải quyết vấn đề này, bạn cần chuyển đổi chuỗi(string) thành số(integer) trước khi thực hiện phép tính.
Để chuyển đổi một chuỗi(string) thành một số(integer), bạn sử dụng hàm int(). Chính xác hơn, hàm int() chuyển đổi một chuỗi(string) thành số nguyên(integer).
Ví dụ sau sử dụng hàm int() để chuyển đổi chuỗi(string) đầu vào thành số(integer):
import datetime
year_of_birth = input('Enter the year of birth: ')
current_year = datetime.datetime.now().year
your_age = current_year - int(year_of_birth)
print('Your age is:', your_age)
Nếu bạn chạy chương trình và nhập giá trị, bạn sẽ thấy nó hoạt động chính xác:
Enter the year of birth: 1990
Your age is: 34
Các hàm chuyển đổi khác
Ngoài các hàm int(str), Python còn hỗ trợ các hàm chuyển đổi khác:
- float(str) – chuyển đổi một chuỗi(string) thành số thực(float).
- bool(val) – chuyển đổi một giá trị thành giá trị boolean, True hoặc False.
- str(val) – trả về chuỗi(string) của một giá trị.
Lấy kiểu dữ liệu của một giá trị
Để lấy kiểu dữ liệu của một giá trị, bạn sử dụng hàm type(value). Ví dụ:
>>> type(100)
<class 'int'>
>>> type(2.0)
<class 'float'>
>>> type('Hello')
<class 'str'>
>>> type(True)
<class 'bool'>
Như bạn có thể thấy rõ từ đầu ra:
- Số 100 có kiểu int.
- Số 2.0 có kiểu float.
- Chuỗi ‘Xin chào’ có kiểu str.
- Và giá trị True có kiểu bool.
Trước mỗi loại bạn sẽ thấy từ khóa class. Chúng ta sẽ tìm hiểu class trong những bài viết tiếp theo.
Tổng kết
Sử dụng hàm input() để nhận chuỗi đầu vào từ người dùng.
Sử dụng các hàm chuyển đổi kiểu như int(), float(), bool() và str() để chuyển đổi một giá trị từ kiểu dữ liệu này sang kiểu dữ liệu khác.
Sử dụng hàm type() để lấy kiểu dữ liệu giá trị.
Chúc các bạn học tốt!
Các code ví dụ trong bài viết các bạn có thể xem trên GitHub
Python cơ bản
Phần 1: Kiến thức tổng quan
Cú pháp (syntax)
Biến (variables)
Chuỗi ký tự (strings)
Số (numbers) trong Python
Boolean trong Python
Vòng lặp trong Python
Danh sách (list) trong Python
Bộ dữ liệu (tuple) trong Python
Đừng xấu hổ khi không biết, chỉ xấu hổ khi không học