Tôi đã phạm sai lầm này:
key, value = 'K', 999
msg = [
f"key={key}, "
"value={value}" # needs to be prefixed with f as well
]
# key=K, value={value}
và bắt đầu tự hỏi làm thế nào Python xử lý các trường hợp phức tạp của cách ghép theo nghĩa đen.
Giả sử một chuỗi là f-string [chuỗi được định dạng theo nghĩa đen] và một chuỗi khác theo nghĩa đen như trong ví dụ trên. Python có liên kết hai chuỗi như vậy tại thời điểm biên dịch không? Và nếu có kết quả là gì?
Lần này, tôi sẽ giới thiệu phương pháp nối chuỗi trong Python. Ở đây, phiên bản Python được giả định là 3.x
.
Concatenate với toán tử++
Cách đơn giản nhất là nối chuỗi bằng toán tử
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
0. Một số ngôn ngữ lập trình don lồng hỗ trợ nối chuỗi chuỗi với toán tử 1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
0, nhưng Python không có vấn đề gì.1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
Concatenate giữa các chuỗi chữ
Python cho phép các chuỗi được nối giữa các chữ cái mà không sử dụng toán tử
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
0. Tuy nhiên, vì tôi thường sử dụng các chuỗi được lưu trữ trong các biến, tôi chưa bao giờ sử dụng phương pháp này một cách trung thực.1txt = 'aaa' 'ccc'
2print[txt]
3
4> aaacccc
Tham gia danh sách với hàm tham gia []
Tiếp theo, nối các yếu tố của chuỗi được lưu trữ trong danh sách. Nó có thể được liên kết với một câu nói như sau, nhưng mô tả sẽ là dự phòng.
1arr = ['aaa', 'bbb', 'ccc']
2txt = ''
3for t in arr:
4 txt += t
5print[txt]
6
7> aaabbbccc
Bây giờ, bạn có thể dễ dàng tham gia bằng cách sử dụng hàm
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
3 loại 1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
4.1arr = ['aaa', 'bbb', 'ccc']
2# String join with empty character
3txt = ''.join[arr]
4print[txt]
5
6> aaabbbccc
Trong ví dụ trên, các chuỗi được nối bởi một ký tự trống [
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
5], nhưng bất kỳ ký tự kết hợp nào cũng có thể được chỉ định. Ví dụ, để kết hợp như một chuỗi được phân tách bằng dấu phẩy, hãy thực hiện như sau.1arr = ['aaa', 'bbb', 'ccc']
2txt = ','.join[arr]
3print[txt]
4
5> aaa,bbb,ccc
Concatenate với hàm định dạng []
Hàm
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
6 là để chuyển đổi định dạng của một chuỗi, nhưng vì đầu ra cuối cùng của hàm này là một chuỗi, nó cũng có thể được sử dụng để kết hợp. Các biến được đưa ra dưới dạng đối số được mở rộng để xảy ra 1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
7 trong chuỗi mẫu.1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = '{}{}{}'.format[a, b, c]
5print[txt]
6
7> 'aaabbbccc'
Bằng cách đưa ra một giá trị số như
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
8, nó có thể mở rộng các biến theo bất kỳ thứ tự nào hoặc mở rộng các biến nhiều lần.1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = '{0}{2}{1}'.format[a, b, c]
5print[txt]
6
7> 'aaacccbbb'
Concatenate với dây F.
Trong Python
1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
9 trở lên, sử dụng 1txt = 'aaa' 'ccc'
2print[txt]
3
4> aaacccc
0 giúp chức năng 1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
6 dễ sử dụng hơn. Điều này có thể được sử dụng bằng cách chỉ cần thêm một 1txt = 'aaa' 'ccc'
2print[txt]
3
4> aaacccc
2 hoặc ____23 trước các trích dẫn trong chuỗi theo nghĩa đen. Mở rộng bất kỳ biến nào trong 1txt = 'aaa' 'ccc'
2print[txt]
3
4> aaacccc
4 và gọi bất kỳ quy trình nào trong 1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = a + b + c
5print[txt]
6
7> aaabbbccc
7.1a = 'aaa'
2b = 'bbb'
3c = 'ccc'
4txt = f'{a}{b}{c}'
5print[txt]
6
7> 'aaabbbccc'