Computer >> Máy Tính >  >> Lập trình >> Python

Python f Strings:Hướng dẫn cơ bản

Chuỗi f trong Python nhúng các biểu thức vào một chuỗi. Một biểu thức có thể là nội dung của a variab le hoặc kết quả của một phép tính toán học hoặc một giá trị Python khác. Chuỗi f được phân biệt với các chuỗi thông thường vì chữ f đứng trước chuỗi.


Khi bạn đang viết một chuỗi, bạn có thể muốn thay đổi một phần của chuỗi để sử dụng một giá trị cụ thể. Ví dụ:bạn có thể muốn một chuỗi xuất hiện chứa giá trị mà người dùng đã chèn vào bảng điều khiển.

Python đã hỗ trợ định dạng chuỗi trong một thời gian, nhưng Python 3.6 đã giới thiệu một phương pháp thay đổi chuỗi mới để bao gồm các giá trị mới:chuỗi f.

Hướng dẫn này sẽ thảo luận, có tham chiếu đến các ví dụ, khái niệm cơ bản về chuỗi f trong Python. Khi đọc xong hướng dẫn này, bạn sẽ trở thành một chuyên gia trong việc sử dụng chuỗi f Python.

Định dạng chuỗi Python

Trước Python 3.6, có hai cách bạn có thể định dạng chuỗi Python. Bạn có thể sử dụng định dạng phần trăm (%) và str.format () .

Định dạng phần trăm

Định dạng phần trăm đã có từ đầu và cho phép bạn định dạng một chuỗi với một hoặc nhiều giá trị.

Dưới đây là một ví dụ về phương pháp định dạng phần trăm đang hoạt động:

email = "lindsay.ballantyne@gmail.com"
new_string = "Your email address is %s." % email
print(new_string)

Mã của chúng tôi trả về:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Your email address is lindsay.ballantyne@gmail.com

Trong mã của chúng tôi, chúng tôi sử dụng dấu% s làm trình giữ chỗ cho chuỗi mới của chúng tôi trong phần “Địa chỉ email của bạn là% s”. sợi dây. Ở cuối dòng mã đó, chúng tôi sử dụng dấu phần trăm theo sau là “email” để thay thế% s bằng địa chỉ email của người dùng của chúng tôi.

str.format ()

Trong Python 2.6, một phương pháp định dạng chuỗi mới đã được giới thiệu: format () chức năng.

Giả sử chúng ta muốn định dạng một chuỗi có hai giá trị. Chúng tôi có thể làm như vậy bằng cách sử dụng format () phương pháp như vậy:

name = "Lindsay Ballantyne"
email = "lindsay.ballantyne@gmail.com"
new_string = "Hello, {}. Your email address is {}.".format(name, email)

Mã của chúng tôi trả về:

Hello, Lindsay Ballantyne. Your email address is lindsay.ballantyne@gmail.com.

Trong mã của chúng tôi, chúng tôi xác định hai biến Python, “tên” và “email”. Các biến này lưu trữ tên và địa chỉ email của một người nào đó đang sử dụng chương trình của chúng tôi. Sau đó, chúng tôi sử dụng .format () cú pháp để thêm các giá trị “tên” và “email” vào chuỗi của chúng tôi.

Định dạng chuỗi Python f

Chuỗi f trong Python nhúng các biểu thức vào một chuỗi ký tự. Bạn có thể sử dụng chuỗi f để nhúng các biến, chuỗi hoặc kết quả của các hàm vào một chuỗi. Một chuỗi f có tiền tố là “f” ở đầu, trước khi chính tôi bắt đầu chuỗi.

Được giới thiệu trong Python 3.6, giúp định dạng chuỗi dễ dàng hơn.

f chuỗi sử dụng dấu ngoặc nhọn để lưu trữ các giá trị cần được định dạng thành một chuỗi. Chuỗi f cũng có thể sử dụng chữ “F” viết hoa để biểu thị một chuỗi được định dạng.

Hãy xem xét cú pháp này:

f"This is a string."

Chúng tôi vừa định nghĩa một chuỗi được định dạng theo nghĩa đen. Chúng tôi có thể thêm các giá trị vào chuỗi bằng cách sử dụng dấu ngoặc nhọn:{}.

