Giới thiệu
Tiếp tục cho chuỗi bài viết về chương trình hướng dẫn ngôn ngữ lập trình Python, bài viết hôm nay sẽ giới thiệu với bạn đọc về một trong số các kiểu dữ liệu đã nêu trước đó - Strings.
Nhắc lại về kiểu strings
Kiểu dữ liệu strings được xác định khi giá trị được gán cho nó nằm giữa cặp dấu ' ' hoặc " ".
Ví dụ
#!/usr/bin/python
str = 'Hello Python!'
str = "Hello Stdio!"
Truy cập một phần tử trong chuỗi
Trong python không hỗ trợ kiểu dữ liệu dành cho một ký tự như kiểu char trong C/C++. Khi một biến có giá trị là một ký tự thì biến đó cũng được xem là một kiểu strings có độ dài là 1.
Để có thể truy cập 1 phần tử trong strings ta có thể sử dụng cặp dấu ngoặc vuông [ ].
Xét ví dụ sau:
#!/usr/bin/python
str = "Hello word!"
print (str[0])
print (str[6:11])
print (str[:5])
print (str[0:])
print (str[::2])
Kết quả in ra màn hình
H
word!
Hello
Hello word!
Hlowr!
Giải thích
str[0]: Cách để truy cập một ký tự trong chuỗi, ở đây là phần tử thứ nhất tương ứng với index (giá trị trong ngoặc vuông) = 0.
str[6:11]: Cách trích xuất một chuỗi con, bắt đầu từ phần tử thứ 7 (ứng với index = 6) cho đến phần tử kế trước phần tử thứ 12 (ứng với index = 11).
str[:5]: Index đầu tiên không được khai báo sẽ có giá trị mặc định là 0, trường hợp str1[:5] tương đương với str1[0:5].
str[0:]: Index thứ 2 không được khai báo sẽ có giá trị mặc định là độ dài của chuỗi.
str[::2]: Cách truy xuất chuỗi con có sự tham gia của index thứ 3, index này là bước nhảy khi trích xuất chuỗi con có giá trị mặc định là 1.
Một ví dụ cho trường hợp có sự tham giá của index thứ 3
#!/usr/bin/python
str = "0123456"
print (str[::1])
print (str[::2])
print (str[::3])
Kết quả in ra màn hình
0123456
0246
036
Ngoài ra, index tham gia vào việc truy cập một chuỗi có thể là một số âm.
Ví dụ
#!/usr/bin/python
str = "Hello word!"
print (str[-1:])
print (str[-6:-1])
Kết quả in ra màn hình
!
word
Cách để tính vị trí của một index âm là đọc ngược chuỗi lại. Ứng với ký tự cuối cùng sẽ là -1, kế đến ký tự cận kế là -2, ... cứ như vậy đến ký tự đầu chuỗi.
Một số phương thức cơ bản
Strings trong Python cung cấp cho ta một số phương thức cơ bản để có thể thao tác nhanh hơn. Tôi sẽ nói qua một số phương thức mà tôi cho là thông dụng nhất.
Hàm upper và lower
Hàm upper trả về một chuỗi với các ký tự đều là in hoa ứng với chuỗi ban đầu. Ngược lại với hàm upper là hàm lower.
Ví dụ
#!/usr/bin/python
str = "Hello Stdio!"
print (str.upper())
print (str.lower())
Kết quả in ra màn hình
HELLO STDIO!
hello stdio!
Hàm len
Hàm len trả về độ dài (hoặc số lượng phần tử) của chuỗi.
Ví dụ
#!/usr/bin/python
str = "Hello Stdio!"
print (len(str))
Kết quả in ra màn hình
12
Hàm find
Hàm find cho phép chúng ta tìm kiếm vị trí đầu tiên của kí tự được truyền vào làm tham số của find() trong chuỗi đã cho. Ngoài ra, nó còn có thể tìm 1 chuỗi con, hay là bắt đầu tìm từ vị trí bao nhiêu và kết thúc tại vị trí nào. Nếu không tìm ra giá trị trả về -1.
Ví dụ
#!/usr/bin/python
str = "Hello Stdio!"
print (str.find('l'))
print (str.find('Stdio'))
print (str.find('l', 3, 4))
print (str.find('Hello Python'))
Kết quả in ra màn hình
2
6
3
-1
Hàm count
Hàm count trả về số lần xuất hiện của một ký tự hoặc một chuỗi con trong chuỗi truyền vào.
Ví dụ
#!/usr/bin/python
str = "Hello Stdio!"
print (str.count('l'))
print (str.count('Stdio'))
Kết quả in ra màn hình
2
1