Chúng ta sẽ tìm hiểu tất cả 4 loại phương thức và tìm hiểu các trường hợp sử dụng để bạn có thể tìm hiểu các nguyên tắc cơ bản của các kỹ thuật định dạng chuỗi khác nhau
Giới thiệu
Định dạng chuỗi là gì?
Có 4 cách để thực hiện định dạng chuỗi khác nhau
Sử dụng Toán tử % ["kiểu cũ"]
Sử dụng phương thức chuỗi format[]
Sử dụng chuỗi ký tự [chuỗi f]
Sử dụng lớp Mẫu chuỗi
Chúng ta sẽ thấy các nguyên tắc cơ bản của những cách được đề cập ở trên
1. Sử dụng toán tử % [modulo]
Cách định dạng chuỗi này, sử dụng toán tử % [modulo]. Nếu bạn biết về các toán tử số học trong Python thì bạn sẽ biết rằng chúng tôi sử dụng toán tử này để lấy phần còn lại của cổ tức
Cùng một toán tử mà chúng tôi sử dụng trong kiểu định dạng chuỗi lâu đời nhất. Toán tử Modulo [%] còn được gọi là toán tử "Định dạng chuỗi" hoặc "Nội suy chuỗi"
Đây là một ví dụ
# An example to demonstrate the use of the operator for string formatting
name = "Python"
print["Hello, %s" %name]
# ----------------OR--------------
print["Hello, %s!" %'Geeks']
đầu ra
Chúng tôi sử dụng các trình xác định định dạng để nói với Python rằng bạn phải thay thế giá trị đã cho ở vị trí cụ thể đó
Tôi đã sử dụng công cụ xác định định dạng
x = "car"
print["The dog %s down the %s." %['chased', x]]
0 để chèn chuỗi x = "car"
print["The dog %s down the %s." %['chased', x]]
1 vào vị trí cụ thể đóChúng tôi có một số công cụ xác định định dạng mà chúng tôi thường sử dụng
%s - cho chuỗi
%d - cho số nguyên
%f - cho các giá trị dấu phẩy động
%b - cho định dạng nhị phân
%e - cho số mũ dấu phẩy động
Hãy xem các ví dụ hiển thị các điều kiện định dạng khác nhau
Ví dụ 1. Định dạng các giá trị số nguyên
print["I bought %d apples and %d oranges." %[6, 4]]
đầu ra
Chúng ta có thể chèn nhiều chuỗi cũng như có thể sử dụng các biến để chèn các đối tượng vào chuỗi
Ví dụ - 2
x = "car"
print["The dog %s down the %s." %['chased', x]]
đầu ra
Sử dụng nhiều loại chuyển đổi định dạng trong một chuỗi
Ví dụ - 3
name = "Yashwant"
print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
đầu ra
Độ chính xác dấu phẩy động sử dụng toán tử %
print["The length of land is: %2.3f metres" %[85.52590]]
đầu ra
Bây giờ bạn có thể thắc mắc, tại sao tôi lại sử dụng
x = "car"
print["The dog %s down the %s." %['chased', x]]
2Các số dấu phẩy động sử dụng định dạng
x = "car"
print["The dog %s down the %s." %['chased', x]]
3, trong đó x = "car"
print["The dog %s down the %s." %['chased', x]]
4 là số chữ số tối thiểu trong một chuỗi và x = "car"
print["The dog %s down the %s." %['chased', x]]
5 biểu thị số lượng chữ số phải hiển thị sau dấu thập phânNếu toàn bộ số không có số chữ số được chỉ định thì nó có thể được đệm bằng khoảng trắng
print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
đầu ra
Ở đây, câu lệnh in đầu tiên được đệm bằng khoảng trắng. Bạn có thể nhận thấy sự khác biệt trong cả hai kết quả
Để biết thêm, bấm vào
2. Sử dụng phương thức định dạng[]
Phương pháp này được giới thiệu để loại bỏ định dạng toán tử %. Phương pháp này phù hợp để xử lý định dạng chuỗi phức tạp hiệu quả hơn
Phương thức
x = "car"
print["The dog %s down the %s." %['chased', x]]
6 khá đơn giản và nhanh so với định dạng toán tử x = "car"
print["The dog %s down the %s." %['chased', x]]
7 và được giới thiệu trong Python3Trong kỹ thuật định dạng này, trình định dạng hoạt động bằng cách đặt các trình giữ chỗ được bao quanh bởi cặp dấu ngoặc nhọn
x = "car"
print["The dog %s down the %s." %['chased', x]]
8 và gọi phương thức x = "car"
print["The dog %s down the %s." %['chased', x]]
6cú pháp
"Chuỗi đi { } và ở đây { }". định dạng ["ở đây", "cũng"]
Đây là một ví dụ
# Formatting using format[] method
print["Hey {}, Welcome {}....".format['Geeks', 'here']]
đầu ra
Hãy xem một số ví dụ
Chúng ta có thể sử dụng định vị dựa trên chỉ mục để chèn đối tượng vào chuỗi
Ví dụ 1. Sử dụng định vị dựa trên chỉ mục
print["{1}, there's a {2} {0} ahead".format["error", "Caution", "Python"]]
đầu ra
Ví dụ - 2
print["Python: {x}, Inventor: {y}, Version: {z}".format[x=1991,
y="Guido",
z=3.9]]
đầu ra
Ví dụ - 3. Tái sử dụng đối tượng
print["The first {obj} was easy, the second {obj} was intermediate "
"but the third {obj} was very tough.".format[obj="hurdle"]]
đầu ra
Độ chính xác dấu phẩy động với phương pháp
name = "Yashwant"
print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
0print["I bought %d apples and %d oranges." %[6, 4]]
0đầu ra
Chúng tôi đã thấy độ chính xác của dấu phẩy động bằng cách sử dụng toán tử
name = "Yashwant"
print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
1 trong đó định dạng là x = "car"
print["The dog %s down the %s." %['chased', x]]
3 nhưng trường hợp ở đây hơi khác một chútỞ đây, Cú pháp sẽ là
{ [ mục lục ]. [ chiều rộng ]. [ độ chính xác ] [ loại ] }
Nếu chúng ta phân tích
name = "Yashwant"
print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
3 điều này thì
4 - là giá trị chỉ sốname = "Yashwant" print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
5 - là chiều rộngname = "Yashwant" print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
6 - có chính xác hay không. số chữ số được hiển thị sau dấu thập phânname = "Yashwant" print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
7 - là loại mã định dạngname = "Yashwant" print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
Đây là loại phổ biến chúng ta có thể sử dụng với mã định dạng
"d" - cho số nguyên
"f" - cho số dấu phẩy động
"s" - cho chuỗi
"e" - cho dấu phẩy động ở định dạng số mũ
"o" - cho số bát phân
"x" - cho số thập lục phân
"b" - cho số nhị phân
Để biết thêm, bấm vào
3. Sử dụng chuỗi f [Nội suy chuỗi ký tự]
Nội suy chuỗi ký tự, một cơ chế mới để định dạng chuỗi được giới thiệu trong PEP 498
Các chuỗi này được gọi là chuỗi f vì ký tự đầu tiên của chúng là
name = "Yashwant"
print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
8 được sử dụng để biểu thị chuỗi và ở đây, f - viết tắt của chuỗi "được định dạng"chuỗi f là các chuỗi ký tự có tiền tố là chữ cái
name = "Yashwant"
print["My %s %s bought the car worth $%d." %['friend', name, 15000]]
8f-string sử dụng cùng một ngôn ngữ nhỏ xác định định dạng được sử dụng cho
x = "car"
print["The dog %s down the %s." %['chased', x]]
6Đây là ví dụ
print["I bought %d apples and %d oranges." %[6, 4]]
1đầu ra
Hãy xem trường hợp sử dụng của chuỗi f trong các điều kiện khác nhau
Ví dụ 1. Sử dụng nhiều biểu thức
print["I bought %d apples and %d oranges." %[6, 4]]
2đầu ra
Ví dụ - 2. Sử dụng f-string bên trong
print["The length of land is: %2.3f metres" %[85.52590]]
1print["I bought %d apples and %d oranges." %[6, 4]]
3đầu ra
Ví dụ - 3. Sử dụng biểu thức
print["The length of land is: %2.3f metres" %[85.52590]]
2 bên trong chuỗi fprint["I bought %d apples and %d oranges." %[6, 4]]
4đầu ra
Độ chính xác của dấu phẩy động trong chuỗi f
cú pháp
{ giá trị. { chiều rộng }. { độ chính xác } }
print["I bought %d apples and %d oranges." %[6, 4]]
5đầu ra
Để biết thêm chi tiết bấm vào đây
4. Lớp mẫu chuỗi
Trong phương pháp này, chúng tôi sử dụng
print["The length of land is: %2.3f metres" %[85.52590]]
3 trước các trình giữ chỗ được đặt trong dấu ngoặc nhọn print["The length of land is: %2.3f metres" %[85.52590]]
4Trong kiểu định dạng này, chúng tôi sử dụng lớp
print["The length of land is: %2.3f metres" %[85.52590]]
5 để tạo mẫu và khi mẫu đã được tạo thì chúng tôi có thể thực hiện thay thế bằng cách gọi hai phương thức
6. Phương thức này trả về một chuỗi mới, kết quả khi các giá trị của ánh xạ được thay thế cho các trình giữ chỗ trong Mẫu. Nếu có các trình giữ chỗ không có trong ánh xạ, KeyError sẽ được nâng lênprint["The length of land is: %2.3f metres" %[85.52590]]
7. Điều này tương tự như phương thức replace[], ngoại trừ KeyErrors không bao giờ xuất hiện [do thiếu trình giữ chỗ trong ánh xạ]. Khi một trình giữ chỗ bị thiếu, trình giữ chỗ ban đầu sẽ xuất hiện trong chuỗi kết quả. [Nguồn]print["The length of land is: %2.3f metres" %[85.52590]]
Hãy xem ví dụ để hiểu rõ hơn
print["I bought %d apples and %d oranges." %[6, 4]]
6đầu ra
Ở đây
print["The length of land is: %2.3f metres" %[85.52590]]
8 và print["The length of land is: %2.3f metres" %[85.52590]]
9 là các phần giữ chỗ có tiền tố là print["The length of land is: %2.3f metres" %[85.52590]]
3 được thay thế bằng các giá trị của ánh xạ print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
1 và print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
2Ví dụ 1. Nâng cao
print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
3print["I bought %d apples and %d oranges." %[6, 4]]
7đầu ra
Đoạn mã trên đã tăng
print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
3 vì tôi không chỉ định ánh xạ cho trình giữ chỗ print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
5. Nhưng nếu chúng ta sử dụng phương pháp print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
6 thì nó sẽ không tăng KeyErrorVí dụ - 2. Sử dụng phương pháp
print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
7print["I bought %d apples and %d oranges." %[6, 4]]
8đầu ra
Ở đây tôi không chỉ định ánh xạ cho
print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
8 và tôi vẫn không gặp bất kỳ lỗi nào vì tôi đã sử dụng phương pháp print["The length of land is: %7.3f metres" %[85.52590]]
print["The length of land is: %0.3f metres" %[85.52590]]
9Để biết thêm, bấm vào
So sánh
print["I bought %d apples and %d oranges." %[6, 4]]
9đầu ra
Phần kết luận
Cho đến nay, chúng tôi kết luận rằng tất cả các cách được thực hiện để định dạng chuỗi là khác nhau, mỗi cách có một kiểu định dạng riêng
Các kỹ thuật và cách thức mới đã được tạo ra để khắc phục tình trạng thiếu hiệu quả hoặc khả năng xử lý các định dạng phức tạp
Vì chúng tôi đã xem tất cả các loại định dạng chuỗi và so sánh chúng, chúng tôi có thể chọn kỹ thuật định dạng chuỗi tốt nhất và hiệu quả nhất cho mình