Chuyển đến nội dung chính

Định dạng f-string trong Python

Tìm hiểu kỹ thuật định dạng f-string trong Python 3.6. Trong hướng dẫn này, bạn sẽ thấy những ưu điểm của nó và đi qua một số ví dụ sử dụng.
Đã cập nhật 5 thg 10, 2026  · 5 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

1. Giới thiệu

Định dạng chuỗi là gì?

Định dạng chuỗi là việc trình bày chuỗi của bạn một cách đẹp mắt bằng các kỹ thuật định dạng do ngôn ngữ lập trình cung cấp. Trong Python, chúng ta có nhiều kỹ thuật định dạng chuỗi khác nhau. Giờ chúng ta sẽ khám phá kỹ thuật định dạng f-string mới.

f-string được đánh giá tại thời điểm chạy của chương trình. Nó nhanh hơn so với các phương pháp trước đây.

f-string có cú pháp dễ hơn so với các kỹ thuật định dạng chuỗi trước đây của Python. Chúng ta sẽ khám phá từng khía cạnh của kiểu định dạng này bằng các ví dụ khác nhau.

Chạy và chỉnh sửa mã từ hướng dẫn trực tuyến này

Chạy mã

1.1. Cú pháp

Mỗi câu lệnh f-string gồm hai phần: một là ký tự f hoặc F, và phần tiếp theo là chuỗi mà chúng ta muốn định dạng. Chuỗi sẽ được đặt trong dấu ngoặc kép đơn, kép hoặc ba.

Hãy xem cú pháp.

## we can also use F, '', ''''', """"""'
f"string"

Thay cho string, chúng ta đặt câu cần định dạng.

2. Hiển thị Biến

Trước đây chúng ta thường dùng phương thức str.format() để định dạng chuỗi. Nhưng thời thế đã thay đổi, giờ chúng ta có một phương pháp mới giúp công việc nhanh gấp đôi.

Các biến đặt trong ngoặc nhọn { } sẽ được hiển thị trong đầu ra như một câu lệnh print thông thường. Hãy xem ví dụ.

## declaring variables
name = "Datacamp"
type_of_company = "Educational"

## enclose your variable within the {} to display it's value in the output
print(f"{name} is an {type_of_company} company.")
Datacamp is an Educational company.

Chúng ta đã lấy được giá trị của các biến trong đầu ra. Thấy không, rất dễ. Ta cũng có thể thay f bằng F.

## declaring variables
name = "Datacamp"
type_of_company = "Educational"

## enclose your variable within the {} to display it's value in the output
print(F"{name} is an {type_of_company} company.")
Datacamp is an Educational company.

f viết thường hay viết hoa đều hoạt động như nhau.

3. Biểu thức

Nếu chúng ta có thể đánh giá các biểu thức như số học, gọi hàm, v.v. ngay trong một chuỗi thì sao? Ngầu đúng không! Đúng vậy! Rất thú vị khi dùng biểu thức bên trong chuỗi. f-string cho phép chúng ta đánh giá biểu thức trong chuỗi.

Chỉ cần đặt biểu thức bên trong { } để đánh giá. f-string thực hiện việc này tại thời điểm chạy chương trình. Đây là một tính năng tuyệt vời giúp bạn tiết kiệm thời gian và mã nguồn.

Hãy xem các ví dụ cho những kiểu biểu thức khác nhau.

## arithmetic expression
print(f"{5 * 5}")
25

Chúng ta cũng có thể gọi hàm bên trong { }. Hãy định nghĩa hàm greet() và gọi nó trong f-string

def greet(name):
    return "Hello, " + name
## calling the function using f-string
name = "Datacamp"
print(f"{greet(name)}")
Hello, Datacamp

Tương tự, ta cũng có thể gọi các phương thức dựng sẵn. Xem nhé.

## calling the 'title' method which makes the first letter of every word upper
string = "datacamp is an educational company."
print(f"{string.title()}")
Datacamp Is An Educational Company.

