Như đã đề cập ở bài viết Chuỗi ký tự (String) trong Python, chuỗi ký tự (để ngắn gọn chúng ta sẽ gọi là String trong bài viết này) là một kiểu dữ liệu được sử dụng phổ biến trong lập trình. Do đó, việc thao tác trên chuỗi ký tự là việc chúng ta sẽ cần phải làm rất thường xuyên khi viết code. Trong bài viết này, chúng ta sẽ tìm hiểu về các kỹ thuật nối chuỗi ký tự (String) trong Python.
Bumbii Education Facebook Group
- Chia sẻ, hỏi đáp, bàn luận các vấn đề học tập.
- Gặp gỡ các anh chị, thầy cô có nhiều năm kinh nghiệm.
- Cập nhật các kiến thức, tài liệu mới nhất.
Tham gia ngay!
1. Đặt các “literal” String kế tiếp nhau
Trước tiên, các bạn cần hiểu “literal” string là gì? Literal string là chuỗi ký tự được đặt trong dấu nháy (đơn hoặc kép), chuỗi ký tự này được gán trong code và không thể thay đổi (immutable) sau khi được tạo ra. Trong ví dụ dưới đây, "Hello Bumbii!"
là một literal string, còn a_literal_string
là một biến (variable):
a_literal_string = "Hello Bumbii!"
Trong ví dụ tiếp theo dưới đây, chúng ta sẽ dùng kỹ thuật nối literal string để tạo ra một chuỗi mới:
concatenated_literal_string = "Hello " "Bumbii!"
print(concatenated_literal_string) # Hello Bumbii!
Lưu ý: kỹ thuật này chỉ áp dụng được với “literal” string, chúng ta không thể đặt hai hoặc nhiều biến (variable) string kế tiếp nhau để nối chúng lại.
# Can not apply this method for string variables. Below code won't work
# concatenated_literal_string_1 = concatenated_literal_string concatenated_literal_string
2. Sử dụng toán tử +
hoặc +=
Đây là một kỹ thuật có thể nói là đơn giản và dễ hiểu nhất. Kỹ thuật này có thể được áp dụng cho cả literal string và biến string.
# 2. Use the + operator
s1 = "Hello " + "Bumbii!"
print(s1) # Hello Bumbii!
s2 = "Hello "
s3 = "Python!"
s4 = s2 + s3
print(s4) # Hello Python!
s5 = s1 + s4
print(s5) # Hello Bumbii!Hello Python!
s5 += " Yooo!"
print(s5) # Hello Bumbii!Hello Python! Yooo!
3. Sử dụng hàm join()
Python cung cấp cho chúng ta hàm join()
để nối các chuỗi lại với nhau. Hàm này sẽ nhận vào một danh sách (list) các chuỗi cần nối.
s2 = "Hello"
s3 = "Python!"
# Join 2 strings with space as a separator
s6 = " ".join([s2, s3])
print(s6) # Hello Python!
# Join 2 strings with (comma and space) as a separator
s7 = ", ".join(["Hello", s3])
print(s7) # Hello,Python!
4. Sử dụng %s
và toán tử %
# 4. Use %s and % operator
s8 = "Hello"
s9 = "Bumbii!"
s10 = "I love Python"
s11 = "%s %s %s" % (s8, s9, s10)
print(s11) # Hello Bumbii! I love Python
5. Sử dụng hàm format()
Khi sử dụng hàm format()
để nối các string, Python sẽ thay thế các dấu móc nhọn {}
bằng các đối số truyền vào tương ứng.
s8 = "Hello"
s9 = "Bumbii!"
s10 = "I love Python"
# 5. Use format() method
s12 = "{} {} {}".format(s8, s9, s10)
print(s12) # Hello Bumbii! I love Python
6. Sử dụng f-strings
Từ Python 3.6, chúng ta có thể dùng f-strings
để nối các string một cách dễ dàng hơn
s8 = "Hello"
s9 = "Bumbii!"
s10 = "I love Python"
# 6. Use f-strings
s13 = f"{s8} {s9} {s10}"
print(s13)
Như vậy, Python cung cấp cho chúng ta rất nhiều kỹ thuật khác nhau để nối các chuỗi ký tự. Tùy vào sở thích cũng như tình huống mà các bạn có thể chọn lựa kỹ thuật nào để giải quyết bài toán của các bạn. Tuy nhiên, theo quan điểm cá nhân, việc sử dụng toán tử + và f-strings có vẻ đơn giản nhất. Chúc các bạn học tốt & happy coding!
Bumbii Education Facebook Group
- Chia sẻ, hỏi đáp, bàn luận các vấn đề học tập.
- Gặp gỡ các anh chị, thầy cô có nhiều năm kinh nghiệm.
- Cập nhật các kiến thức, tài liệu mới nhất.
Tham gia ngay!
Giáo dục là nền tảng cho tương lai