Hàm ascii là một hàm trong các Built-in Functions của ngôn ngữ lập trình Python được sử dụng để chuyển đổi một đối tượng thành một xâu ký tự (chuỗi) ASCII.
Trong đó, bảng mã ASCII (American Standard Code for Information Interchange) là một bảng mã ký tự dựa trên các ký tự chữ cái và các ký tự điều khiển trong tiếng Anh. Nó đã được phát triển vào những năm 1960 và đã trở thành một tiêu chuẩn quốc tế để biểu diễn các ký tự và điều khiển trong các thiết bị lưu trữ thông tin và truyền thông.
Bảng mã ASCII gồm 128 ký tự, bao gồm các ký tự chữ cái (in hoa và in thường), các số, các ký hiệu đặc biệt (ví dụ: !, @, #, $), các ký tự điều khiển (ví dụ: line feed, carriage return, tab), và các ký tự không in (ví dụ: space). Mỗi ký tự được gán một giá trị số nguyên từ 0 đến 127, được biểu diễn bằng bảng mã nhị phân 7 bits.
1. Cú pháp hàm ascii
Cú pháp:
ascii(object)
Tham số:
object
(bắt buộc): Đối tượng mà bạn muốn chuyển đổi thành xâu ký tự ASCII.
Giá trị trả về:
- Hàm
ascii()
trả về một xâu ký tự (chuỗi) ASCII đại diện cho đối tượng đã cho.
Phiên bản hỗ trợ:
- Hàm ascii được hỗ trợ sẵn trong ngôn ngữ lập trình Python từ phiên bản Python 3.0 trở lên.
2. Các ví dụ sử dụng hàm ascii
Dưới đây là một số ví dụ sử dụng hàm ascii với các kiểu dữ liệu khác nhau:
2.1. Sử dụng với chuỗi (string) chứa ký tự đặc biệt
input_str = "Hello, $world!"
result = ascii(input_str) # Chuyển đổi chuỗi thành xâu ký tự ASCII
print(result)
# Kết quả: "'Hello, $world!'"
# Chuỗi đã được đặt trong dấu nháy đơn và ký tự đặc biệt '$' không thay đổi.
2.2. Sử dụng hàm ascii với ký tự unicode
unicode_char = '\u03A9' # Ký tự Omega (Ω) trong bảng mã Unicode
result = ascii(unicode_char) # Chuyển đổi ký tự unicode thành xâu ký tự ASCII
print(result)
# Kết quả: "'\\u03a9'"
# Ký tự unicode được đại diện bằng ký hiệu thoát ngược '\u' trong xâu ký tự ASCII.
2.3. Sử dụng với số thập phân
decimal_num = 42.5
result = ascii(decimal_num) # Chuyển đổi số thập phân thành xâu ký tự ASCII
print(result)
# Kết quả: '42.5'
# Số thập phân không thay đổi sau khi chuyển đổi thành xâu ký tự ASCII.
2.4. Sử dụng với từ điển (dictionary) chứa chuỗi và số
input_dict = {'key1': 'value1', 'key2': 42}
result = ascii(input_dict) # Chuyển đổi từ điển thành xâu ký tự ASCII
print(result)
# Kết quả: "{'key1': 'value1', 'key2': 42}"
# Từ điển được chuyển đổi thành xâu ký tự ASCII với các ký tự được đặt trong dấu nháy đơn.
2.5. Sử dụng với danh sách (list) chứa chuỗi và ký tự unicode
input_list = ["Hello", '\u03A9', "world"]
result = ascii(input_list) # Chuyển đổi danh sách thành xâu ký tự ASCII
print(result)
# Kết quả: "['Hello', '\\u03a9', 'world']"
# Danh sách được chuyển đổi thành xâu ký tự ASCII với các ký tự unicode được đại diện bằng ký hiệu thoát ngược '\u'.
2.6. Sử dụng hàm ascii với một đối tượng tùy chỉnh
class CustomObject:
def __init__(self, value):
self.value = value
def __repr__(self):
return f'CustomObject({self.value})'
custom_obj = CustomObject("some_value")
result = ascii(custom_obj)
print(result)
# Kết quả: "CustomObject(some_value)"
# Hàm __repr__ của đối tượng được gọi để lấy xâu ký tự ASCII cho đối tượng tùy chỉnh.
2.7. Sử dụng với số phức
complex_num = 3 + 4j
result = ascii(complex_num)
print(result)
# Kết quả: "(3+4j)"
# Số phức không thay đổi sau khi chuyển đổi thành xâu ký tự ASCII.
2.8. Sử dụng với danh sách (list) chứa các kiểu dữ liệu khác nhau
input_list = [123, "abc", ('x', 'y', 'z'), {"key": "value"}, [1, 2, 3]]
result = ascii(input_list)
print(result)
# Kết quả: '[123, \'abc\', (\'x\', \'y\', \'z\'), {\'key\': \'value\'}, [1, 2, 3]]'
# Danh sách chứa các kiểu dữ liệu khác nhau được chuyển đổi thành xâu ký tự ASCII.
2.9. Sử dụng với bộ (set) chứa ký tự và số
input_set = {1, 2, 'a', 'b'}
result = ascii(input_set)
print(result)
# Kết quả: "{1, 2, 'a', 'b'}"
# Bộ chứa ký tự và số được chuyển đổi thành xâu ký tự ASCII.
Các ví dụ trên giúp minh họa cách sử dụng hàm ascii với các kiểu dữ liệu khác nhau và cách xử lý chúng để chuyển đổi thành xâu ký tự ASCII tương ứng.