Trong lập trình Python, thao tác với chuỗi là một phần không thể thiếu. Một trong những thao tác cơ bản và thường xuyên được sử dụng là nối chuỗi. Bài viết này sẽ giới thiệu khái niệm nối chuỗi trong Python, cùng một số phương pháp thực hiện đơn giản, dễ bạn áp dụng với trong các dự án của mình.

Các điểm chính

Khi đọc xong bài viết, bạn sẽ:

Nối chuỗi trong Python là gì?

Nối chuỗi (String Concatenation) trong Python là thao tác ghép hai hoặc nhiều chuỗi lại với nhau. Kết quả của thao tác này sẽ là một chuỗi mới chứa các chuỗi ban đầu.

Nỗi chuỗi trong Python là theo tác ghép hai hay nhiều chuỗi lại với nhau
Nỗi chuỗi trong Python là theo tác ghép hai hay nhiều chuỗi lại với nhau

Hình dưới đây mô tả một hoạt động nối chuỗi tổng quát:

vi du noi chuoi trong python
Hoạt động nối chuỗi trong Python

Trong Python, có nhiều cách khác nhau để thực hiện việc nối chuỗi. Chúng ta sẽ lần lượt xem xét những cách sau:

Sử dụng toán tử + để nối chuỗi trong Python 

Toán tử “+” thường được biết đến như một toán tử cộng, dùng để tính tổng của hai số. Tuy nhiên, trong Python, ký hiệu “+” còn đóng vai trò là toán tử nối chuỗi. Toán tử này hoạt động với hai toán hạng kiểu chuỗi và kết quả trả về là một chuỗi mới, được tạo ra bằng cách nối hai chuỗi ban đầu.

Cụ thể, các ký tự của chuỗi bên phải dấu cộng sẽ được ghép vào sau chuỗi bên trái dấu cộng. Kết quả của phép nối chuỗi là một chuỗi hoàn toàn mới. 

Ví dụ, chúng ta có hai chuỗi tên riêng và tên đệm của một người. Chúng ta muốn ghép hai chuỗi đó lại để tạo thành tên đầy đủ, việc đó có thể thực hiện như sau trong Python:

ten_dem = "Văn "
ten_rieng = "An"
print("Tên đệm:", ten_dem)
print("Tên riêng:", ten_rieng)
ten_day_du = ten_dem + ten_rieng
print("Tên đầy đủ:", ten_day_du)

Kết quả hiển thị trên màn hình sẽ là:

Tên đệm: Văn

Tên riêng: An

Tên đầy đủ: Văn An

Giải thích:

  • ten_dem = "Văn "ten_rieng = "An": Khai báo và gán giá trị cho hai biến chuỗi.
  • print("Tên đệm:", ten_dem)print("Tên riêng:", ten_rieng): Hiển thị giá trị của hai biến chuỗi ten_demten_rieng.
  • ten_day_du = ten_dem + ten_rieng: Toán tử + được sử dụng để nối hai chuỗi ten_demten_rieng lại với nhau. Kết quả của phép nối được gán cho biến ten_day_du.
  • print("Tên đầy đủ:", ten_day_du): Xuất ra tên đầy đủ.

Sử dụng khoảng trắng để nối chuỗi

Để thêm một khoảng trắng (space) giữa hai chuỗi khi nối chúng, ta có thể sử dụng một chuỗi trống thứ ba. Ví dụ:

ten = "Nguyễn"
ho = "Văn"
dem = " " # Chuỗi chứa một khoảng trắng
ho_ten_day_du = ho + dem + ten
print("Họ:", ho)
print("Tên:", ten)
print("Họ và tên đầy đủ:", ho_ten_day_du)

Khi thực thi đoạn code trên, màn hình sẽ hiển thị:

Họ: Văn
Tên: Nguyễn
Họ và tên đầy đủ: Văn Nguyễn

Giải thích code:

  • ten, ho: Các biến chứa các phần của một họ và tên đầy đủ.
  • dem = " ": Khai báo một biến dem và gán cho một chuỗi chỉ chứa một ký tự khoảng trắng.
  • ho_ten_day_du = ho + dem + ten: Thực hiện phép nối chuỗi, sử dụng biến dem để chèn khoảng trắng giữa hoten.

Nối chuỗi trong Python bằng cách nhân chuỗi

Thông thường, chúng ta dùng ký hiệu * để nhân hai số. Tuy nhiên, trong Python, * còn có thể được dùng với các chuỗi ký tự (string). Trong trường hợp này, * đóng vai trò là một toán tử lặp lại (repetition operator). Khi sử dụng, một trong các toán hạng phải là một số nguyên, và toán hạng còn lại là một chuỗi. Số nguyên sẽ chỉ định số lần chuỗi đó được lặp lại và nối với nhau.

Ví dụ bạn muốn in ra dòng chữ “Chúc mừng!” lặp lại nhiều lần thay vì chỉ một lần. Chúng ta sẽ làm điều đó như sau:

thong_diep = "Chúc mừng! " * 4
print(thong_diep)

Kết quả hiển thị lên màn hình khi thực thi lệnh print():

Chúc mừng! Chúc mừng! Chúc mừng! Chúc mừng!

Giải thích:

  • Toán tử *: Toán tử * ở đây không phải dùng để nhân số, mà để lặp lại chuỗi.
  • "Chúc mừng! ": "Chúc mừng! " là chuỗi cần lặp.
  • Số 4: Số 4 chỉ định rằng chuỗi "Chúc mừng! " sẽ được lặp lại 4 lần.
  • thong_diep = "Chúc mừng! " * 4: Khi gán giá trị này cho một biến ta sẽ có được một chuỗi mới bao gồm các chuỗi cũ được lặp.

