Khi bạn định dạng chuỗi trong Python, có thể bạn đã quen với việc sử dụng format()
phương pháp.
Nhưng trong Python 3.6 trở lên, bạn có thể sử dụng chuỗi f thay thế. f-String, còn được gọi là chuỗi ký tự được định dạng, có cú pháp ngắn gọn hơn và có thể cực kỳ hữu ích trong việc định dạng chuỗi.
Trong hướng dẫn này, bạn sẽ tìm hiểu về chuỗi f trong Python và một vài cách khác nhau mà bạn có thể sử dụng chúng để định dạng chuỗi.
Chuỗi f trong Python là gì?
Các chuỗi trong Python thường được đặt trong dấu ngoặc kép (""
) hoặc dấu nháy đơn (''
). Để tạo f-string, bạn chỉ cần thêm một f
hoặc một F
trước dấu ngoặc kép mở đầu của chuỗi của bạn.
Ví dụ,
"This"
là một chuỗi trong khif"This"
là một chuỗi f.
Cách in các biến bằng Python f-Strings
Khi sử dụng f-Strings để hiển thị các biến, bạn chỉ cần chỉ định tên của các biến bên trong một tập hợp các dấu ngoặc nhọn {}
. Và trong thời gian chạy, tất cả các tên biến sẽ được thay thế bằng các giá trị tương ứng của chúng.
Nếu bạn có nhiều biến trong chuỗi, bạn cần đặt từng tên biến trong một tập hợp các dấu ngoặc nhọn.
Cú pháp được hiển thị dưới đây:
f"This is an f-string {var_name} and {var_name}."
▶ Đây là một ví dụ.
Bạn có hai biến, language
và school
được đặt trong dấu ngoặc nhọn bên trong f-String.
language = "Python"
school = "freeCodeCamp"
print(f"I'm learning {language} from {school}.")
Chúng ta hãy nhìn vào đầu ra:
#Output
I'm learning Python from freeCodeCamp.
Lưu ý cách các biến language
và school
đã được thay thế bằng Python
và freeCodeCamp
tương ứng.
Cách đánh giá các biểu thức bằng Python f-Strings
Vì f-Strings được đánh giá trong thời gian chạy, bạn cũng có thể đánh giá các biểu thức Python hợp lệ một cách nhanh chóng.
▶ Trong ví dụ bên dưới, num1
và num2
là hai biến. Để tính sản phẩm của họ, bạn có thể chèn biểu thức num1 * num2
bên trong một tập hợp các dấu ngoặc nhọn.
num1 = 83
num2 = 9
print(f"The product of {num1} and {num2} is {num1 * num2}.")
Nhận thấy như thế nào num1 * num2
được thay thế bằng sản phẩm của num1
và num2
ở đầu ra.
#Output
The product of 83 and 9 is 747.
Tôi hy vọng bây giờ bạn có thể nhìn thấy mô hình.
Trong bất kỳ Chuỗi f nào, {var_name}
, {expression}
đóng vai trò giữ chỗ cho các biến và biểu thức và được thay thế bằng các giá trị tương ứng khi chạy.
Chuyển sang phần tiếp theo để tìm hiểu thêm về f-Strings.
Cách sử dụng điều kiện trong Python f-Strings
Hãy bắt đầu bằng cách xem xét Python if..else
các câu lệnh. Cú pháp chung được hiển thị dưới đây:
if condition:
# do this if condition is True <true_block>
else:
# do this if condition is False <false_block>
Đây, condition
là biểu thức có giá trị thực được kiểm tra.
- Nếu
condition
đánh giá đểTrue
các câu lệnh trong khối if (<true_block>
) được thực thi. - Nếu
condition
đánh giá đểFalse
các câu lệnh trong khối khác (<false_block>
) được thực thi.
Có một dòng ngắn gọn hơn tương đương với ở trên if..else
khối. Cú pháp được đưa ra dưới đây:
<true_block> if <condition> else <false_block>
Trong cú pháp trên,
<true block>
là những gì được thực hiện khicondition
LàTrue
và<false_block>
là câu lệnh được thực hiện khi điều kiện làFalse
.
Cú pháp này có vẻ hơi khác nếu bạn chưa từng thấy nó trước đây. Nếu nó khiến mọi thứ trở nên đơn giản hơn, bạn có thể đọc nó là, “Làm cái này if
condition
Là True
; else
, làm cái này“.
Điều này thường được gọi là chim nhạn toán tử trong Python vì nó có 3 toán hạng theo một nghĩa nào đó – khối thậtcác điều kiện, tình trạng, trạng thái đang thử nghiệm, và khối sai.
▶ Lấy một ví dụ đơn giản sử dụng toán tử bậc ba.
Cho một số num
, bạn muốn kiểm tra xem nó có chẵn không. Bạn biết rằng một số là số chẵn nếu nó chia hết cho 2. Hãy sử dụng số này để viết biểu thức của chúng ta, như hình dưới đây:
num = 87;
print(f"Is num even? {True if num%2==0 else False}")
Trong đoạn mã trên,
num%2==0
là điều kiện.- Nếu điều kiện là
True
bạn chỉ cần trở lạiTrue
chỉ ra rằngnum
thực sự là chẵn, vàFalse
nếu không thì.
#Output
Is num even? False
Trong ví dụ trên, num
là 87, đó là số lẻ. Do đó, câu lệnh điều kiện trong f-String được thay thế bằng False
.
Cách gọi các phương thức với Python f-Strings
Cho đến nay, bạn mới chỉ thấy cách in giá trị của biến, đánh giá biểu thức và sử dụng điều kiện bên trong f-Strings. Và đã đến lúc lên cấp.
▶ Lấy ví dụ sau:
author = "jane smith"
print(f"This is a book by {author}.")
Đoạn mã trên in ra This is a book by jane smith.
Sẽ tốt hơn nếu nó in ra This is a book by Jane Smith.
thay thế? Có, và trong Python, các phương thức chuỗi trả về các chuỗi đã sửa đổi với các thay đổi cần thiết.
Các
title()
phương thức trong Python trả về một chuỗi mới được định dạng trong trường hợp tiêu đề – cách tên thường được định dạng (First_name Last_name
).
Để in tên tác giả được định dạng trong trường hợp tiêu đề, bạn có thể làm như sau:
- sử dụng
title()
phương thức trên chuỗiauthor
, - lưu trữ chuỗi trả về trong một biến khác và
- in nó bằng f-String, như hình dưới đây:
author = "jane smith"
a_name = author.title()
print(f"This is a book by {a_name}.")
#Output
This is a book by Jane Smith.
Tuy nhiên, bạn có thể thực hiện việc này chỉ trong một bước với f-Strings. Bạn chỉ cần gọi đến title()
phương thức trên chuỗi author
bên trong dấu ngoặc nhọn trong f-String.
author = "jane smith"
print(f"This is a book by {author.title()}.")
Khi chuỗi f được phân tích cú pháp trong thời gian chạy,
- các
title()
phương thức được gọi trên chuỗiauthor
và - chuỗi trả về được định dạng trong trường hợp tiêu đề được in ra.
Bạn có thể xác minh rằng trong đầu ra được hiển thị bên dưới.
#Output
This is a book by Jane Smith.
Bạn có thể đặt các lệnh gọi phương thức trên bất kỳ đối tượng Python hợp lệ nào bên trong dấu ngoặc nhọn và chúng sẽ hoạt động tốt.
Cách gọi các hàm bên trong Python f-Strings
Ngoài việc gọi các phương thức trên các đối tượng Python, bạn cũng có thể gọi các hàm bên trong f-Strings. Và nó hoạt động rất giống với những gì bạn đã thấy trước đây.
Giống như cách tên biến được thay thế bằng giá trị và biểu thức được thay thế bằng kết quả đánh giá, lệnh gọi hàm được thay thế bằng giá trị trả về từ hàm.
▶ Hãy thực hiện chức năng choice()
hiển thị dưới đây:
def choice(c):
if c%2 ==0:
return "Learn Python!"
else:
return "Learn JavaScript!"
Hàm trên trả về "Learn Python!"
nếu nó được gọi với một số chẵn làm đối số. Và nó trở lại "Learn JavaScript!"
khi đối số trong lời gọi hàm là một số lẻ.
▶ Trong ví dụ hiển thị bên dưới, bạn có một Chuỗi f có lệnh gọi hàm lựa chọn bên trong dấu ngoặc nhọn.
print(f"Hello Python, tell me what I should learn. {choice(3)}")
Vì đối số là một số lẻ (3
), Python khuyên bạn nên học JavaScript, như được chỉ ra bên dưới:
#Output
Hello Python, tell me what I should learn. Learn JavaScript!
Nếu bạn gọi hàm choice()
với một số chẵn, bạn sẽ thấy Python bảo bạn học Python thay thế. 🙂
print(f"Hello Python, tell me what I should learn. {choice(10)}")
#Output
Hello Python, tell me what I should learn. Learn Python!
Và điều đó kết thúc hướng dẫn của chúng tôi trên một lưu ý vui vẻ!
Phần kết luận
Trong hướng dẫn này, bạn đã học cách sử dụng f-Strings để:
- in giá trị của các biến,
- đánh giá các biểu thức,
- gọi các phương thức trên các đối tượng Python khác và
- thực hiện cuộc gọi đến các chức năng Python.
bài viết liên quan
Đây là một bài đăng của Jessica giải thích định dạng chuỗi bằng cách sử dụng format()
phương pháp.