PHP
Python

Trang chủ

Tìm hiểu về Literal trong Python

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
18/01/2025
13 phút đọc
Theo dõi Vietnix trên

Tìm hiểu về Literal trong Python

Literal trong Python đề cập đến các giá trị được biểu diễn trực tiếp trong mã nguồn. Chúng là những biểu diễn cố định của các kiểu dữ liệu như số nguyên, số thực, chuỗi ký tự, và các cấu trúc dữ liệu khác. Các Literal này giúp chúng ta làm việc trực tiếp với dữ liệu và gán chúng vào biến một cách rõ ràng. Với bài viết này mình sẽ giúp bạn hiểu rõ hơn về các loại Literal phổ biến và cách sử dụng chúng.

Literal trong Python là gì?

Trong Python, literal hay còn gọi là hằng số, là cách thể hiện một giá trị cố định trực tiếp trong mã nguồn. Khác với biến, literal (ví dụ: 123, 4.3, “Xin chào“) là những giá trị tĩnh hoặc hằng số, không thay đổi trong suốt quá trình chạy của chương trình hay ứng dụng.

Literal trong Python là cách thể hiện một giá trị cố định trực tiếp trong mã nguồn
Literal trong Python là cách thể hiện một giá trị cố định trực tiếp trong mã nguồn

Ví dụ, trong câu lệnh gán sau:

x = 15

Ở đây, 15 là một literal, biểu thị một giá trị số là 15, được lưu trực tiếp trong bộ nhớ.

Tuy nhiên, xét biểu thức sau:

y = x*2

Mặc dù biểu thức trên sẽ cho kết quả là 30, giá trị 30 không phải là một literal vì nó được tính toán từ một biểu thức chứ không phải giá trị cố định được viết trực tiếp trong mã nguồn.

Bạn cũng có thể khởi tạo một đối tượng số nguyên bằng hàm tích hợp sẵn int(), ví dụ:

z = int(10)

Tuy nhiên, đây cũng là một cách khởi tạo gián tiếp và không phải sử dụng literal trực tiếp. Giá trị 10 truyền vào hàm int là literal nhưng kết quả gán cho biến z không phải là literal.

Các loại Literal phổ biến trong Python

Python cung cấp một số loại literal khác nhau, mỗi loại dùng để biểu diễn các kiểu dữ liệu khác nhau. Dưới đây là danh sách các loại literal phổ biến mà chúng ta sẽ cùng tìm hiểu:

  • Literal số nguyên (Integer Literal)
  • Literal số thực (Float Literal)
  • Literal số phức (Complex Literal)
  • Literal chuỗi (String Literal)
  • Literal danh sách (List Literal)
  • Literal tuple (Tuple Literal)
  • Literal từ điển (Dictionary Literal)

Integer Literal trong Python

Trong Python, bất kỳ cách biểu diễn nào chỉ sử dụng các ký tự số (từ 0 đến 9) sẽ tạo ra một đối tượng thuộc kiểu int (số nguyên). Đối tượng này sau đó có thể được tham chiếu bởi một biến bằng toán tử gán (=).

Integer Literal, hay còn gọi là hằng số số nguyên, bao gồm ba loại giá trị literal khác nhau: decimal (hệ thập phân), octal (hệ bát phân), và hexadecimal (hệ thập lục phân).

1. Decimal Literal (Hệ Thập Phân)

Decimal Literal biểu diễn các số có dấu (âm hoặc dương) hoặc không dấu. Các chữ số từ 0 đến 9 được sử dụng để tạo ra giá trị literal ở hệ thập phân.

Xem các câu lệnh gán giá trị literal hệ thập phân cho biến ở ví dụ sau:

x = 125
y = -50
z = 0

Ở đây, 125, -50, và 0 là các decimal literal.

2. Octal Literal (Hệ Bát Phân)

Python cho phép số nguyên được biểu diễn ở dạng số bát phân hoặc số thập lục phân. Một biểu diễn số chỉ dùng 8 ký tự số (từ 0 đến 7) và có tiền tố là 0o hoặc 0O sẽ được hiểu là một số bát phân trong Python.

