Chuyển đổi kiểu dữ liệu trong Python

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.

Tham gia cộng đồng học tập Bumbii trên Discord

  • 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()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

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

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x