Chuỗi f Python 3.9

Tùy chọn %-formatting đã có từ đầu Python. Toán tử % được tích hợp vào các đối tượng chuỗi. Bạn có thể sử dụng điều này để định dạng chuỗi. Ví dụ

Bạn có thể sử dụng toán tử % nhiều lần, nhưng bạn sẽ cần sử dụng một bộ [] để cung cấp các giá trị mà bạn muốn sử dụng để định dạng chuỗi của mình

Nếu bạn chỉ muốn định dạng chuỗi của mình bằng một hoặc hai giá trị, toán tử % hoạt động tốt. Tuy nhiên, với nhiều giá trị để thay thế, mã của bạn trở nên khó đọc

Trong đoạn mã trên, bạn có thể thấy vấn đề với toán tử %. Mã của bạn trở nên khó đọc vì bạn thực sự không thể biết giá trị nào thay thế ký hiệu % nào

str. định dạng[]

Python 3 có một cách mới hơn để định dạng chuỗi bằng cách sử dụng. format[] trên một đối tượng chuỗi. Đây là một ví dụ nhanh tương tự như phương pháp định dạng % cũ

Có thể chỉ định các giá trị bạn muốn sử dụng để định dạng chuỗi của mình trong chuỗi

Điều này làm cho mã của bạn dễ đọc hơn so với phương pháp định dạng %. Tuy nhiên, nếu bạn có nhiều thứ trong chuỗi mà bạn muốn định dạng, mã của bạn sẽ trở nên lộn xộn

F-String

F-string rất dễ làm việc và giữ cho mã của bạn có thể đọc được. Đây là một ví dụ nhanh

Trước chuỗi, bạn thêm một chữ “f”. Đây có thể là một chữ cái nhỏ hoặc in hoa. Sau đó, bạn có thể thêm bất kỳ thứ gì bạn muốn định dạng vào giữa

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
8. Một lợi thế rất lớn của cách định dạng này là mã của bạn vẫn dễ đọc, ngay cả khi bạn muốn định dạng nhiều thứ trong chuỗi của mình. Ví dụ

Biểu thức Python

Tôi đã sử dụng các biến như “nhà cung cấp” hoặc “nền tảng” với các chuỗi được chỉ định trong các ví dụ trên. Python đánh giá các chuỗi f trong thời gian chạy, cho phép bạn chạy bất kỳ biểu thức Python hợp lệ nào trong một chuỗi. Đây là một ví dụ

Trong ví dụ trên, tôi sử dụng một toán tử số học [chia] trong chuỗi f

Đây là một ví dụ nữa mà tôi sử dụng phương pháp

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
9

Có thể sử dụng các biểu thức trong mã của bạn có thể giúp giữ cho mã của bạn đẹp và sạch sẽ

Sự kết luận

Trong bài học này, bạn đã học cách f-strings hoạt động và tại sao đây là một lựa chọn tốt hơn phương thức %-operator hoặc

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
0. Còn nhiều điều bạn có thể làm với f-string, nhưng điều này là đủ để bạn bắt đầu. Bạn có thể đọc thêm về nó trong PEP 498

Và theo thời gian, Python đã thường xuyên đưa ra các tiêu chuẩn và công cụ mã hóa mới thậm chí còn tuân thủ nhiều hơn các tiêu chuẩn mã hóa trong Zen of Python

Đẹp thì tốt hơn là xấu

Trong loạt bài đăng có tên Python Shorts này, tôi sẽ giải thích một số cấu trúc đơn giản nhưng rất hữu ích do Python cung cấp, một số mẹo cần thiết và một số trường hợp sử dụng mà tôi thường xuyên gặp phải trong công việc Khoa học dữ liệu của mình

Bài đăng này đặc biệt về việc sử dụng chuỗi f trong Python đã được giới thiệu trong Python 3. 6

3 cách in phổ biến

Hãy để tôi giải thích điều này với một ví dụ đơn giản. Giả sử bạn có một số biến và bạn muốn in chúng trong một câu lệnh

name = 'Andy'
age = 20
print[?]
----------------------------------------------------------------
Output: I am Andy. I am 20 years old

Bạn có thể làm điều này theo nhiều cách khác nhau

a] Nối. Một cách rất đơn giản để làm là chỉ cần sử dụng

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
1 để nối trong hàm in. Nhưng đó là vụng về. Chúng tôi sẽ cần chuyển đổi các biến số của mình thành chuỗi và lưu ý các khoảng trắng trong khi nối. Và nó trông không đẹp vì khả năng đọc mã bị ảnh hưởng một chút khi chúng tôi sử dụng nó

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old

Nguồn. Pixabay

b] Định dạng %. Tùy chọn thứ hai là sử dụng định dạng

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
2. Nhưng nó cũng có vấn đề của nó. Đối với một, nó không thể đọc được. Bạn sẽ cần nhìn vào
name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
3 đầu tiên và cố gắng tìm biến tương ứng trong danh sách ở cuối. Và hãy tưởng tượng nếu bạn có một danh sách dài các biến mà bạn có thể muốn in

print["I am %s. I am %s years old" % [name, age]]

c] đường. định dạng[]. Tiếp theo là cách đã được sử dụng trong hầu hết các mã Python 3 và đã trở thành tiêu chuẩn in trong Python. Sử dụng

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
4

print["I am {}. I am {} years old".format[name, age]]

Ở đây chúng tôi sử dụng {} để biểu thị trình giữ chỗ của đối tượng trong danh sách. Nó vẫn có cùng một vấn đề về khả năng đọc, nhưng chúng ta cũng có thể sử dụng

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
5

print["I am {name}. I am {age} years old".format[name = name, age = age]]

Nếu điều này có vẻ hơi lặp đi lặp lại, chúng ta cũng có thể sử dụng từ điển

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
0

Cách thứ tư với f

Ảnh của Willem-Jan Huisman trên Bapt

Kể từ Python 3. 6, chúng tôi có một tùy chọn định dạng mới, làm cho nó thậm chí còn đơn giản hơn. Chúng tôi chỉ đơn giản là có thể sử dụng

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
1

Chúng tôi chỉ nối thêm

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
6 vào đầu chuỗi và sử dụng {} để bao gồm tên biến của chúng tôi và chúng tôi nhận được kết quả cần thiết

Một chức năng bổ sung mà chuỗi f cung cấp là chúng ta có thể đặt các biểu thức trong dấu ngoặc {}. Ví dụ

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
3

Điều này khá hữu ích vì bạn có thể sử dụng bất kỳ loại biểu thức nào bên trong các dấu ngoặc này. Biểu thức có thể chứa từ điển hoặc hàm. Một ví dụ đơn giản

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
4

Ngoài ra, bạn có thể sử dụng

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
7 để sử dụng chuỗi nhiều dòng

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
6

Trường hợp sử dụng hàng ngày trong khi định dạng chuỗi là định dạng số float. Bạn có thể làm điều đó bằng chuỗi f như sau

name = 'Andy'
age = 20
print["I am " + name + ". I am " + str[age] + " years old"]
----------------------------------------------------------------
I am Andy. I am 20 years old
0

Sự kết luận

Cho đến gần đây, tôi đã sử dụng Python 2 cho tất cả công việc của mình và vì vậy không thể kiểm tra tính năng mới này

Nhưng bây giờ, khi tôi đang chuyển sang Python 3, các chuỗi f đã trở thành cú pháp tiếp theo của tôi để định dạng chuỗi. Thật dễ dàng để viết và đọc với khả năng kết hợp các biểu thức tùy ý. Theo một cách nào đó, chức năng mới này tuân thủ ít nhất 3 khái niệm PEP —

Đẹp tốt hơn xấu, Đơn giản tốt hơn phức tạp và Khả năng đọc được tính

Nếu bạn muốn tìm hiểu thêm về Python 3, tôi muốn giới thiệu một khóa học tuyệt vời về Tìm hiểu Python trình độ trung cấp từ Đại học Michigan. Hãy kiểm tra xem nó ra

Tôi cũng sẽ viết nhiều bài như vậy trong tương lai. Hãy cho tôi biết suy nghĩ của bạn về bộ truyện. Theo dõi tôi tại Medium hoặc Đăng ký blog của tôi để được thông báo về chúng. Như mọi khi, tôi hoan nghênh phản hồi và phê bình mang tính xây dựng và có thể liên hệ trên Twitter @mlwhiz

Ngoài ra, một tuyên bố từ chối trách nhiệm nhỏ - Có thể có một số liên kết liên kết trong bài đăng này đến các tài nguyên có liên quan, vì chia sẻ kiến ​​​​thức không bao giờ là một ý tưởng tồi

Chuỗi F có sẵn trong Python 3 không?

Nhưng trong Python 3. 6 trở lên, bạn có thể sử dụng f-Strings để thay thế . f-Strings, 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.

Phiên bản Python nào là chuỗi F?

Phát hành Python phiên bản 3. 6 đã giới thiệu các chuỗi ký tự được định dạng, được gọi đơn giản là “f-strings. ” Chúng được gọi là chuỗi f vì bạn cần thêm tiền tố một chuỗi bằng chữ 'f' để tạo chuỗi f. Chữ 'f' cũng chỉ ra rằng các chuỗi này được sử dụng để định dạng.

Liệu Python 3. 8 hỗ trợ chuỗi f?

5. Bổ sung mới cho chuỗi f trong Python 3. 8. Từ Python 3. 8, hỗ trợ cho “=” đã được thêm cho các biểu thức tự ghi lại để tiết kiệm một số thao tác nhập và cho mục đích gỡ lỗi . Biểu thức chuỗi f với = sẽ mở rộng biểu thức và sau đó đánh giá biểu thức.

Các chuỗi F có còn được sử dụng trong Python không?

Python f-strings được giới thiệu là có cú pháp tối thiểu để định dạng chuỗi. Các biểu thức được đánh giá trong thời gian chạy. Nếu bạn đang sử dụng Python 3. 6 trở lên, bạn nên sử dụng chuỗi f cho tất cả các yêu cầu định dạng chuỗi của mình .

Chủ Đề