Professional Documents
Culture Documents
1
2.3 Chuỗi kí tự (String):
2.3.1 Giới thiệu:
Chuỗi kí tự là kiểu dữ liệu cho phép lưu trữ giá trị dưới
dạng một dãy các kí tự.
Trong Python, Chuỗi kí tự được xem là một tập hợp bao
gồm nhiều kí tự.
Giá trị chuỗi kí tự sẽ được đặt trong dấu “ ” hoặc ‘ ’ hoặc
thậm chí ‘ ‘ ‘ … ‘ ‘ ‘
>>> X = “Hello”
>>> Y = ‘Hello’
01/2009 2
2.3 Chuỗi kí tự (String):
Chuỗi đa dòng:
Trong Python, để nhập 1 chuỗi nhiều dòng, sử dụng 3
dấu nháy kép
01/2009 3
2.3 Chuỗi kí tự (String):
Phần tử của chuỗi:
Một chuỗi là 1 mảng kí tự. Do đó mỗi phần tử của chuỗi
chính là 1 kí tự.
Mỗi phần tử của chuỗi được truy xuất thông qua vị trí
của phần tử trong chuỗi, sử dụng dấu [].
>>> x = “Hello”
>>> print(x[0])
• Lưu ý:
Vị trí phần tử đầu tiên trong chuỗi luôn là 0.
Chuỗi có thể được gán giá trị mới; tuy nhiên giá trị các phần tử
trong chuỗi thì không thể thay đổi được.
01/2009 4
2.3 Chuỗi kí tự (String):
Phần tử của chuỗi:
Giá trị vị trí phần tử của chuỗi có thể >0 hoặc <0.
>0: tính từ đầu chuỗi; phần tử đầu tiên có vị trí = 0.
<0: tính từ cuối chuỗi; phần tử cuối cùng có vị trí = -1
01/2009 5
2.3 Chuỗi kí tự (String):
Phần tử của chuỗi:
Trong dấu [], có thể truy xuất 1 phần của chuỗi (gồm
nhiều kí tự) bằng cách kết hợp dấu hai chấm ‘:’.
Chuỗi truy xuất được tính từ vị trí phần tử bắt đầu đến vị
trí phần tử kết thúc.
>>> x = “Hello”
>>> print(x[0:3])
• Lưu ý:
Giá trị phần tử kết hợp với dấu : trong [] có thể là giá trị <0. Khi
đó vị trí phần tử bắt đầu tới vị trí phần tử kết thúc được tính từ
cuối chuỗi.
01/2009 6
2.3 Chuỗi kí tự (String):
2.3.2 Nhập/Xuất giá trị :
• Có thể sử dụng hàm input() để nhập giá trị chuỗi và gán cho một
biến nào đó.
>>> x = input()
• Lưu ý: khi nhập giá trị dùng hàm input(): giá trị nhập luôn được
xem là chuỗi ngay cả khi nhập giá trị số. Do đó, nếu muốn nhập
giá trị số, phải sử dụng hàm chuyển kiểu dữ liệu sau khi nhập.
>>> x = int(input())
01/2009 7
2.3 Chuỗi kí tự (String):
• Để xuất chuỗi kí tự (hoặc giá trị số) ra màn hình, có thể sử dụng
hàm print()
- Nhập: Hello
- Hiển thị: Your string is: Hello
01/2009 8
2.3 Chuỗi kí tự (String):
• Trong trường hợp muốn in nhiều giá trị, sử dụng dấu phẩy ‘,’ để
ngăn cách các giá trị trong () của hàm print.
• Khi in nhiều giá trị, 1 khoảng trắng sẽ được tự động thêm vào
giữa các giá trị khi in.
01/2009 9
2.3 Chuỗi kí tự (String):
• Chuỗi trong python có thể được định dạng nhờ phương thức
format().
• Vị trí giá trị chuỗi cần được định dạng thường được đặt trong cặp
dấu {}
>>> s1 = “{} {} {}”.format(‘a’,‘b’,‘c’)
>>> print(‘s1 = ‘, s1)
>>> s2 = “{1} {0} {2}”.format(‘a’,‘b’,‘c’)
>>> print(‘s2 = ‘, s2)
Hiển thị: s1 = a b c
s2 = b a c
01/2009 10
2.3 Chuỗi kí tự (String):
Hiển thị: s1 = a b c
s2 = c b a
01/2009 11
2.3 Chuỗi kí tự (String):
• Có thể định dạng các kiểu giá trị số bằng cách dùng dấu : và kí
hiệu định dạng đặt trong {}.
>>> s1 = “{:b}”.format(12)
>>> print(‘s1 = ‘, s1)
>>> s2 = “{:.2f}”. format(1/3)
>>> print(‘s2 = ‘, s2)
01/2009 12
2.3 Chuỗi kí tự (String):
2.3.3 Định dạng cho chuỗi:
:< Left aligns the result (within the available space)
:> Right aligns the result (within the available space)
:^ Các kiểu
Center alignsđịnh dạng:
the result (within the available space)
:= Places the sign to the left most position
:+ Use a plus sign to indicate if the result is positive or negative
:- Use a minus sign for negative values only
: Use a space to insert an extra space before positive numbers (and a minus sign befor negative numbers)
:, Use a comma as a thousand separator
:_ Use a underscore as a thousand separator
:b Binary format
:c Converts the value into the corresponding unicode character
:d Decimal format
:e Scientific format, with a lower case e
:E Scientific format, with an upper case E
:f Fix point number format
:F Fix point number format, in uppercase format (show inf and nan as INF and NAN)
:g General format
:G General format (using a upper case E for scientific notations)
:o Octal format
:x Hex format, lower case
:X Hex format, upper case
:n Number format
:% Percentage format
01/2009 13
2.3 Chuỗi kí tự (String):
01/2009 14
2.3 Chuỗi kí tự (String):
01/2009 15
2.3 Chuỗi kí tự (String):
>>> X = “Hello”
>>> print(X.upper())
• Lưu ý:
Tất cả các phương thức xử lý trên chuỗi đều tạo ra một chuỗi
mới chứ không làm biến đổi giá trị chuỗi ban đầu.
01/2009 16
2.3 Chuỗi kí tự (String):
01/2009 17
2.3 Chuỗi kí tự (String):
- VD:
• Tìm vị trí các phần tử khoảng trắng trong chuỗi và in vị trí các giá
trị này ra màn hình
01/2009 18
2.3 Chuỗi kí tự (String):
- Bài toán 2: Tạo chuỗi mới bằng cách biến đổi chuỗi
ban đầu:
• Cho trước chuỗi S, xóa hoặc chèn thêm những kí tự mới trong
chuỗi theo yêu cầu
01/2009 19
2.3 Chuỗi kí tự (String):
- VD:
• Xóa tất cả khoảng trắng trong chuỗi
01/2009 20