Xem ví dụ gán literal bát phân cho biến:

x = 0o37

Ở ví dụ này, 0o37 là một literal bát phân và được gán cho biến x.

3. Hexadecimal Literal (Hệ Thập Lục Phân)

Tương tự như hệ bát phân, một dãy các ký tự thập lục phân (từ 0 đến 9 và từ a đến f), có tiền tố là 0x hoặc 0X biểu diễn một số nguyên ở dạng hệ thập lục phân trong Python.

Ví dụ sau gán một literal hệ thập lục phân cho biến:

x = 0X2A

Ở đây, 0X2A là một hexadecimal literal và được gán cho biến x.

Cần lưu ý rằng, dù bạn sử dụng ký hiệu literal dạng bát phân hay thập lục phân, Python vẫn xem chúng như các đối tượng thuộc kiểu int.

Ví dụ về Hexadecimal Literal

Dưới đây là ví dụ cụ thể để làm rõ hơn về cách sử dụng các loại literal này:

# Sử dụng ký hiệu bát phân
y = 0o45
print ("0o45 trong hệ bát phân là:", y, type(y))

# Sử dụng ký hiệu thập lục phân
z = 0x3B
print ("0x3B trong hệ thập lục phân là:", z, type(z))

Khi chạy đoạn code trên, kết quả sẽ là:

0o45 trong hệ bát phân là: 37
0x3B trong hệ thập lục phân là: 59

Float Literal trong Python

Trong Python, một floating-point number, thường được gọi tắt là số “float”, bao gồm hai phần: phần nguyên và phần thập phân. Theo quy ước, dấu chấm thập phân (.) sẽ ngăn cách hai phần này trong cách viết literal của một số float. Ví dụ:

Ví dụ về Float Literal

x = 30.75
y = 0.25
z = -15.9876

Ở ví dụ trên, 30.75, 0.25-15.9876 là các float literal

Đối với những số float quá lớn hoặc quá nhỏ, đặc biệt khi số lượng chữ số trước hoặc sau dấu thập phân quá nhiều, người ta thường dùng ký pháp khoa học để biểu diễn một cách ngắn gọn. Ký hiệu E hoặc e theo sau bởi một số nguyên (có thể dương hoặc âm) được đặt sau phần nguyên.

Ví dụ về cách viết float literal theo ký pháp khoa học:

Một số 1.23E05 tương đương với số 123000.00. Tương tự, số 1.23e-2 tương đương với 0.0123.

Để hiểu rõ hơn, hãy xem ví dụ sau:

# Sử dụng cách viết float thông thường
x = 2.71
print ("2.71 trong biểu diễn float thông thường là:", x, type(x))

# Sử dụng ký pháp khoa học
x = 3.14E5
print ("3.14E5 trong ký pháp khoa học là:", x, type(x))
x = 3.14E-2
print ("3.14E-2 trong ký pháp khoa học là:", x, type(x))

Kết quả đầu ra của đoạn code trên:

2.71 trong biểu diễn float thông thường là: 2.71
3.14E5 trong ký pháp khoa học là: 314000.0
3.14E-2 trong ký pháp khoa học là: 0.0314

Complex Literal trong Python

Một số phức bao gồm hai thành phần: thành phần thực và thành phần ảo. Thành phần ảo là một số (số nguyên hoặc số thực) nhân với căn bậc hai của -1 (√-1). Trong biểu diễn literal, (√-1) được biểu diễn bằng “j” hoặc “J“. Do đó, biểu diễn literal của một số phức có dạng x+yj.

Trong đó:

  • x là phần thực (real part).
  • y là phần ảo (imaginary part).
  • j hoặc J là đơn vị ảo, tương ứng với √-1.

Ví dụ về Complex Literal

Bây giờ chúng ta hãy xem ví dụ về cách sử dụng literal số phức trong Python.

# Sử dụng literal để biểu diễn số phức
x = 5 + 7j
print("Số phức 5+7j là:", x, "có kiểu dữ liệu là:", type(x))

