Chuỗi là một trong các kiểu biến phổ biến nhất trong Python. Chuỗi trong Python là bất biến. Chúng ta có thể tạo các chuỗi bằng cách bao gồm một văn bản trong một trích dẫn đơn hoặc trích dẫn kép. Python coi các lệnh trích dẫn đơn và kép giống nhau. Ví dụ
var1 = 'Xin chào thế giới. '
var2 = "Lập trình Python"
Truy cập các giá trị trong chuỗi
Python không hỗ trợ một kiểu chữ cái; . Trong Python, Chuỗi được lưu dưới dạng các ký tự đơn trong vị trí ô nhớ liên tiếp. Lợi thế của việc sử dụng Chuỗi là nó có thể được truy cập từ cả hai hướng (tiến về trước hoặc ngược về sau)
Việc thiết lập chỉ mục của cả hai hướng đều được cung cấp bởi sử dụng Chuỗi trong Python
- Index with direction forward started with 0,1,2,3,…
- Chỉ mục với hướng ngược bắt đầu với -1,-2,-3,…
Để truy cập các giá trị trong Chuỗi, bạn sử dụng các dấu ngoặc vuông chỉ có mục ở bên trong. Ví dụ
var1 = 'Xin chào thế giới. '
var2 = "Lập trình Python"
in "var1[0]. ", biến1[0]
in "var2[1. 5]. ", biến2[1. 5]
Khi mã được thực thi sẽ cho kết quả
var1[0]. h
var2[1. 5]. ytho
Cập nhật chuỗi trong Python
Bạn có thể cập nhật một chuỗi đang tồn tại bằng cách gán (hoặc tái gán) một biến cho chuỗi khác. Giá trị mới có thể liên quan hoặc khác hoàn toàn giá trị trước đó. Ví dụ
var1 = 'Xin chào thế giới. '
in "Chuoi hien tai la. - ", biến1[. 6] + 'Trăn'
Khi mã được thực thi sẽ cho kết quả
Chuoi hien tai la. - Xin chào Python
Các ký tự thoát trong Python
Bảng dưới đây liệt kê danh sách các ký tự thoát hoặc không thể thoát mà có thể được biểu diễn bằng dấu \
Ký tự thoát - Biểu diễn trong hệ 16 - Miêu tả
\a - 0x07 - Chuông hoặc cảnh báo
\b - 0x08 - Xóa lùi
\cx - Control-x
\C-x - Control-x
\e - 0x1b - Thoát
\f - 0x0c - Nguồn cấp dữ liệu biểu mẫu
\M-\C-x - Meta-Control-x
\n - 0x0a - Dòng mới
\nnn - Ký hiệu trong hệ cơ số 8, ở đây n là trong dãy từ 0 đến 7
\r - 0x0d - Trả cước vận chuyển
\s - 0x20 - Dấu cách
\t - 0x09 - Tab
\v - 0x0b - Tab Dọc
\x - Ký tự x
\xnn - Ký hiệu trong hệ thống thập lục phân, ở đây n là trong dãy từ 0. 9, một. f, hoặc A. F
Các toán tử để thao tác với String trong Python
Có ba kiểu toán tử được hỗ trợ bởi String, đó là
- toán tử cơ bản
- Toán tử thành viên
- Toán tử quan hệ
Cơ bản toán tử để thao tác với String
Có hai loại toán tử cơ bản có thể được sử dụng với Chuỗi, đó là toán tử nối chuỗi + và toán tử lặp chuỗi *
Chuỗi kết nối toán tử + được sử dụng để kết nối hai chuỗi với nhau và tạo nên một chuỗi mới. Ví dụ
>>> "hoàng" + "nam"
Will for results is
'hoangnam'
>>>
Chú thích. Cả hai hạng thanh toán được truyền cho phép nối chuỗi này phải cùng kiểu, nếu không sẽ tạo ra lỗi. Ví dụ
'abc' + 3
>>>
Will create a error is
Traceback (cuộc gọi gần đây nhất cuối cùng)
Tệp "", dòng 1, trong
'abc' + 3
LoạiLỗi. không thể nối các đối tượng 'str' và 'int'
>>>
Vòng lặp toán tử * sử dụng hai tham số. Một tham số là giá trị nguyên và tham số khác là chuỗi. Chuỗi vòng lặp này được sử dụng để lặp lại một chuỗi số lần nào đó. Ví dụ
>>> 5*"Hoàng"
Will for results is
'hoanghoanghoanghoang'
Ghi chú. Bạn có thể sử dụng chuỗi ký tự lặp * này theo bất kỳ cách nào như chuỗi int * hoặc chuỗi * int. Cả hai tham số được truyền cho toán tử này không phải trong cùng một kiểu
Các thành viên toán tử để thao tác với Chuỗi
Toán tử trong. Trả về đúng nếu một ký tự có mặt trong chuỗi đã cho, nếu không nó trả về sai
Toán tử không có trong. return true if a character is no tồn tại trong chuỗi đã cho, if not it return false
Ví dụ
>>> str1="javapoint"
>>> str2='sssit'
>>> str3="seomount"
>>> str4='java'
>>> st5="nó"
>>> str6="seo"
>>> str4 trong str1
ĐÚNG VẬY
>>> str5 trong str2
>>> st5 trong str2
ĐÚNG VẬY
>>> str6 trong str3
ĐÚNG VẬY
>>> str4 không có trong str1
Sai
>>> str1 không có trong str4
ĐÚNG VẬY
Các toán tử quan hệ để thao tác với String
Tất cả các toán tử quan hệ (như , =, ==, !=, ) cũng có thể áp dụng cho các String. Các chuỗi được so sánh dựa trên giá trị ASCII hoặc Unicode. Ví dụ:
>>> "HOÀNG"=="HOÀNG"
ĐÚNG VẬY
>>> "afsha">='Afsha'
ĐÚNG VẬY
>>> "Z""z"
ĐÚNG VẬY
Giải thích. Giá trị ASCII của a là 97, b là 98 và c là 99,… Giá trị ASCII của A là 65, B là 66, của C là 67,… Sự so sánh giữa các chuỗi được thực hiện dựa trên giá trị ASCII
Dấu chia chuỗi [] trong Python
Có nhiều cách để chia một chuỗi. Khi chuỗi có thể được truy cập hoặc được lập chỉ mục từ cả hai hướng tiến và lùi thì chuỗi cũng có thể được chia theo hai hướng này. Dưới đây là cú pháp của dấu chia chuỗi [] trong Python
[chi_muc_bat_dau. chi_muc_ket_thuc]
khạc
[. chi_muc_ket_thuc]
khạc
[chi_muc_bat_dau. ]
Error with cú pháp[chi_muc_bat_dau. chi_muc_ket_thuc], thì toán tử này sẽ trả về các ký tự nằm trong dãy mục đã chọn
Ví dụ
>>> str="Nikhil"
>>> str[0. 6]
'Nikhil'
>>> str[0. 3]
'Nik'
>>> str[2. 5]
'khi'
>>> str[. 6]
'Nikhil'
>>> str[3. ]
'xin chào, tôi'
Ghi chú. chi_muc_bat_dau in Chuỗi là bao gồm, tức là bao gồm cả ký tự tại vị trí chỉ mục đó. Còn chi_muc_ket_thuc là độc quyền, tức là không bao gồm ký tự tại chỉ mục đó
Định dạng chuỗi định dạng trong Python
Một trong những điểm đặc biệt hay nhất trong Python là định dạng chuỗi định dạng toán tử %. Toán tử này là duy nhất cho các String và được sử dụng với hàm print(). Ví dụ
print "Ten toi la %s va toi nang %d kg. " % ('Hoàng', 71)
Khi mã được thực thi sẽ cho kết quả
Ten toi la Hoang va toi nang 71 kg
Bảng dưới đây liệt kê danh sách đầy đủ các biểu tượng có thể được sử dụng với toán tử %
Định dạng biểu tượng - Chuyển đổi
%c - Ký tự
%s - Chuyển đổi thành chuỗi thông qua hàm str() trước khi định dạng
%i - Số thập phân có dấu hiệu
%d - Số thập phân có dấu hiệu
%u - Số thập phân không dấu
%o - Số lượng bát phân tích
%x - Số nguyên hệ thống thập lục phân (các chữ cái thường)
%X - Số nguyên hệ thống thập lục phân (các chữ cái hoa)
%e - Ký hiệu số mũ (với chữ thường 'e')
%E - Ký hiệu số mũ (với chữ hoa 'E')
%f - Số dấu chấm thực
%g - Viết tắt của %f và %e
%G - Viết tắt của %f và %E
Trích dẫn tam (ba trích dẫn) trong Python
Trích dẫn tam trong Python cho phép các chuỗi có thể mở rộng trên nhiều dòng, bao gồm đúng nguyên văn của các dòng mới (dòng mới), tab và bất kỳ ký tự đặc biệt nào khác. You follow the following code
para_str="""day la mot chuoi day gom nhieu dong
và gom một số ký tự không trong dược thay hàn nhu
TAB ( \t ) chung se duoc hien thi dung nguyen van nhu the. """
in para_str
Khi mã được thực thi, nó cho kết quả như dưới đây. Bạn lưu ý cách mỗi ký tự đặc biệt đã được chuyển đổi thành dạng được in của nó
day la mot chuoi day gom nhieu dong
và gom một số ký tự không trong dược thay hàn nhu
TAB ( \t ) chung se duoc hien thi dung nguyen van nhu the
Raw string (chuỗi thô) không coi dấu \ như một ký tự đặc biệt. Mỗi ký tự bạn đặt trong một chuỗi thô sẽ tồn tại giống như cách bạn đã viết nó
Để hiểu rõ vấn đề này, trước hết bạn hãy theo dõi ví dụ
in 'C. \\hư không'
Khi mã được thực thi sẽ cho kết quả
C. \hư không
Now now used raw string. Chúng ta đã đặt biểu thức trong r'bieu_thuc' như sau
in r'C. \\hư không'
Khi mã được thực thi sẽ cho kết quả
C. \\hư không
Chuỗi định dạng Unicode trong Python
Các chuỗi thông thường trong Python được lưu trữ nội dung dưới định dạng ASCII 8 bit, trong khi các chuỗi Unicode được lưu trữ dưới định dạng Unicode 16 bit. Điều này cho phép có một tập hợp các ký tự đa dạng hơn, bao gồm các ký tự đặc biệt từ hầu hết các ngôn ngữ trên thế giới. You follow ví dụ
in u'Xin chào, thế giới. '
Khi mã được thực thi sẽ cho kết quả
Chào thế giới
Như bạn có thể thấy, các chuỗi định dạng Unicode sử dụng tiền tố u, trong khi các chuỗi thô sử dụng tiền tố r
Các phương thức và hàm đã xây dựng sẵn để xử lý chuỗi trong Python
Python cung cấp các phương thức đa dạng đã được xây dựng sẵn để thao tác với các chuỗi. Bảng dưới đây liệt kê các phương thức này. Bạn truy cập liên kết để xem ví dụ chi tiết
1. capitalize()
Viết hoa chữ cái đầu tiên của chuỗi
cú pháp
Cú pháp của phương thức viết hoa() trong Python
str. viết hoa()
Tham số
Return to value
Trả về một bản sao của chuỗi với chữ cái đầu tiên được viết hoa
Python program ví dụ
Ví dụ sau minh họa cách sử dụng của phương thức viết hoa() trong Python
str="vi du Python ve chuoi. “;
in "str. viết hoa(). ", str. viết hoa()
Chạy chương trình Python trên sẽ cho kết quả
str. viết hoa(). Vi du python ve chuoi
2. center(width, fillchar)
Trả về một chuỗi mới, trong đó chuỗi ban đầu đã được chọn vào trung tâm và hai bên là các fillchar sao cho tổng số ký tự của chuỗi mới là chiều rộng
cú pháp
str. trung tâm (chiều rộng [, fillchar])
Tham số
- width -- This is the length of string
- fillchar -- Đây là ký tự cần điền
Return to value
Trả về một chuỗi mới, trong đó chuỗi ban đầu đã được chọn vào trung tâm và hai bên là các fillchar sao cho tổng số ký tự của chuỗi mới là chiều rộng
Python program ví dụ
Ví dụ sau minh họa cách sử dụng center() trong Python
str="vi du Python ve chuoi. “;
in "str. trung tâm (40, 'a'). ", str. trung tâm (40, 'a')
Kết quả là
str. trung tâm (40, 'a'). aaaaaaaavi du Python ve chuoi. aaaaaaaa
3. count(str, beg= 0, end = len(string))
Đếm xem chuỗi str này xuất hiện bao nhiêu lần trong chuỗi hoặc chuỗi con của chuỗi nếu bạn cung cấp chỉ mục ban đầu
cú pháp
str. đếm (phụ, bắt đầu = 0, kết thúc = len (chuỗi))
Chi tiết về tham số
- phụ -- Đây là chuỗi con để tìm kiếm
- start -- Search started from this item. Đầu tiên ký tự bắt đầu từ mục 0. Theo mặc định, bắt đầu tìm kiếm từ mục 0
- end -- Kết thúc tìm kiếm tại mục này. Theo mặc định, công việc tìm kiếm kết thúc ở cuối cùng một mục
Return to value
Đếm xem chuỗi str này xuất hiện bao nhiêu lần trong chuỗi hoặc chuỗi con của chuỗi nếu bạn cung cấp chỉ mục cấm bắt đầu và chỉ mục kết thúc
Python program ví dụ
str="vi du Python ve chuoi. “;
phụ = "i";
in "str. đếm (phụ, 4, 40). ", str. đếm (phụ, 4, 40)
sub="vietjack";
in "str. đếm (phụ). ", str. đếm (phụ)
Kết quả là
str. đếm (phụ, 4, 40). 1
str. đếm (phụ). 0
4. decode(encoding='UTF-8',errors='strict')
Giải mã chuỗi bằng cách sử dụng mã hóa đã chọn
cú pháp
Str. giải mã (mã hóa = 'UTF-8', lỗi = 'nghiêm ngặt')
Chi tiết về tham số
- mã hóa -- Đây là mã hóa để được sử dụng
- lỗi -- Tham số này có thể được cung cấp để thiết lập một trình xử lý lỗi khác. Mặc định cho lỗi là 'nghiêm ngặt', nghĩa là các lỗi liên quan đến mã hóa sẽ tạo ra UnicodeError. Một số giá trị khác là 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace'
Return to value
Chuỗi trả về đã được giải mã
Python program ví dụ
Str="vi du Python ve chuoi. “;
Str = Str. mã hóa('base64','strict');
in "Chuoi duoc ma hoa la. " + Str
in "Chuối sau khi giải ma la. " + Str. giải mã ('base64', 'nghiêm ngặt')
Kết quả là
Chuot duoc ma hoa la. dmkgZHUgUHl0aG9uIHZlIGNodW9pISEh
Chuối sau khi giải ma la. vi du Python ve chuoi
5. encode(encoding='UTF-8',errors='strict')
Trả về phiên bản chuỗi đã được mã hóa của chuỗi ban đầu. Nếu có lỗi xảy ra, thì chương trình sẽ tạo ra một ValueError trừ khi các lỗi này được cung cấp bằng cách bỏ qua hoặc thay thế
cú pháp
str. mã hóa (mã hóa = 'UTF-8', lỗi = 'nghiêm ngặt')
Chi tiết về tham số
- mã hóa -- Đây là mã hóa để được sử dụng
- lỗi -- Tham số này có thể được cung cấp để thiết lập một trình xử lý lỗi khác. Mặc định cho lỗi là 'nghiêm ngặt', nghĩa là các lỗi liên quan đến mã hóa sẽ tạo ra UnicodeError. Một số giá trị khác là 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace'
Return to value
Trả về phiên bản chuỗi đã được mã hóa của chuỗi ban đầu
Python program ví dụ
str="vi du Python ve chuoi. “;
in "Ma hoa chuoi la. " + str. mã hóa ('base64', 'nghiêm ngặt')
Kết quả là
ma hoa chuoi la. dmkgZHUgUHl0aG9uIHZlIGNodW9pISEh
6. endwith(suffix, beg=0, end=len(string))
Xác định xem chuỗi chuỗi hoặc chuỗi con đã chọn của chuỗi (nếu bạn cung cấp chỉ mục bắt đầu beg và chỉ mục
cú pháp
str. kết thúc với (hậu tố [, bắt đầu [, kết thúc]])
Chi tiết về tham số
- hậu tố -- Đây có thể là một chuỗi hoặc cũng có thể là một bộ của các tiền tố
- bắt đầu -- Chỉ mục bắt đầu
- end -- Index end
Return to value
TRUE nếu chuỗi kết thúc với hậu tố đã cho, nếu không thì trả về FALSE
Python program ví dụ
str="vi du Python ve chuoi. Vâng. “;
hậu tố = "được. “;
in str. kết thúc bằng (hậu tố)
in str. kết thúc bằng (hậu tố, 20)
hậu tố = "là";
in str. kết thúc bằng (hậu tố, 2, 4)
in str. kết thúc bằng (hậu tố, 2, 6)
Kết quả là
ĐÚNG VẬY
ĐÚNG VẬY
Sai
Sai
7. expandtabs(tabsize=8)
Mở rộng các tab trong chuỗi tới khoảng trống đã cho;
cú pháp
str. tab mở rộng (kích thước tab = 8)
Chi tiết về tham số
- tabsize --Xác định số ký tự để được thay thế cho một ký tự tab '\t'
Return to value
Trả về một bản sao của chuỗi với tab đã được mở rộng (không giới hạn bởi các khoảng trống)
Python program ví dụ
str = "vi du\tPython ve chuoi. Vâng. “;
in "Chuoi ban dau. " + str
print "Chuoi voi tab mac dinh. " + str. thẻ mở rộng()
in "Chuoi voi tab mo rong. " + str. tab mở rộng(12)
Kết quả là
Chuối chuối đậu. vi du Python ve chuoi. Vâng
Chuối với tab mac dinh. vi du Python ve chuoi. Vâng
Chuối với tab mo rong. vi du Python ve chuoi. Vâng
8. find(str, beg=0 end=len(string))
Xác định xem chuỗi str có xuất hiện trong chuỗi hoặc chuỗi con đã chọn của chuỗi (nếu bạn cung cấp chỉ mục bắt đầu
cú pháp
str. find(str, beg=0 end=len(string))
Chi tiết về tham số
- str --Xác định chuỗi để tìm kiếm
- beg --Xác định mục bắt đầu chỉ định, mặc định là 0
- end --Xác định chỉ mục kết thúc, mặc định là bằng chuỗi độ dài
Return to value
Trả về giá trị chỉ mục nếu được tìm thấy, nếu không thì trả về -1
Python program ví dụ
str1 = "vi du Python ve chuoi. Vâng. “;
str2 = "bật";
in str1. tìm (str2)
in str1. tìm (str2, 10)
in str1. tìm (str2, 40)
Kết quả là
10
10
-1
9. index(str, beg=0 end=len(string))
Tương tự như find(), nhưng tạo ra một ngoại lệ nếu str không tìm thấy
cú pháp
str. chỉ số (str, beg = 0 kết thúc = len (chuỗi))
Chi tiết về tham số
- str --Xác định chuỗi để tìm kiếm
- beg --Xác định mục bắt đầu chỉ định, mặc định là 0
- end --Xác định chỉ mục kết thúc, mặc định là bằng chuỗi độ dài
Return to value
Xác định xem chuỗi str có xuất hiện trong chuỗi chuỗi hoặc chuỗi con đã cho của chuỗi (nếu bạn cung cấp chỉ mục bắt đầu beg và chỉ mục kết thúc), nếu xuất hiện thì trả về chỉ mục của str, nếu không tìm thấy
Python program ví dụ
str1 = "vi du Python ve chuoi. Vâng. “;
str2 = "bật";
in str1. chỉ mục (str2)
in str1. chỉ mục(str2, 10)
in str1. chỉ mục(str2, 40)
Kết quả là
10
10
Traceback (cuộc gọi gần đây nhất cuối cùng)
Tập tin "C. /Users/doannhg/PycharmProjects/test/test. py", dòng 10, trong >module