Một số người gọi định dạng chuỗi là nội suy chuỗi. Hai khái niệm này đề cập đến cùng một ý tưởng:thêm một giá trị vào một chuỗi khác.

Hãy xem một ví dụ về chuỗi f đang hoạt động.

f Ví dụ chuỗi Python

Giả sử chúng ta muốn thêm tên “Lindsay Ballantyne” vào một chuỗi. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

name = "Lindsay Ballantyne"
print(f"Your name is {name}.")

Mã của chúng tôi trả về:

Your name is Lindsay Ballantyne.

Trong mã của chúng tôi, chúng tôi khai báo một biến có tên là “name” lưu trữ tên của người dùng của chúng tôi. Sau đó, chúng tôi sử dụng chuỗi f để thêm giá trị “Lindsay Ballantyne” vào một chuỗi.

Điều này cho thấy rằng bạn có thể chèn trực tiếp giá trị của một biến vào một chuỗi f. Cú pháp dễ dàng hơn tất cả các tùy chọn định dạng khác, chẳng hạn như phương thức format () hoặc chuỗi%.

Đó không phải là tất cả. Chuỗi f cũng có thể hỗ trợ các hàm hoặc bất kỳ biểu thức nào khác, được đánh giá bên trong chuỗi. Giả sử chúng ta muốn thực hiện một hàm toán học Python trong một chuỗi f. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

name = "Lindsay Ballantyne"
print(f"Your name is {name}. On your next birthday, you will be {22 + 1}.")

Mã của chúng tôi trả về:

Your name is Lindsay Ballantyne. On your next birthday, you will be 23.

Chúng tôi có thể thực hiện một hàm toán học.

Điều này là do các biểu thức trong chuỗi ký tự được đánh giá tại thời điểm chạy và chúng là một phần của chương trình chính. Hàm toán học của chúng tôi là “22 + 1”, chúng tôi thực hiện bằng cách đặt hàm trong dấu ngoặc nhọn.

Chuỗi f đa dòng trong Python

Cú pháp chuỗi f hỗ trợ định dạng chuỗi nhiều dòng. Bạn có thể tạo một chuỗi f Python nhiều dòng bằng cách đặt nhiều chuỗi f trong dấu ngoặc nhọn.

Giả sử chúng ta muốn định dạng các giá trị trong một chuỗi nhiều dòng. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

name = "Lindsay Ballantyne"
email = "lindsay.ballantyne@gmail.com"
age = 22

profile = (
	f"Name: {name} \n"
	f"Email: {email} \n"
	f"Age: {age} \n"
)

print(profile)

Mã của chúng tôi trả về:

Name: Lindsay Ballantyne
Email: lindsay.ballantyne@gmail.com
Age: 22

Trong mã của chúng tôi, chúng tôi đã khai báo ba biến - tên, email và tuổi - lưu trữ thông tin về người dùng của chúng tôi. Sau đó, chúng tôi tạo một chuỗi nhiều dòng được định dạng bằng cách sử dụng các biến đó.

Lưu ý rằng, trong mã của chúng tôi, chúng tôi đã đặt một f trước mỗi dòng trong chuỗi nhiều dòng của chúng tôi. Điều này là do, nếu bạn không đặt f ở trước mỗi dòng, thì cú pháp chuỗi f sẽ không được sử dụng.

f Chuỗi Ký tự Đặc biệt

Vẫn còn một điều bạn cần học trước khi bắt đầu sử dụng chuỗi f trong mã của mình. Bạn cần biết cách xử lý các ký tự đặc biệt với chuỗi f.

Dưới đây là một số quy tắc bạn nên ghi nhớ khi sử dụng chuỗi f.

Dấu ngoặc kép

Khi bạn đang sử dụng chuỗi f, bạn có thể sử dụng dấu ngoặc kép trong biểu thức của mình. Tuy nhiên, bạn cần sử dụng một loại dấu ngoặc kép khác với loại bạn đang sử dụng bên ngoài chuỗi f của mình. Dưới đây là một ví dụ về dấu ngoặc kép được sử dụng trong chuỗi f:

print(f"{'It is Thursday!'}")

Mã của chúng tôi trả về:

It is Thursday

Lưu ý rằng chúng tôi đã sử dụng dấu ngoặc đơn (‘) bên trong chuỗi f (được biểu thị bằng cách sử dụng dấu ngoặc nhọn) và dấu ngoặc kép (“ ”) để đại diện cho chuỗi đầy đủ của chúng tôi.

Từ điển

Để tham chiếu một giá trị trong từ điển Python, bạn sẽ cần sử dụng dấu ngoặc kép. Bạn nên đảm bảo rằng bạn sử dụng một loại dấu ngoặc kép khác khi tham chiếu từng giá trị trong từ điển của mình.

Dưới đây là một ví dụ về cách làm việc với từ điển và chuỗi f:

user = {name: "Lindsay Ballantyne", email: "lindsay.ballantyne@gmail.com"}
print(f{"Hello, {user['name']}. Your email address is: {user['email']}.")

Mã của chúng tôi trả về:

Hello, Lindsay Ballantyne. Your email address is: lindsay.ballantyne@gmail.com

Lưu ý rằng khi đề cập đến các giá trị trong từ điển của mình, chúng tôi sử dụng dấu ngoặc kép (‘’). Chuỗi f chính của chúng tôi sử dụng dấu ngoặc kép (“”). Điều này ngăn không cho bất kỳ lỗi định dạng chuỗi nào phát sinh trong mã của chúng tôi.

Niềng răng xoăn

Để sử dụng dấu ngoặc nhọn trong chuỗi f, bạn cần sử dụng dấu ngoặc kép. Dưới đây là một ví dụ về dấu ngoặc nhọn trong chuỗi f:

print(f"{{This is a test}}")

Mã của chúng tôi trả về:

{This is a test}

Bạn có thể thấy rằng chỉ có một bộ niềng răng xuất hiện trong kết quả cuối cùng của chúng tôi. Điều này là do một tập hợp các dấu ngoặc nhọn được sử dụng bởi chuỗi f để biểu thị rằng định dạng chuỗi sẽ diễn ra. Vì vậy, chỉ một bộ dấu ngoặc nhọn bên trong dấu ngoặc nhọn của bạn sẽ xuất hiện.

Nhận xét

Khi bạn viết chuỗi f, chuỗi f của bạn không được bao gồm dấu thăng (#). Dấu này biểu thị một nhận xét bằng Python và sẽ gây ra lỗi cú pháp.

Nếu bạn muốn sử dụng thẻ bắt đầu bằng # trong một chuỗi, hãy đảm bảo rằng thẻ đó được định dạng trong chuỗi, thay vì chuỗi f. Dưới đây là một ví dụ về điều này trong thực tế:

user_id = "202"
print(f"User ID: #{user_id}")

Mã của chúng tôi trả về:

User ID: #202

Chúng tôi đã thêm thẻ bắt đầu bằng # vào trước dấu ngoặc nhọn f string của chúng tôi. Chúng tôi đã làm điều này để đảm bảo rằng thẻ bắt đầu bằng # của chúng tôi sẽ xuất hiện chính xác trong chuỗi của chúng tôi.

Xem Repl.it từ hướng dẫn này:



Kết luận

Chuỗi f trong Python là một công cụ mới mà bạn có thể sử dụng để đặt các biểu thức bên trong các ký tự chuỗi.

Lợi ích của việc sử dụng chuỗi f so với các tùy chọn trước đó là rất nhiều. chuỗi f dễ đọc hơn. Chúng hoạt động tốt ngay cả khi bạn đang làm việc với nhiều giá trị.

Hướng dẫn này đã thảo luận, có tham chiếu đến các ví dụ, cách chuỗi f so với các tùy chọn định dạng chuỗi khác và cách sử dụng chuỗi f trong mã của bạn. Bây giờ bạn đã có kiến ​​thức cần thiết để bắt đầu làm việc với chuỗi Python f như một nhà phát triển chuyên nghiệp!

Nếu bạn muốn tìm hiểu thêm về Python, hãy xem hướng dẫn Cách học Python của chúng tôi.