Khai báo chuỗi trong python | Laptrinhcanban.com

Khai báo chuỗi trong python

Hướng dẫn cách khai báo chuỗi trong python. Bạn sẽ học được cách khai báo chuỗi bằng dấu nháy đơn và nháy kép trong python, cũng như cách khai báo chuỗi nhiều dòng trong python sau bài học này.

Chuỗi trong python ( tiếng anh : String in python) là một hằng số bao gồm nhiều ký tự nối lại với nhau. Chuỗi ký tự cũng là một iterable - dạng dữ liệu là các đối tượng có nhiều phần tử có thể lặp lại.

Khai báo chuỗi trong python

Để khai báo chuỗi trong python, chúng ta đặt các ký tự tạo chuỗi đó nằm giữa cặp dấu nháy đơn '' hoặc dấu nháy kép "" như dưới đây:

"Chuỗi ký tự"
Hoặc
'Chuỗi ký tự'

Chúng ta có thể sử dụng các ký tự như chữ số, chữ cái, dấu cách để tạo chuỗi ký tự trong python, giống như ví dụ dươi đây:

'Hello, Python'
"myname"
"Kiyoshi"
'2020'

Không có sự khác biệt khi bạn dùng dấu nháy đơn hay ngoặc kép để khai báo chuỗi trong python. Do đó tùy theo thói quen mà bạn có thể sử dụng cách dùng phù hợp với mình.
Lại nữa, nếu bạn quên không ghi các ký tự vào bên trong dấu nháy đơn hoặc dấu nháy kép khi khai báo chuỗi trong python, thì python sẽ chỉ hiểu đó là tên một biến, hoặc là một số, như dưới đây:

myname
#>> một biến tên myname

2020
#>> một số có giá trị là 2020

Khi khai báo chuỗi trong python, chúng ta có thể đồng thời sử dụng chuỗi mới khai báo như là đối số của hàm in và xuất ra màn hình (hàm print), hoặc có thể gán chuỗi ký tự đó vào một biến để sử dụng sau đó.

#sử dụng chuỗi ký tự như là đối số của hàm in 
print('bigcityboy')

#lưu chuỗi ký tự vào một biến
bài_hát = 'bigcityboy'
print(bài_hát)

Hai ví dụ đều cho ra cùng kết quả:

bigcityboy

Khai báo chuỗi chứa dấu nháy đơn ' hoặc dấu nháy kép " trong python

Chúng ta có thể đặt khai báo chuỗi trong python bằng cách đặt các ký tự vào giữa cặp dấu nháy đơn hoặc dấu nháy kép .
Tuy nhiên khi khai báo chuỗi chứa dấu nháy đơn ' hoặc dấu nháy kép " trong python thì chúng ta cần hết sức chú ý.

Ví dụ trong chuỗi ký tự Kiyoshi's web có chứa dấu nháy đơn ' . Để khai báo chuỗi này, chúng ta không thể dùng cách đơn giản là đặt tất cả các ký tự tạo chuỗi vào giữa cặp dấu nháy đơn được, vì sẽ xảy ra lỗi như sau:

print('Kiyoshi's web')

Python báo lỗi trả về:

  File "", line 1
print('Kiyoshi's web')
^
SyntaxError: invalid syntax

Lý do xảy ra lỗi là vì, kí tự kiyoshi được đặt giữa hai dấu nháy đơn ', do đó python sẽ nhận định đây kiyoshi là một chuỗi ký tự và kết thúc khai báo chuỗi tại vị trí ký tự i.
Phần ký tự còn lại web do chỉ được đặt trong một dấu nháy đơn ' ,dẫn đến xảy ra lỗi cú pháp. Python đã hiểu sai yêu cầu của chúng ta và báo lỗi mất rồi.

Để không xảy ra lỗi cú pháp như vậy, chúng ta lưu ý khi khai báo một chuỗi chứa dấu nháy đơn ', phải đặt các ký tự tạo chuỗi này vào giữa dấu nháy kép "".
Ngược lại, khi khai báo một chuỗi mà các ký tự tạo chuỗi có chứa dấu nháy kép ", phải đặt các ký tự này vào giữa dấu nháy đơn ' khi viết chuỗi.

Ví dụ ở trên cần phải sửa lại như sau:

print("Kiyoshi's web")

print('Học lập trình theo "phong cách Nhật Bản" ')

Kết quả

Kiyoshi's web
Học lập trình theo "phong cách Nhật Bản"

Ngoài việc chú ý khi khai báo chuỗi chứa dấu nháy đơn ' hoặc dấu nháy kép " như trên, chúng ta cũng cần phải lưu ý khi dùng ký tự đặc biệt để khai báo chuỗi trong python. Bạn có thể tìm hiểu kỹ hơn về các ký tự đặc biệt này trong bài Cách Sử dụng chuỗi thoát escape sequence trong python

Khai báo chuỗi nhiều dòng trong python

Sử dụng chuỗi thoát \n để khai báo chuỗi nhiều dòng trong python

Để để khai báo chuỗi nhiều dòng trong python, chúng ta thêm chuỗi thoát \n vào cách vị trí muốn xuống dòng trong chuỗi với cú pháp sau đây:

abc\ndef\nxyz

Trong đó abc ,defxyz là các dòng của chuỗi nhiều dòng cần khai báo trong python.
Ví dụ:

str="Con cò mày đi ăn đêm\nĐậu phải cành mềm lộn cổ xuống ao"
print(str)

Kết quả:

Con cò mày đi ăn đêm
Đậu phải cành mềm lộn cổ xuống ao

Chi tiết về cách sử dụng chuỗi thoát trong python, bạn có thể tìm hiểu thêm tại bài chuỗi thoát trong python.

Sử dụng ba dấu nháy đơn hoặc ba dấu nháy kép để khai báo chuỗi nhiều dòng trong python

Ngoài cách dùng chuỗi thoát \n, chúng ta còn một cách đơn giản nhất để khai báo chuỗi nhiều dòng trong python, đó là đặt các phần tạo nên chuỗi nhiều dòng đó vào ba dấu nháy đơn hàng ''' hoặc ba dấu nháy kép """, với cú pháp sau đây:

"""abc
def
xyz"""

Hoặc

'''abc
def
xyz'''

Trong đó abc ,defxyz là các dòng của chuỗi nhiều dòng cần khai báo trong python.
Bằng cách sử dụng ba dấu nháy để khai báo chuỗi nhiều dòng trong python, chúng ta sẽ không phải mất công thêm chuỗi thoát \n vào từng phần của chuỗi, nên sẽ tiết kiệm được thời gian hơn khi viết code python.

Hãy so sánh cách dùng của hai cách khai báo chuỗi nhiều dòng trong python bằng ví dụ sau đây:

Chúng ta có một chuỗi là câu ca dao như sau:

Hôm qua tát nước đầu đình
bỏ quên chiếc áo trên cành hoa sen
Em được thì cho anh xin
Hay là em để làm tin trong nhà

Chúng ta sẽ in xuống dòng ra màn hình với các cách sau đây:
Cách 1: sử dụng chuỗi thoát

str1="Hôm qua tát nước đầu đình \nbỏ quên chiếc áo trên cành hoa sen \nEm được thì cho anh xin \nHay là em để làm tin trong nhà"
print(str1)

Cách 2: sử dụng ba dấu nháy đơn

str2='''Hôm qua tát nước đầu đình 
bỏ quên chiếc áo trên cành hoa sen
Em được thì cho anh xin
Hay là em để làm tin trong nhà'''

print(str2)

Cách 3: sử dụng ba dấu nháy kép

str3="""Hôm qua tát nước đầu đình 
bỏ quên chiếc áo trên cành hoa sen
Em được thì cho anh xin
Hay là em để làm tin trong nhà"""

print(str3)

Cả ba cách trên đều đưa ra kết quả giống nhau như sau:

Hôm qua tát nước đầu đình 
bỏ quên chiếc áo trên cành hoa sen
Em được thì cho anh xin
Hay là em để làm tin trong nhà

Tuy nhiên bạn có thể thấy thay vì dùng 3 chuỗi thoát \n trong câu để khai báo chuỗi nhiều dòng trong python, bạn có thể làm mọi chuyện dễ dàng hơn với cặp ba dấu nháy đấy.

Khai báo chuỗi nhiều dòng chứa dấu nháy đơn ' hoặc dấu nháy kép " trong python

Ở phần trên bạn đã biết để khai báo chuỗi chứa dấu nháy đơn ' hoặc dấu nháy kép " trong python, chúng ta cần chú ý cách viết để không xảy ra lỗi.

Tuy nhiên nếu bạn khai báo một chuỗi nhiều dòng chứa dấu nháy đơn ' và dấu nháy kép " trong python bằng cách sử dụng dấu ba dấu nháy đơn hoặc ba dấu nháy kép, vì tất cả các ký tự đặc biệt nằm giữa chúng đều được coi như là ký tự thông thường tạo chuỗi, nên sẽ không bị xảy ra lỗi khi chạy chương trình.

Giống như ví dụ dưới đây:

print(""" Anh ấy rất "đặc biệt" với cô ấy""")
#>> Anh ấy rất "đặc biệt" với cô ấy

Bạn có thể thấy dấu nháy kép " được coi như ký tự bình thường và đã được in ra màn hình.

Lưu ý khi khai báo chuỗi nhiều dòng trong python

Khi khai báo chuỗi nhiều dòng trong python bằng ba dấu nháy đơn hoặc ba dấu nháy kép, chuỗi nhiều dòng sẽ được tính từ vị trí đầu tiên sau dấu nháy thứ nhất. Do đó nếu bạn ngắt dòng ngay sau dấu nháy này, thì ký tự xuống dòng sẽ được tạo ra, giống như ví dụ sau đây:

print("""
Tối nay hẹn em 12h
bên bờ hồ""")

Kết quả, một dòng trống sẽ được tạo ra trước khi in ra dòng đầu tiên của chuỗi như dưới đây:


Tối nay hẹn em 12h
bên bờ hồ

Để tránh trường hợp này, bạn hãy thêm chuỗi thoát \ vào sau dấu nháy đầu tiên như sau:

print("""\
Tối nay hẹn em 12h
bên bờ hồ""")

Kết quả:

Tối nay hẹn em 12h
bên bờ hồ

Bạn thấy đó, dòng trống đầu tiên đã biến mất và kết quả theo đúng như điều chúng ta muốn.

Ứng dụng của chuỗi nhiều dòng trong python

Ngoài cách sử dụng chuỗi nhiều dòng như là một chuỗi thông thường, bạn cũng có thể sử dụng chuỗi nhiều dòng được khai báo bởi ba dấu nháy để viết chú thích nhiều dòng trong python.
Bản chất của cách viết này là chúng ta khai báo chuỗi nhiều dòng trong python bằng ba dấu nháy và không thêm lệnh xử lý gì với chuỗi mới khai báo.
Do đó chuỗi nhiều dòng vừa được khai báo sẽ chỉ có tác dụng lưu trữ thông tin mà không ảnh hưởng gì đến chương trình.
Ví dụ:

"""
Ngày viết : 210227
Tác giả : Kiyoshi
"""

print("khai báo chuỗi trong python")

Chuỗi nhiều dòng ở câu lệnh trên chỉ có tác dụng lưu trữ thông tin như là các chú thích trong python mà không làm ảnh hưởng tới kết quả chương trình như ở dưới đây:

khai báo chuỗi trong python

Tổng kết

Trên đây Kiyoshi đã hướng dẫn các bạn cách khai báo chuỗi trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.