Nối chuỗi với toán tử + và *

Cả toán tử lặp (*) và toán tử nối chuỗi (+) đều có thể được sử dụng trong cùng một biểu thức để nối các chuỗi lại với nhau. Toán tử * có độ ưu tiên cao hơn so với toán tử +. Ví dụ:

Trong ví dụ dưới đây, chúng ta sẽ thực hiện nối chuỗi, sử dụng kết hợp cả toán tử +*:

chuoi1 = "Xin"
chuoi2 = " chào"
print("Chuỗi 1:", chuoi1)
print("Chuỗi 2:", chuoi2)
chuoi3 = chuoi1 + chuoi2 * 3
print("Chuỗi 3:", chuoi3)
chuoi4 = (chuoi1 + chuoi2) * 3
print("Chuỗi 4:", chuoi4)

Khi chạy đoạn mã trên, bạn sẽ thấy kết quả như sau:

Chuỗi 1: Xin
Chuỗi 2: chào
Chuỗi 3: Xin chào chào chào
Chuỗi 4: Xin chàoXin chàoXin chào

Giải thích Code:

  • chuoi1 = "Xin"chuoi2 = " chào": Khởi tạo hai chuỗi, chuoi1 có giá trị "Xin", chuoi2 có giá trị " chào".
  • print("Chuỗi 1:", chuoi1)print("Chuỗi 2:", chuoi2): In giá trị hai chuổi chuoi1chuoi2.
  • chuoi3 = chuoi1 + chuoi2 * 3: Trong biểu thức này, do toán tử * có độ ưu tiên cao hơn +, Python sẽ thực hiện chuoi2 * 3 trước. Kết quả là " chào chào chào". Sau đó, Python mới thực hiện phép cộng chuỗi: "Xin" + " chào chào chào". Do vậy, chuoi3 có giá trị "Xin chào chào chào".
  • print("Chuỗi 3:", chuoi3): Hiển thị ra màn hình String 3: Xin chào chào chào
  • chuoi4 = (chuoi1 + chuoi2) * 3: Trong trường hợp này, dấu ngoặc đơn () làm thay đổi thứ tự ưu tiên. Python sẽ thực hiện phép nối chuỗi chuoi1 + chuoi2 trước, tạo thành "Xin chào". Sau đó, kết quả này mới được lặp lại 3 lần bằng toán tử *. Vì thế, chuoi4 có giá trị là "Xin chàoXin chàoXin chào".
  • print("Chuỗi 4:", chuoi4): Hiển thị ra màn hình String 4: Xin chàoXin chàoXin chào

Lưu ý:

  • Để tạo chuỗi 3 * "chào" Python sẽ lặp lại 3 lần chuỗi “chào”, trước khi nối vào với chuỗi Xin.
  • Trong trường hợp thứ 2 dấu ngoặc giúp cho Python biết thực hiện phép ("Xin" + "chào") * 3 trước. Rồi mới thực hiện phép lặp *.
  • Ngoài toán tử +*, không có toán tử số học nào khác (-, /, …) có thể được sử dụng với các toán hạng chuỗi.

Vietnix – Nhà cung cấp dịch vụ VPS chất lượng cao, đáp ứng mọi nhu cầu sử dụng

Vietnix cung cấp dịch vụ thuê VPS chất lượng cao với tốc độ vượt trội, bảo mật chặt chẽ và khả năng mở rộng linh hoạt. Hệ thống sử dụng ổ cứng SSD/NVMe Enterprise kết hợp CPU Intel Xeon/AMD mạnh mẽ, cùng công nghệ ảo hóa KVM hiện đại, đảm bảo hiệu suất ổn định. VPS hỗ trợ nhiều hệ điều hành như Windows, Linux, tích hợp noVNC Console, giúp quản lý dễ dàng từ xa. Dữ liệu được sao lưu tự động hàng tuần và lưu trữ trên server độc lập, giúp bảo vệ thông tin quan trọng. Vietnix cam kết uptime 99.9%, băng thông rộng rãi, hỗ trợ kỹ thuật 24/7, mang đến trải nghiệm sử dụng tối ưu.

Ngoài ra, Vietnix còn cung cấp dịch vụ VPS giá rẻ với nhiều gói linh hoạt, đáp ứng đa dạng nhu cầu sử dụng. VPS được trang bị ổ cứng SSD Enterprise RAID 10, băng thông lớn và tốc độ mạng 100 Mbps giúp truy xuất dữ liệu nhanh chóng. Hỗ trợ miễn phí chuyển dữ liệu về Vietnix, dễ dàng nâng cấp hoặc hạ cấp tài nguyên theo nhu cầu. Hệ thống đạt chứng nhận ISO 27001:2022 về bảo mật và ISO 9001:2015 về chất lượng, đảm bảo an toàn tuyệt đối.

Thông tin liên hệ:

Như vậy, chúng ta đã cùng tìm hiểu chi tiết về các cách nối chuỗi trong Python, từ những phương pháp cơ bản như sử dụng toán tử +, khoảng trắng, cho đến kỹ thuật nhân chuỗi và kết hợp cả + và *. Hy vọng rằng, với những kiến thức này, bạn có thể áp dụng linh hoạt vào việc lập trình, xử lý chuỗi một cách hiệu quả và tối ưu code của mình.

Mọi người cũng đọc