y = 3.14 - 2.5J
print("Số phức 3.14-2.5J là:", y, "có kiểu dữ liệu là:", type(y))

Đoạn code trên sẽ tạo ra kết quả như sau:

Số phức 5+7j là: (5+7j) có kiểu dữ liệu là:
Số phức 3.14-2.5J là: (3.14-2.5j) có kiểu dữ liệu là:

String Literal trong Python

Trong Python, đối tượng chuỗi (string) là một trong các kiểu dữ liệu dạng chuỗi (sequence data type). Đây là một chuỗi các điểm mã Unicode bất biến. Điểm mã (Code point) là một số tương ứng với một ký tự theo chuẩn Unicode. Chuỗi là các đối tượng thuộc lớp str được tích hợp sẵn trong Python.

String literal là cách biểu diễn chuỗi ký tự bằng cách đặt chúng trong dấu nháy đơn ('hello'), dấu nháy kép ("hello"), hoặc dấu nháy ba ('''hello''' hoặc """hello""").

Ví dụ về String Literal

Xem xét ví dụ sau về việc sử dụng các loại string literal khác nhau:

var1 = 'chao ban'
print ("'chao ban' trong dấu nháy đơn là:", var1, type(var1))

var2 = "chao cac ban"
print ('"chao cac ban" trong dấu nháy kép là:', var2, type(var2))

var3 = '''chao moi nguoi'''
print ("''''chao moi nguoi'''' trong dấu nháy ba là:", var3, type(var3))

var4 = """chao ca nha"""
print ('"""chao ca nha""" trong dấu nháy ba là:', var4, type(var4))

Khi chạy Đoạn code trên, kết quả hiển thị sẽ như sau:

‘chao ban’ trong dấu nháy đơn là: chao ban
“chao cac ban” trong dấu nháy kép là: chao cac ban
””chao moi nguoi”” trong dấu nháy ba là: chao moi nguoi
“””chao ca nha””” trong dấu nháy ba là: chao ca nha

Ví dụ về String Literal với dấu nháy đôi bên trong

Khi bạn muốn nhúng dấu nháy đôi (") vào bên trong một chuỗi ký tự, bạn nên đặt toàn bộ chuỗi đó trong dấu nháy đơn ('). Ngược lại, nếu bạn cần nhúng dấu nháy đơn (') vào trong một chuỗi, chuỗi đó nên được viết trong dấu nháy đôi ("). Hãy xem ví dụ sau:

var1 = 'Chào mừng đến với "Khóa học Python" từ Vietnix'
print(var1)

var2 = "Chào mừng đến với 'Khóa học Python' từ Vietnix"
print(var2)

Đoạn code trên sẽ cho ra kết quả như sau:

Chào mừng đến với “Khóa học Python” từ Vietnix
Chào mừng đến với ‘Khóa học Python’ từ Vietnix

List Literal trong Python

Trong Python, một đối tượng list (danh sách) là một tập hợp các đối tượng thuộc các kiểu dữ liệu khác nhau. List là một tập hợp các phần tử có thứ tự và không nhất thiết phải cùng kiểu dữ liệu. Mỗi phần tử trong danh sách được truy cập thông qua chỉ mục (index), bắt đầu từ 0.

Để biểu diễn một đối tượng list dưới dạng literal, ta sử dụng một hoặc nhiều phần tử, được phân tách bằng dấu phẩy và đặt trong cặp dấu ngoặc vuông [].

Ví dụ về List Literal

Hãy xem ví dụ dưới đây để hiểu rõ hơn:

ds_lop_hoc = ["Lan", "Hùng", 16, "Ngọc", 17, True]
print (ds_lop_hoc, type(ds_lop_hoc))

Đoạn code trên sẽ cho kết quả sau:

['Lan', 'Hùng', 16, 'Ngọc', 17, True] <class 'list'>

Tuple Literal trong Python