Chúng ta còn có thể làm gì với f-string? Có hiển thị được đối tượng không? Có chứ. Cũng giống như khi ta hiển thị giá trị của biến.

class Sample:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    ## this method will be called when we print the object
    def __str__(self):
        return f'{self.name} is {self.age} years old.'
john = Sample("John", 19)

## it'll wake up the __str__() method
print(f"{john}")
John is 19 years old.

4. Ký tự đặc biệt

Nếu chúng ta muốn hiển thị các ký tự đặc biệt như {}, \', \"? — vốn được Python dùng với ý nghĩa đặc biệt — thì sao? Có thể dùng ký tự thoát trong f-string không? Hãy cùng xem câu trả lời.

4.1. Dấu ngoặc kép

Ta có thể dùng bất kỳ dấu ngoặc nào {đơn hoặc kép hoặc ba} trong f-string. Cần dùng ký tự thoát để in ra dấu ngoặc. Biểu thức trong f-string không cho phép dùng dấu gạch chéo ngược. Ta phải đặt nó bên ngoài { }.

Cùng xem ví dụ.

name = "Datacamp"

## displaying single quotations
print(f"Hello, \'{name}\'")

print()

## displaying double quotations
print(f"Hello, \"{name}\"")
Hello, 'Datacamp'

Hello, "Datacamp"

Hãy xem các kiểu ngoặc khác trong f-strings.

f'{"Hello, Datacamp"}'
'Hello, Datacamp'
f"{'Hello, Datacamp'}"
'Hello, Datacamp'
f"""Hello, Datacamp"""
'Hello, Datacamp'
f'''Hello, Datacamp'''
'Hello, Datacamp'

Chúng ta cũng có thể đưa { } vào bên trong chuỗi ba dấu ngoặc.

Bạn không thể dùng dấu gạch chéo ngược bên trong { } trong f-string. Nếu chèn vào trong { }, bạn sẽ gặp lỗi.

print(f"{\"Datacamp\"}")
  File "<ipython-input-60-b9a2502d6274>", line 1
    print(f"{\"Datacamp\"}")
         ^
SyntaxError: f-string expression part cannot include a backslash

4.2. Ngoặc nhọn

Chúng ta phải dùng hai cặp ngoặc nhọn để in ngoặc nhọn bằng f-string. Ví dụ:

print(f"{{Datacamp}}")
{Datacamp}

Nếu bạn muốn hiển thị hai cặp ngoặc nhọn bằng f-string, thì phải dùng bốn cặp ngoặc nhọn.

print(f"{{{{Datacamp}}}}")
{{Datacamp}}

5. Từ điển

Chúng ta cần chú ý một chút khi làm việc với khóa của từ điển trong f-string. Bạn phải dùng kiểu ngoặc khác nhau cho khóa từ điển và cho f-string. Bạn không được phép dùng cùng một kiểu ngoặc cho khóa từ điển nếu chuỗi bọc ngoài là f-string.

person = {"name": "John", "age": 19}
print(f"{person['name']} is {person['age']} years old.")
John is 19 years old.

Bạn không được phép viết như sau trong trường hợp từ điển.

person = {"name": "John", "age": 19}
print(f'{person['name']} is {person['age']} years old.')
  File "<ipython-input-65-6849ff0810ae>", line 2
    print(f'{person['name']} is {person['age']} years old.')
                        ^
SyntaxError: invalid syntax

Kết luận

Hy vọng bạn đã học được điều gì đó mới trong Python qua hướng dẫn này. Để tìm hiểu thêm về chuỗi và các kỹ thuật định dạng trước đây, hãy xem hướng dẫn này trên Datacamp. Ngoài ra, hãy xem khóa học Regular Expressions in Python của DataCamp.

Chúc bạn viết code vui vẻ :)

Chủ đề
Python

Khóa học Python

Khóa học

Nhập môn Python

4 giờ
7.1M
Nắm vững phân tích dữ liệu với Python chỉ trong 4 giờ. Khóa học online này giúp bạn làm quen với giao diện Python và các thư viện phổ biến.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm