Có lẽ tôi đang thiếu một cái gì đó ở đây, sau khi tìm kiếm tôi không thể tìm thấy câu trả lời.
Tôi đã khám phá khá nhiều dự án Python và một điều tôi nhận thấy là phần lớn trong số họ tiếp tục sử dụng %
toán tử để định dạng chuỗi thay vì .format()
phương thức mới hơn, được đề xuất . Có một lý do cho điều này? nó có vẻ như là một thay đổi nhỏ, trừ khi tôi thiếu một cái gì đó hoàn toàn.
Ví dụ:
# count how many times the % operator technique is used
find . -name "*.py" -exec grep -HE "\"[^\"]+\"\s\%\s\w+|'[^']+'\s\%\s\w+" {} \; | wc -l
# and the same for format()
find . -name "*.py" -exec grep -HE "\w+\.format\(" {} \; | wc -l
# Results:
#
# % operator format()
# iPython 670 63
# Django 977 8
# Tornado 91 0
# requests 25 1
Không có lý do thực sự cho câu hỏi này, chỉ tò mò.
Cố lên các chàng trai!
%
hiệu quả hơn và ít dài dòng hơn cho việc thay thế chuỗi đơn giản. Tôi sử dụng nó hầu hết các lần và khi tôi cần định dạng mạnh hơn tôi sẽ sử dụng.format
.format()
phương thức?