Trong Python, tuple là một đối tượng tập hợp, chứa nhiều đối tượng khác nhau thuộc các kiểu dữ liệu khác nhau. Tuple là một chuỗi các mục được sắp xếp theo thứ tự, không nhất thiết phải cùng kiểu dữ liệu. Để truy cập các mục trong tuple, bạn sẽ sử dụng chỉ số (index), bắt đầu từ 0.

Literal của một đối tượng tuple được biểu diễn bằng một hoặc nhiều mục, các mục này được phân tách bằng dấu phẩy và được bao trong cặp dấu ngoặc đơn ().

Ví dụ về Tuple Literal

Ví dụ sau đây sẽ giúp bạn hiểu rõ hơn về Tuple Literal:

T1 = (1, "Lan", 80.2, False)
print (T1, type(T1))

Đoạn code này sẽ cho ra kết quả sau:

(1, ‘Lan’, 80.2, False)

Ví dụ về Tuple Literal không có dấu ngoặc đơn

Dấu ngoặc đơn là dấu phân tách mặc định của các chuỗi trong Python. Điều này có nghĩa là một chuỗi các giá trị được phân tách bằng dấu phẩy mà không có dấu ngoặc đơn, cũng sẽ được hiểu là một tuple.

T2 = 2, "Hùng", 92.7, True
print (T2, type(T2))

Bạn cũng sẽ nhận được kết quả tương tự:

(2, ‘Hùng’, 92.7, True)

Dictionary Literal trong Python

Tương tự như list hay tuple, dictionary (từ điển) cũng là một kiểu dữ liệu dạng tập hợp trong Python. Tuy nhiên, dictionary không phải là một kiểu dữ liệu tuần tự, mà là một tập hợp không có thứ tự các mục (item). Mỗi mục trong dictionary là một cặp key-value (khóa-giá trị). Giá trị (value) được liên kết với khóa (key) bằng ký hiệu dấu hai chấm (:). Một hoặc nhiều cặp key:value được phân tách bởi dấu phẩy và đặt bên trong cặp ngoặc nhọn {} để tạo thành một đối tượng dictionary.

Ví dụ Dictionary Literal

Dưới đây là một số ví dụ minh họa cho cách sử dụng literal để tạo các dictionary trong Python:

thong_tin_hoc_vien = {"ten": "Lan Anh", "tuoi": 16, "lop": "10A1", "truong":"THPT Nguyễn Trãi"}
mon_hoc_yeu_thich = {1:"Toán", 2:"Văn", 3:"Anh",4:"Lý"}
toa_do = {"A":(1,5), "B":(4,8)}
print (thong_tin_hoc_vien, type(thong_tin_hoc_vien))
print (mon_hoc_yeu_thich, type(mon_hoc_yeu_thich))
print (toa_do, type(toa_do))

Key trong dictionary phải là một đối tượng không thay đổi được (immutable). Điều này có nghĩa là số, chuỗi, hoặc tuple có thể được dùng làm key, nhưng list thì không. Ngoài ra, một key không được xuất hiện nhiều hơn một lần trong cùng một dictionary. Nếu một key bị trùng lặp, chỉ có key cuối cùng được giữ lại.

Lưu ý về Value trong Dictionary: Giá trị (value) trong dictionary có thể thuộc bất kỳ kiểu dữ liệu nào. Hơn nữa, một value có thể được gán cho nhiều key khác nhau.

Ví dụ:

nhan_vien={"Hoa":"Nhân viên", "Mai":"Quản lý", "Linh":"Nhân viên", "Tung":"Bảo vệ", "Nam":"Quản lý"}
print(nhan_vien)

Trong ví dụ này, ta thấy cả “Hoa” và “Linh” đều có giá trị “Nhân viên”.

Lời kết

Vậy là chúng ta vừa cùng nhau tìm hiểu chi tiết về Literal trong Python, từ khái niệm cơ bản đến các loại literal phổ biến như Integer, Float, Complex, String, List, Tuple và Dictionary. Hy vọng những kiến thức này sẽ giúp bạn nắm vững hơn về cách biểu diễn dữ liệu trong Python và ứng dụng hiệu quả vào thực tế.

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn