HomeLập trìnhPythonĐịnh dạng chuỗi...

Định dạng chuỗi Python – Ví dụ về định dạng in Python S


Trong Python, bạn có một số tùy chọn để định dạng chuỗi của mình. Trong bài viết này, tôi sẽ đi qua str.format()chuỗi ký tự được định dạng và chuỗi mẫu.

Nhưng trước tiên, chúng ta hãy xem những gì được coi là “cách cũ” của định dạng chuỗi.

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

Một trong những cách cũ hơn để định dạng chuỗi trong Python là sử dụng % nhà điều hành.

Đây là cú pháp cơ bản:

"This is a string %s" % "string value goes here"

Bạn có thể tạo chuỗi và sử dụng %s bên trong chuỗi hoạt động như một trình giữ chỗ. Sau đó, bạn có thể viết % theo sau là giá trị chuỗi thực mà bạn muốn sử dụng.

Đây là một ví dụ cơ bản sử dụng % định dạng chuỗi.

print("Hi, my name is %s" % "Jessica")
Ảnh chụp màn hình-2021-09-06-at-10.31.53-PM

Phương pháp này thường được gọi là cách “cũ hơn” vì Python 3 đã giới thiệu str.format() cùng với các chuỗi ký tự được định dạng.

cái gì str.format() phương pháp trong Python?

Đây là cú pháp cơ bản cho str.format() phương pháp:

"template string {}".format(arguments)

Bên trong chuỗi mẫu, chúng ta có thể sử dụng {} đóng vai trò giữ chỗ cho các đối số. Các đối số là các giá trị sẽ được hiển thị trong chuỗi.

Trong ví dụ này, chúng tôi muốn in "Hello, my name is Jessica. I am a musician turned programmer."

Trong chuỗi, chúng ta sẽ có tổng cộng ba {} sẽ đóng vai trò giữ chỗ cho các giá trị của Jessica, nhạc sĩ và lập trình viên. Chúng được gọi là các trường định dạng.

"Hello, my name is {}. I am a {} turned {}."

Bên trong các dấu ngoặc đơn cho str.format()chúng tôi sẽ sử dụng các giá trị của “Jessica”, “nhạc sĩ” và “lập trình viên”.

.format("Jessica", "musician", "programmer")

Đây là mã hoàn chỉnh và câu in:

print("Hello, my name is {}. I am a {} turned {}.".format("Jessica", "musician", "programmer"))
Ảnh chụp màn hình-2021-09-03-at-10.32.14-PM

đối số vị trí

Bạn có thể truy cập giá trị của các đối số này bằng cách sử dụng số chỉ mục bên trong {}.

Trong ví dụ này, chúng ta có hai đối số của "trumpet""drums" bên trong .format().

.format("trumpet", "drums")

Chúng ta có thể truy cập các giá trị đó bên trong chuỗi bằng cách tham khảo các số chỉ mục. {0} đề cập đến đối số đầu tiên của "trumpet"{1} đề cập đến đối số thứ hai của "drums".

"Steve plays {0} and {1}."

Đây là mã hoàn chỉnh và câu in:

print("Steve plays {0} and {1}.".format("trumpet", "drums"))
Screen-Shot-2021-09-03-at-11.04.33-PM

Chúng ta có thể sửa đổi ví dụ này và chuyển các số chỉ mục trong chuỗi. Bạn sẽ nhận thấy rằng câu đã thay đổi và vị trí của các đối số đã thay đổi.

print("Steve plays {1} and {0}.".format("trumpet", "drums"))
Ảnh chụp màn hình-2021-09-03-at-11.06.17-PM

Đối số từ khóa

Những lập luận này bao gồm một key value đôi. Chúng ta có thể truy cập vào value của lập luận bằng cách sử dụng key bên trong {}.

Trong ví dụ này, chúng ta có hai khóa được gọi là organizationadjective. Chúng ta sẽ sử dụng các phím đó bên trong chuỗi.

"{organization} is {adjective}!"

Bên trong .format()chúng ta có key value cặp.

.format(organization="freeCodeCamp", adjective="awesome")

Đây là mã hoàn chỉnh và câu in.

print("{organization} is {adjective}!".format(organization="freeCodeCamp", adjective="awesome"))
Screen-Shot-2021-09-03-at-11.44.14-PM

Cách kết hợp các đối số từ khóa và vị trí

bên trong str.format() bạn có thể kết hợp các đối số từ khóa và vị trí.

Đọc thêm  Chuỗi nối Python – Cách kết hợp và nối chuỗi trong Python

Trong ví dụ này, chúng ta sẽ tạo một câu chuyện ngắn về việc đi đến Disneyland.

Đầu tiên chúng ta sẽ tạo một vài biến cho tên, số, tính từ và chuyến đi Disneyland.

name = "Sam"
adjective = "amazing"
number = 200
disney_ride = "Space Mountain"

Sau đó, chúng tôi muốn tạo chuỗi của mình bằng cách sử dụng các đối số từ khóa và vị trí. Tôi sẽ thêm \n để yêu cầu máy tính tạo một dòng mới sau mỗi câu.

"I went to {0} with {name}.\nIt was {adjective}.\nWe waited for {hours} hours to ride {ride}."

Bên trong dấu ngoặc đơn cho str.format()chúng tôi sẽ gán các biến của chúng tôi cho các khóa của name, adjective, hoursdisney_ride. {0} sẽ có giá trị là "Disneyland".

.format("Disneyland", name=name, adjective=adjective, hours=number, ride=disney_ride)

Đây là mã hoàn chỉnh và câu in:

name = "Sam"
adjective = "amazing"
number = 200
disney_ride = "Space Mountain"

print("I went to {0} with {name}.\nIt was {adjective}.\nWe waited for {hours} hours to ride {ride}."
      .format("Disneyland", name=name, adjective=adjective, hours=number, ride=disney_ride))
Screen-Shot-2021-09-04-at-12.20.41-AM

Chuỗi ký tự được định dạng là gì?

Các chuỗi ký tự được định dạng (hoặc chuỗi f) cho phép bạn bao gồm các biểu thức bên trong chuỗi của mình. Ngay trước chuỗi bạn đặt một f hoặc F cho máy tính biết bạn muốn sử dụng một f-string.

Đây là cú pháp cơ bản:

variable = "some value"
f"this is a string {variable}"

Đây là một ví dụ cơ bản in câu Maria and Jessica have been friends since grade school.

name = "Jessica"
print(f"Maria and {name} have been friends since grade school.")

Nó hoạt động giống như vậy nếu tôi sử dụng vốn F trước chuỗi.

name = "Jessica"
print(F"Maria and {name} have been friends since grade school.")
Screen-Shot-2021-09-06-at-6.21.48-PM

Bạn cũng có thể sử dụng một f-string để định dạng dữ liệu từ một từ điển.

Đọc thêm  Giới thiệu đơn giản về Phát triển theo hướng thử nghiệm với Python

Trong ví dụ này, chúng ta có một từ điển đại diện cho thứ hạng cao nhất của các đội bóng rổ nam của trường đại học và số trận họ thắng trong tổng số 32 trận.

rankings = {"Gonzaga": 31, "Baylor": 28, "Michigan": 25, "Illinois": 24, "Houston": 21}

Chúng ta có thể sử dụng một for loopitems() phương pháp để đi qua từng key value cặp của rankings từ điển.

for team, score in rankings.items():

Bên trong for loopchúng ta có thể sử dụng một f-string để định dạng kết quả in ra.

Việc sử dụng :{team:10}{score:10d} yêu cầu máy tính tạo một trường rộng 10 ký tự. Điều này sẽ tạo ra các cột chẵn cho dữ liệu.

Các d bên trong đây {score:10d} đề cập đến một số nguyên thập phân.

 print(f"{team:10} ==> {score:10d}")

Đây là mã đầy đủ và đầu ra được in:

rankings = {"Gonzaga": 31, "Baylor": 28, "Michigan": 25, "Illinois": 24, "Houston": 21}

for team, score in rankings.items():
    print(f"{team:10} ==> {score:10d}")
Screen-Shot-2021-09-06-at-9.48.53-PM

Chuỗi mẫu là gì?

Chuỗi mẫu là các chuỗi Python sử dụng trình giữ chỗ cho các giá trị thực.

Đây là cú pháp cơ bản:

Template("$placeholder").substitute(placeholder="real value")

Hãy cùng xem một ví dụ để hiểu rõ hơn về cách thức hoạt động của nó.

Trong ví dụ này, chúng tôi muốn in I love to learn with freeCodeCamp! sử dụng chuỗi mẫu.

Để sử dụng các chuỗi mẫu, trước tiên bạn sẽ phải nhập Template class từ thư viện tiêu chuẩn.

from string import Template

Sau đó, bạn có thể sử dụng Template class và cung cấp một chuỗi bên trong dấu ngoặc đơn. Chúng tôi sẽ đặt một $ ở đằng trước name mà sau này sẽ được thay thế bằng giá trị thực.

Template("I love to learn with $name!")

sau đó chúng tôi thêm .substitute vào mẫu và gán giá trị của freeCodeCamp đến name.

.substitute(name="freeCodeCamp")

Đây là mã đầy đủ và đầu ra được in:

from string import Template

print(Template("I love to learn with $name!").substitute(name="freeCodeCamp"))
Ảnh chụp màn hình-2021-09-06-at-10.11.27-PM

Phần kết luận

Có nhiều cách để định dạng chuỗi của bạn trong Python.

Đọc thêm  Danh sách trong Python – Hướng dẫn toàn diện

Cách cũ hơn để định dạng chuỗi của bạn là sử dụng % nhà điều hành.

"This is a string %s" % "string value goes here"

%s hoạt động như một trình giữ chỗ cho giá trị thực. Bạn đặt giá trị thực sau % nhà điều hành.

Phương pháp này thường được gọi là cách “cũ hơn” vì Python 3 đã giới thiệu str.format() và chuỗi ký tự được định dạng (chuỗi f).

bên trong str.format() phương pháp, bạn sử dụng {} cho trình giữ chỗ và đặt các giá trị thực bên trong dấu ngoặc đơn. Phương pháp này có thể nhận các đối số vị trí và từ khóa.

"template string {}".format(arguments)

Các chuỗi ký tự được định dạng (hoặc chuỗi f) cho phép bạn bao gồm các biểu thức bên trong chuỗi của mình. Ngay trước chuỗi bạn đặt một f hoặc F cho máy tính biết bạn muốn sử dụng một f-string.

variable = "some value"
f"this is a string {variable}"

Bạn cũng có thể sử dụng Chuỗi mẫu bằng cách nhập Template class từ thư viện tiêu chuẩn. Chuỗi mẫu là các chuỗi Python sử dụng trình giữ chỗ cho các giá trị thực.

Template("$placeholder").substitute(placeholder="real value")

Tôi hy vọng bạn thấy bài viết này hữu ích và chúc may mắn trên hành trình Python của bạn.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status