9 - Định dạng chuỗi trong Python (Phần 2)

#Định dạng bằng chuỗi f (f-string)

Phương pháp định dạng này cho bạn khả năng thay thế một số chỗ ở trong một chuỗi bằng giá trị của các biến mà bạn đã khởi tạo và có. Và để có thể sử dụng cách này, bạn phải có một chuỗi f.

>>> f'abc'  # đây là một f-string
‘abc’
>>> s = f'xyz' # vẫn chưa có gì khác biệt so với chuỗi thông thường
>>> s
'xyz'
>>> print(f'a\tb')
a    4

Nhưng nó sẽ khác biệt, nếu bạn có một f-string theo kiểu này

>>> variable = 'string'
>>> f'This is a {variable}.'  # chú ý tới những thứ nằm trong cặp ngoặc nhọn
'This is a string'

Đúng rồi đấy, giá trị của biến variable được thay thế trong cặp dấu ngoặc nhọn chứa tên của nó. Nếu bạn có biết qua PHP, bạn sẽ thấy cách này tương tự với việc bạn sử dụng cặp dấu " " để định dạng.

Và, khi bạn sử dụng chuỗi f, đặt một giá trị biến chưa được khai báo, hoặc có trong chương trình thì sao?

>>> f'{variable_2}'  # chưa khởi tạo biến có tên variable_2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'variable_2' is not defined

Điều này đặt ra cho bạn một vấn đề, nếu như bạn muốn có chuỗi với nội dung như sau

'1: {one}, 2: {two}, 3: {variable}'

Và chỉ muốn định dạng mỗi chỗ {variable} thôi thì phải làm sao?
Cách giải quyết là hãy đặt thêm một dấu { kế bên {, còn với } là một dấu }. Tương tự như cách chúng ta muốn có một dấu \ mà để Python hiểu không phải là một kí tự bắt đầu kí tự escape sequence thì sẽ thêm một dấu .

>>> variable = 'three'
>>> f'1: {{one}}, 2: {{two}}, 3: {variable}'
'1: {one}, 2: {two}, 3: three'

#NEXT
10 - ĐỊNH DẠNG CHUỖI TRONG PYTHON (PHẦN 3)
#PREVIOUS
8 - ĐỊNH DẠNG CHUỖI TRONG PYTHON

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?