Tất cả các ngôn ngữ lập trình đều có kiểu dữ liệu là kiểu chuỗi, và trong Python nó cũng không ngoại lệ. Bài này mình sẽ cùng mọi người tìm hiểu xem chuỗi trong Python có ưu điểm gì hơn các ngôn ngữ khác không nhé.
1, Các ký tự đặc biệt trong chuỗi.
Để sử dụng các ký tự đặc biệt trong Python khi in ra dữ liệu thì mọi người sử dụng ký tự \
trước nó.
VD: Khi bạn muốn in ra " mà bạn lại sử dụng ""
để chứa nội dung int ra chuỗi.
print("Website \"Toidicode.com\" ")
#Website "Toidicode.com"
Tương tự chúng ta có thể làm với '.
print('Website \'Toidicode.com\' ')
#Website 'Toidicode.com'
Các ký tự đặc biệt khác:
\n
ngắt xuống dòng và bắt đầu dòng mời.\t
đẩy nội dung phía sau nó cách 1 tab.\a
chuông cảnh báo.\b
xóa bỏ khoảng trắng phía trước nó.- Ngoài ra bạn cũng có thể sử dụng để in ra các ký tự đặc biệt khác bằng việc sử dụng theo cú pháp
\xnn
, với n là 0->9, hoặc a->f hoặc A->F.
VD:
print("Website \t Toidicode.com")
#Website Toidicode.com
2, Fomat chuỗi.
Ngoài những cách in ra dữ liệu ở trên thì mọi người cũng có thể sử dụng các keyword định dạng cho kiểu giá trị và binding nó vào chuỗi. Sử dụng với cú pháp:
print("%type" %(binding))
Trong đó:
type
là các kiểu dữ liệu các bạn muốn binding và thay thế vào vị trí đó.binding
là giá trị mà các bạn muốn binding vào vị trí được xác định trong chuỗi.
Type là các kiểu sau:
Cú pháp fomat | Mô tả |
---|---|
%c | character |
%s | chuỗi |
%i | số nguyên |
%d | số nguyên |
%u | số nguyên |
%o | bát phân |
%x | thập lục phân (in thường) |
%X | thập lục phân (in hoa) |
%e | số mũ (với e thường) |
%E | số mũ (với e hoa) |
%f | số thực |
%g | dạng rút gọn của %f and %e |
%G | dạng rút gọn của %f and %E |
VD: Mình sẽ thực hiện binding 1 chuỗi vào trong 1 chuỗi.
guy = "Ban"
full = "Chao mung %s den voi website toidicode.com" %(guy)
print(full)
# Chao mung Ban den voi website toidicode.com
Trong đó nếu như bạn muốn binding nhiều chuỗi vào trong chuỗi thì mỗi giá trị bạn muốn binding cách nhau bởi 1 dấu ,
VD:
guy = "Ban"
doamin = "toidicode.com"
full = "Chao mung %s den voi website %s" %(guy, doamin)
print(full)
# Chao mung Ban den voi website toidicode.com
3, Truy cập tới từng giá trị của chuỗi.
Chuỗi trong Python được lưu trữ vào trong các ô nhớ với mỗi ô nhớ tương đương với một ký tự đơn (khác với các ngôn ngữ khác) và các ký tự này được xếp liên tiếp với nhau. Do đó kiểu dữ liệu chuỗi trong Python có thể được truy xuất đến từng ký tự trong nó (các ngôn ngữ khác không có, PHP7.1.X mới hỗ trợ ở đây là reverse index string).
Để truy cập đến từng ký tự bên trong chuỗi, các bạn sử dụng cú pháp sau:
stringName[index]
Trong đó:
stringName
là tên của biến chứa chuỗi, hoặc chuỗi.index
là vị trí của ký tự bạn muốn lấy ra. Index này hỗ trợ chúng ta truy xuất được cả 2 chiều của chuỗi nếu:- Tính từ đầu thì nó bắt đầu từ 0.
- Tính từ cuối thì nó bắt đầu từ -1.
Để cho dễ hiểu thì bạn có thể xem hình sau:
VD:
name = "Vu Thanh Tai"
print(name[0]) # V
print(name[-1]) # i
Nếu trong trường hợp các bạn muốn lấy nội dung của một đoạn chuỗi trong chuỗi đó thì có thể sử dụng cú pháp sau:
stringName[start:end]
Trong đó:
stringName
là tên của biến chứa chuỗi, hoặc chuỗi.start
là vị trí của ký tự bắt đầu lấy, nếu để trốngstart
thì nó sẽ lấy từ 0.end
là vị trí kết thúc (nó sẽ lấy trong khoảng từstart
đến <end
), nếu để trốngend
thì nó sẽ lấy đến hết chuỗi.
VD:
name = "Vu Thanh Tai"
print(name[0:2]) # Vu
print(name[-3:12]) # Tai
print(name[9:]) # Tai
print(name[-3:]) # Tai
4, Lời kết.
Chuỗi trong Python được hỗ trợ rất mạnh, và phần này cũng rất quan trọng nên mọi người chú ý giúp mình.
Đăng ký nhận tin.
Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!
Chào Tài !
trong bài viết có phần
Do đó kiểu dữ liệu chuỗi trong Python có thể được truy xuất đến từng ký tự trong nó (các ngôn ngữ khác không có, PHP7 mới hỗ trợ).
Mình không biết có sự nhầm lẩn ở đây không, Vì trước giờ giờ code php mình vẫn dùng index của string, và đã thử đoạn code dưới cả php 5.6 và 7.0 đều chạy được
Còn java thì mình không biết, nhưng nhớ không lầm thì bạn mình có demo thuật toán cho mình thì vẫn lấy phần tử theo index được
Nên nhờ Tài xem lại rồi giải đáp thắc mắc giúp mình
Cám ơn !
Hỏi Liều
7 năm trước
Haha, Mình viết thiếu đó bạn ạ, ý mình đang nói ở đây là index ngược của chuỗi cơ :D.
VD:
Vũ Thanh Tài
7 năm trước
Cám ơn b :v
làm bối rối, tưởng đâu mình hiểu sai về php :3
Hỏi Liều
7 năm trước
:D
Vũ Thanh Tài
7 năm trước
Phần 3 khó hiểu -_-
Mới học Python
7 năm trước
Đoạn code này
Phải là
chứ nhỉ hay mình hiểu sai nè mong giải thích giùm
Hung
6 năm trước
Mình thấy #Tai là đúng.
Thiết nghĩ với những ví dụ ntn thì bạn nên chạy thử xem ra gì đã, nếu thực sự khác (do khác version chẳng hạn) thì hãy hỏi. Chứ chỉ đọc không rồi suy theo ý mình thì không hẳn là cách hay.
(vui)
Hai
5 năm trước
Vũ trung sơn
3 năm trước
Phần 3 nếu ai học kĩ pascal để thi HSG thì sẽ dễ dàng hiểu phần này, cái này vui vãi chưởng: năm trước cháu ôn bài chán quá thử code trang web chỉ 4 site (nó chạy giống web nhưng đâu phải web :) phải nạp giá trị từng kí tự ( 24 * 80 màn output của pascal) cảm giác như tạo ra cái máy tính thời năm 1 9 hòi đó ấy :)
Sun Fusion
5 năm trước
bạn có thể nói kĩ hơn về \b và \a ví dụ như đưa ra ví dụ dc ko ạ
UFO
5 năm trước
\b là xóa 1 khoảng trắng (space) trước đó
bạn test đi sẽ rõ hơn, dễ lắm
Dat Nguyen
2 năm trước
dang
3 năm trước
mon
3 năm trước
QT
1 năm trước
QT
1 năm trước