Cho dù đó là một truy vấn cơ sở dữ liệu hay kết quả của các phép toán, phương pháp định dạng chuỗi Python cung cấp một cách năng động và hấp dẫn hơn để trình bày kết quả cho người dùng.
Hãy cùng xem cách hoạt động của hàm str.format () trong Python. Bạn cũng sẽ tìm hiểu cách bạn có thể sử dụng định dạng này trong các chương trình của riêng mình.
Hàm str.format () trong Python cho phép bạn chèn kết quả của mình vào bất kỳ đâu trong một chuỗi.
Nó hoạt động bằng cách phân bổ không gian cho các kết quả của bạn trong chuỗi bằng cách sử dụng dấu ngoặc nhọn. Sau đó, nó ghi đầu ra của bạn vào vị trí đó bằng phương thức format () .
Các chuỗi bên ngoài dấu ngoặc nhọn là những gì bạn gọi là văn bản theo nghĩa đen.
Hàm str.format () chấp nhận một giá trị và một chỉ định định dạng chuỗi tùy chọn.
Đây là cú pháp chung trông như thế nào:
str.format(value, format_spec)
Bây giờ chúng ta hãy xem xét các ví dụ thực tế hơn về cách sử dụng phương thức chuỗi Python này.
1. Chèn một giá trị vào một vị trí cụ thể
Dưới đây là một ví dụ cơ bản về cách chèn giá trị vào một chuỗi bằng phương thức str.format () :
Cost = 45 formattedMethod = "This good costs {} dollars only" print(formattedMethod.format(Cost)) Output: This good costs 45 dollars only
Đoạn mã trên giống như:
formattedMethod = "This good costs {} dollars only" print(formattedMethod.format(45)) Output: This good costs 45 dollars only
2. Chèn nhiều đầu ra vào một chuỗi
Bạn cũng có thể chèn nhiều kết quả vào một chuỗi. Đây là cách thực hiện:
y = 7*8 f = 5+5 g = 0 a = "The value of y is {}, while f is {}. Nobody can see {}".format(y, f, g) print(a) Output: The value of y is 56, while f is 10. Nobody can see 0
3. Sử dụng Niềng răng Thoát để Đặt Đầu ra trong Niềng răng Chuyên dụng
Nếu bạn cần đặt bất kỳ kết quả nào trong một dấu ngoặc nhọn, điều đó thật dễ dàng. Bạn chỉ cần giới thiệu thêm hai thanh giằng thoát.
Ví dụ: giả sử bạn muốn y trong một dấu ngoặc nhọn chuyên dụng:
a = "The value of y is {{{}}}, while f is {}. Nobody can see {}".format(y, f, g) print(a) Output: The value of y is {56}, while f is 10. Nobody can see 0
4. Giá trị đầu ra từ danh sách
Bạn có thể chọn các giá trị cụ thể từ một danh sách và chèn chúng vào một chuỗi:
myList = [10, 2, 4, 6] print(("The first is {} and the third is {}").format(myList[0], myList[2])) Output: The first is 10 and the third is 4
Để tránh lặp lại trong ngoặc đơn .format () , bạn có thể đặt định dạng chỉ định để trỏ đến một biến duy nhất.
Đây là cách để làm điều đó:
myList = [10, 2, 4, 6] print(("The first is {yourList[0]} and the third is {yourList[2]}").format(yourList = myList)) Output: The first is 10 and the third is 4
Ví dụ trên cũng áp dụng cho các ví dụ khác mà chúng tôi đã xử lý trước đó. Vì vậy, bạn có thể chơi với chúng bằng thủ thuật này.
5. Chèn giá trị từ từ điển
Tương tự, như bạn đã làm trong phần trước, bạn có thể sử dụng phương thức str.format () để chèn giá trị từ điển vào một chuỗi:
myDiction = {"Ten":10, "Two":2, "Four":4, "Six":6} print(("The first is {} and the third is {}").format(myDiction["Ten"], myDiction["Four"])) Output: The first is 10 and the third is 4
Liên quan: Cách chuyển danh sách thành từ điển bằng Python
Và nếu bạn muốn sử dụng thủ thuật từ phần trước:
myDiction = {"Ten":10, "Two":2, "Four":4, "Six":6} print(("The first is {Ten} and the third is {Four}").format(**myDiction)) Output: The first is 10 and the third is 4
Bạn cũng có thể viết đoạn mã trên dưới dạng:
print(("The first is {d[Ten]} and the third is {d[Four]}").format(d=myDiction)) Output: The first is 10 and the third is 4
6. Chèn đầu ra của một hàm vào một chuỗi
Nếu bạn muốn hiển thị đầu ra của một hàm trong một chuỗi:
def difNums(a, b): if a > b: return a - b else: return return "You can't substract {} from {} using this function".format(a, b) print(("Hey there: {}").format(difNums(2, 6))) Output: Hey there: You can't substract 2 from 6 using this function
Công cụ chỉ định định dạng cho phép bạn chọn cách thức hoạt động của định dạng. Như đã đề cập trước đó, đó là một tham số tùy chọn đi kèm với str.format () .
Sử dụng tùy chọn này, bạn có thể căn chỉnh đầu ra của mình, cắt bớt các chuỗi dài, nhóm đầu ra hoặc làm tròn một số nguyên thành một số lượng cụ thể của các số liệu quan trọng và thậm chí hơn thế nữa.
Bạn sẽ thường viết các mã định dạng bên trong dấu ngoặc nhọn. Nhưng bạn cũng có thể trình bày chúng một cách rõ ràng bên trong dấu ngoặc đơn .format () .
Hãy tiếp tục và xem một số trường hợp sử dụng của nó.
7. Căn chỉnh đầu ra chuỗi
Bạn có thể sử dụng dấu ( > ) lớn hơn để căn chỉnh đầu ra chuỗi ở bên phải:
print("Hello {:>15}".format(12734589)) Output: Hello 12734589
Bạn cũng có thể căn chỉnh văn bản của mình vào giữa nếu bạn muốn:
print("Hello {:^15}".format(12734589)) Output: Hello 12734589
Hãy định dạng thêm đầu ra ở trên. Ví dụ: bạn có thể bao gồm dấu gạch dưới để xem phần đệm ở hai bên đầu ra chuỗi của bạn:
print("Hello {:_^15}".format(12734589)) Output: Hello ___12734589____
Nhưng như đã đề cập trước đó, bạn có thể chỉ định định dạng một cách rõ ràng như một tham số trong str.format () .
Vì vậy, mã trước đó trông giống như thế này trong trường hợp đó:
print("Hello {:{g}}".format(12734589, g = "_^15")) Output: Hello ___12734589____
Vui lòng viết lại các ví dụ khác bằng cách sử dụng tùy chọn trên.
Bạn cũng có thể muốn trả về một số lượng số liệu quan trọng cụ thể cho một phép tính bằng cách sử dụng phương thức .format () .
Ví dụ: mã ví dụ bên dưới làm tròn kết quả của phép toán thành một số thập phân có nghĩa:
calcprofitPerc = ((45 - 20)/45)*100 formattedOutput = "Our profit on this is {profit: .1f}%" print(formattedOutput.format(profit = calcprofitPerc)) Output: Our profit on this is 55.6%
9. Cắt ngắn chuỗi dài
Mặc dù việc cắt bớt một đoạn văn bản có vẻ không thực tế, nhưng bạn không thể biết mình có thể cần nó ở đâu.
Dưới đây là cách cắt bỏ một phần đầu ra chuỗi của bạn bằng cách sử dụng hàm str.format () :
print(("Truncate this to the first 3 alphabets: {:.3}").format("idowuomisola")) Output: Truncate this to the first 3 alphabets: ido
10. Tách biệt nhóm số sử dụng tiêu chí
Bạn có thể phân tách một nhóm số bằng dấu gạch dưới hoặc dấu phẩy:
print("Separated by underscore: {:{g}}".format(12734589, g="_")) print("Separated by comma: {:{g}}".format(12734589, g=",")) Output: Separated by underscore: 12_734_589 Separated by comma: 12,734,589
Liên quan: Cách tách một chuỗi trong Python
Hơn nữa, bạn có thể chỉ định nhóm số bạn muốn xử lý bằng cách sử dụng khóa của nó:
print("First numbers by underscore: {0:{g}}".format(12734589, 123674, 662772, g="_")) print("Third numbers by comma: {2:{g}}".format(12734589, 123674, 662772, g=",")) Output: First numbers by underscore: 12_734_589 Third numbers by comma: 662,772
Một trong những cách bạn có thể làm cho chương trình của mình nổi bật là cách bạn trình bày kết quả và truy vấn. Không nghi ngờ gì nữa, phương pháp định dạng chuỗi Python cung cấp một cách rõ ràng hơn để xuất ra kết quả. Không giống như phương pháp modulo trước đây của các phiên bản Python cũ, định dạng chuỗi mới được giới thiệu trong Python 3 dễ đọc hơn và thân thiện với con người hơn.