String là một trong các kiểu phổ biến nhất trong Python. String trong Python là immutable. Chúng ta có thể tạo các chuỗi bằng cách bao một text 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 là như nhau. Ví dụ: Show
var1 = 'Hello World!' var2 = "Python Programming" Truy cập các giá trị trong StringPython không hỗ trợ một kiểu chữ cái; chúng được coi như các chuỗi có độ dài là 1. Trong Python, String được lưu giữ dưới dạng các ký tự đơn trong vị trí ô nhớ liên tiếp nhau. Lợi thế của sử dụng String là nó có thể được truy cập từ cả hai hướng (tiến về trước forward hoặc ngược về sau backward). Việc lập chỉ mục của cả hai hướng đều được cung cấp bởi sử dụng String trong Python:
Để truy cập các giá trị trong String, bạn sử dụng các dấu ngoặc vuông có chỉ mục ở bên trong. Ví dụ: var1 = 'Hello World!' var2 = "Python Programming" print "var1[0]: ", var1[0] print "var2[1:5]: ", var2[1:5] Khi code trên được thực thi sẽ cho kết quả: var1[0]: H var2[1:5]: ytho Cập nhật String trong PythonBạ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 string 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 = 'Hello World!' print "Chuoi hien tai la :- ", var1[:6] + 'Python' Khi code trên được thực thi sẽ cho kết quả: Chuoi hien tai la :- Hello Python Các ký tự thoát trong PythonBảng dưới đây liệt kê danh sách các ký tự thoát hoặc không thể in được mà có thể được biểu diễn với dấu \. Ký tự thoát - Biểu diễn trong hệ 16 - Miêu tả \a - 0x07 - Bell hoặc alert \b - 0x08 - Backspace \cx - Control-x \C-x - Control-x \e - 0x1b - Escape \f - 0x0c - Formfeed \M-\C-x - Meta-Control-x \n - 0x0a - Newline \nnn - Notation trong hệ cơ số 8, ở đây n là trong dãy từ 0 tới 7 \r - 0x0d - Carriage return \s - 0x20 - Space \t - 0x09 - Tab \v - 0x0b - Tab dọc \x - Ký tự x \xnn - Notation trong hệ thập lục phân, ở đây n là trong dãy từ 0.9, a.f, hoặc A.F Các toán tử để thao tác với String trong PythonCó ba kiểu toán tử được hỗ trợ bởi String, đó là:
Các toán tử cơ bản để thao tác với StringCó hai loại toán tử cơ bản có thể được sử dụng với String, đó là toán tử nối chuỗi + và toán tử lặp chuỗi *. Toán tử nối chuỗi + được sử dụng để nối hai chuỗi với nhau và tạo nên một chuỗi mới. Ví dụ: >>> "hoang" + "nam" Sẽ cho kết quả là: 'hoangnam' >>> Chú ý: Cả hai toán hạng đượ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 một lỗi. Ví dụ: 'abc' + 3 >>> Sẽ tạo ra một lỗi là: Traceback (most recent call last): File "", line 1, in 'abc' + 3 TypeError: cannot concatenate 'str' and 'int' objects >>> Toán tử lặp chuỗi * sử dụng hai tham số. Một tham số là giá trị nguyên và tham số khác là chuỗi. Toán tử lặp chuỗi này được sử dụng để lặp đi lặp lại một chuỗi một số lần nào đó. Ví dụ: >>> 5*"Hoang" Sẽ cho kết quả là: 'HoangHoangHoangHoangHoang' Ghi chú: Bạn có thể sử dụng toán tử lặp chuỗi * này theo bất kỳ cách nào như int * string hoặc string * int. Cả hai tham số được truyền cho toán tử này phải không trong cùng một kiểu. Các toán tử membership để thao tác với StringToán tử in: trả về true nếu một ký tự là có mặt trong chuỗi đã cho, nếu không nó trả về false. Toán tử not in: trả về true nếu một ký tự là không tồn tại trong chuỗi đã cho, nếu không nó trả về false. Ví dụ: >>> str1="javapoint" >>> str2='sssit' >>> str3="seomount" >>> str4='java' >>> st5="it" >>> str6="seo" >>> str4 in str1 True >>> str5 in str2 >>> st5 in str2 True >>> str6 in str3 True >>> str4 not in str1 False >>> str1 not in str4 True Các toán tử quan hệ để thao tác với StringTấ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ụ: >>> "HOANG"=="HOANG" True >>> "afsha">='Afsha' True >>> "Z"<>"z" True 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 PythonCó 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 forward và backward 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] hoac [:chi_muc_ket_thuc] hoac [chi_muc_bat_dau:] Chẳng hạn với 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 chỉ mục đã cho. Ví dụ: >>> str="Nikhil" >>> str[0:6] 'Nikhil' >>> str[0:3] 'Nik' >>> str[2:5] 'khi' >>> str[:6] 'Nikhil' >>> str[3:] 'hil' Ghi chú: chi_muc_bat_dau trong String là inclusive, tức là bao gồm cả ký tự tại vị trí chỉ mục đó. Còn chi_muc_ket_thuc là exclusive, tức là không bao gồm ký tự tại chỉ mục đó. Toán tử định dạng chuỗi trong PythonMột trong những đặc điểm hay nhất trong Python là toán tử định dạng chuỗi %. 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!" % ('Hoang', 71) Khi code trên đượ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ử %: Biểu tượng định dạ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ố nguyên thập phân có dấu %d - Số nguyên thập phân có dấu %u - Số nguyên thập phân không dấu %o - Số nguyên hệ bát phân %x - Số nguyên hệ thập lục phân (các chữ cái thường) %X - Số nguyên hệ 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ố thực dấu chấm động %g - Viết gọn của %f và %e %G - Viết gọn của %f và %E Trích dẫn tam (triple quote) trong PythonTrích dẫn tam trong Python cho phép các chuỗi có thể trải rộng trên nhiều dòng, bao gồm đúng nguyên văn của các newline (dòng mới), tab và bất kỳ ký tự đặc biệt nào khác. Bạn theo dõi đoạn code sau: para_str = """day la mot chuoi day gom nhieu dong va gom mot so ky tu khong in duoc chang han nhu TAB ( \t ) chung se duoc hien thi dung nguyen van nhu the.""" print para_str Khi code trên được thực thi, nó cho kết quả như dưới đây. Bạn chú ý 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 va gom mot so ky tu khong in duoc chang han nhu TAB ( \t ) chung se duoc hien thi dung nguyen van nhu the. Các chuỗi thô (raw string) không coi dấu \ như là một ký tự đặc biệt. Mỗi ký tự bạn đặt vào 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 theo dõi ví dụ: print 'C:\\nowhere' Khi code trên được thực thi sẽ cho kết quả: C:\nowhere Bây giờ sử dụng chuỗi thô. Chúng ta đã đặt biểu thức trong r'bieu_thuc' như sau: print r'C:\\nowhere' Khi code trên được thực thi sẽ cho kết quả: C:\\nowhere Chuỗi dạng Unicode trong PythonCác chuỗi thông thường trong Python được lưu trữ nội tại dưới dạng ASCII 8 bit, trong khi các chuỗi Unicode được lưu trữ dưới 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. Bạn theo dõi ví dụ: print u'Hello, world!' Khi code trên được thực thi sẽ cho kết quả: Hello, world! Như bạn có thể thấy, các chuỗi 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 PythonPython 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 link để thấy ví dụ chi tiết. 1. capitalize() Cú phápCú pháp của phương thức capitalize() trong Python: str.capitalize() Tham sốTrả về giá trịTrả về một bản sao của chuỗi với chữ cái đầu tiên được viết hoa. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của phương thức capitalize() trong Python. str = "vi du Python ve chuoi!!!"; print "str.capitalize() : ", str.capitalize() Chạy chương trình Python trên sẽ cho kết quả: str.capitalize() : Vi du python ve chuoi!!! 2. center(width, fillchar) Cú phápstr.center(width[, fillchar]) Tham số
Trả về giá trịTrả về một chuỗi mới, trong đó chuỗi ban đầu đã được cho 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à width. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của center() trong Python. str = "vi du Python ve chuoi!!!"; print "str.center(40, 'a') : ", str.center(40, 'a') Kết quả là: str.center(40, 'a') : aaaaaaaavi du Python ve chuoi!!!aaaaaaaa 3. count(str, beg= 0, end = len(string)) Cú phápstr.count(sub, start= 0,end=len(string)) Chi tiết về tham số:
Trả về giá trịĐếm xem chuỗi str này xuất hiện bao nhiêu lần trong chuỗi string hoặc chuỗi con của string nếu bạn cung cấp chỉ mục ban đầu start và chỉ mục kết thúc end Chương trình Python ví dụstr = "vi du Python ve chuoi!!!"; sub = "i"; print "str.count(sub, 4, 40) : ", str.count(sub, 4, 40) sub = "vietjack"; print "str.count(sub) : ", str.count(sub) Kết quả là: str.count(sub, 4, 40) : 1 str.count(sub) : 0 4. decode(encoding='UTF-8',errors='strict') Cú phápStr.decode(encoding='UTF-8',errors='strict') Chi tiết về tham số:
Trả về giá trịTrả về chuỗi đã được giải mã. Chương trình Python ví dụStr = "vi du Python ve chuoi!!!"; Str = Str.encode('base64','strict'); print "Chuoi duoc ma hoa la: " + Str print "Chuoi sau khi giai ma la: " + Str.decode('base64','strict') Kết quả là: Chuoi duoc ma hoa la: dmkgZHUgUHl0aG9uIHZlIGNodW9pISEh Chuoi sau khi giai ma la: vi du Python ve chuoi!!! 5. encode(encoding='UTF-8',errors='strict') Cú phápstr.encode(encoding='UTF-8',errors='strict') Chi tiết về tham số:
Trả về giá trịTrả về phiên bản chuỗi đã được mã hóa của chuỗi ban đầu. Chương trình Python ví dụstr = "vi du Python ve chuoi!!!"; print "Ma hoa chuoi la: " + str.encode('base64','strict') Kết quả là: Ma hoa chuoi la: dmkgZHUgUHl0aG9uIHZlIGNodW9pISEh 6. endswith(suffix, beg=0, end=len(string)) Cú phápstr.endswith(suffix[, start[, end]]) Chi tiết về tham số:
Trả về giá trịTRUE nếu chuỗi kết thúc với suffix đã cho, nếu không thì trả về FALSE. Chương trình Python ví dụstr = "vi du Python ve chuoi....ok!!!"; suffix = "ok!!!"; print str.endswith(suffix) print str.endswith(suffix,20) suffix = "is"; print str.endswith(suffix, 2, 4) print str.endswith(suffix, 2, 6) Kết quả là: True True False False 7. expandtabs(tabsize=8) Cú phápstr.expandtabs(tabsize=8) Chi tiết về tham số:
Trả về giá trịTrả về một bản sao của chuỗi với tab đã được mở rộng (chẳng hạn bởi cac khoảng trống). Chương trình Python ví dụstr = "vi du\tPython ve chuoi....ok!!!"; print "Chuoi ban dau: " + str print "Chuoi voi tab mac dinh: " + str.expandtabs() print "Chuoi voi tab mo rong: " + str.expandtabs(12) Kết quả là: Chuoi ban dau: vi du Python ve chuoi....ok!!! Chuoi voi tab mac dinh: vi du Python ve chuoi....ok!!! Chuoi voi tab mo rong: vi du Python ve chuoi....ok!!! 8. find(str, beg=0 end=len(string)) Cú phápstr.find(str, beg=0 end=len(string)) Chi tiết về tham số:
Trả về giá trịTrả về giá trị chỉ mục nếu được tìm thấy, nếu không thì trả về -1. Chương trình Python ví dụstr1 = "vi du Python ve chuoi....ok!!!"; str2 = "on"; print str1.find(str2) print str1.find(str2, 10) print str1.find(str2, 40) Kết quả là: 10 10 -1 9. index(str, beg=0 end=len(string)) Cú phápstr.index(str, beg=0 end=len(string)) Chi tiết về tham số:
Trả về giá trịXác định xem chuỗi str có xuất hiện trong chuỗi string hoặc chuỗi con đã cho của string (nếu bạn cung cấp chỉ mục bắt đầu beg và chỉ mục kết thúc end), nếu xuất hiện thì trả về chỉ mục của str, nếu không tìm thấy thì trả về một. Chương trình Python ví dụstr1 = "vi du Python ve chuoi....ok!!!"; str2 = "on"; print str1.index(str2) print str1.index(str2, 10) print str1.index(str2, 40) Kết quả là: 10 10 Traceback (most recent call last): File "C:/Users/doannhg/PycharmProjects/test/test.py", line 10, in >module< print str1.index(str2, 40) ValueError: substring not found 10. isalnum() Cú phápCú pháp của isalnum() trong Python: str.isa1num() Chi tiết về tham số: Trả về giá trịTrả về true nếu chuỗi có ít nhất một ký tự và tất cả ký tự là chữ-số. Nếu không hàm sẽ trả về false. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của isalnum() trong Python. str = "nam2015"; # Khong co khoang trong trong chuoi print str.isalnum() str = "vi du Python ve chuoi....ok!!!"; print str.isalnum() Chạy chương trình Python trên sẽ cho kết quả: True False 11. islpha() Cú phápCú pháp của islpha() trong Python: str.isalpha() Chi tiết về tham số: Trả về giá trịTrả về true nếu chuỗi có ít nhất 1 ký tự và tất cả ký tự là chữ cái. Nếu không phương thức sẽ trả về false. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của isalpha() trong Python. str = "nam"; # khong co khoang trong va ky so trong chuoi print str.isalpha() str = "vi du Python ve chuoi....ok!!!"; print str.isalpha() Chạy chương trình Python trên sẽ cho kết quả − True False 12. isdigit() Cú phápCú pháp của isdigit() trong Python: str.isdigit() Chi tiết về tham số: Trả về giá trịTrả về true nếu chuỗi chỉ chứa các chữ số, nếu không là false. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của isdigit() trong Python. str = "123456"; # chi co cac ky so trong chuoi nay print str.isdigit() str = "vi du Python ve chuoi....ok!!!"; print str.isdigit() Chạy chương trình Python trên sẽ cho kết quả − True False 13. islower() Cú phápCú pháp của islower() trong Python: str.islower() Chi tiết về tham số: Trả về giá trịTrả về true nếu tất cả ký tự trong chuỗi là ở dạng chữ thường, nếu không là false. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của islower() trong Python. str = "vi du Python ve chuoi....ok!!!"; print str.islower() str = "vi du python ve chuoi....ok!!!"; print str.islower() Chạy chương trình Python trên sẽ cho kết quả − False True 14. isnumeric() Cú phápCú pháp của isnumeric() trong Python: str.isnumeric() Chi tiết về tham số: Trả về giá trịTrả về true nếu tất cả ký tự trong chuỗi là số, nếu không là false. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của isnumeric() trong Python. str = u"nam2015"; print str.isnumeric() str = u"23443434"; print str.isnumeric() Chạy chương trình Python trên sẽ cho kết quả − False True 15. isspace() Trả về true nếu chuỗi chỉ chứa các ký tự khoảng trắng whitespace, nếu không là false Cú phápCú pháp của isspace() trong Python: str.isspace() Chi tiết về tham số: Trả về giá trịTrả về true nếu chuỗi chỉ chứa các ký tự khoảng trắng whitespace, nếu không là false. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của isspace() trong Python. str = " "; print str.isspace() str = "vi du Python ve chuoi....ok!!!"; print str.isspace() Chạy chương trình Python trên sẽ cho kết quả − True False 16. istitle() Cú phápCú pháp của istitle() trong Python: str.istitle() Chi tiết về tham số: Trả về giá trịTrả về true nếu chuỗi là ở dạng titlecase, nếu không là false. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của istitle() trong Python. str = "Vi Du Python Ve Chuoi...Ok!!!"; print str.istitle() str = "vi du Python ve chuoi....ok!!!"; print str.istitle() Chạy chương trình Python trên sẽ cho kết quả − True False 17. isupper() Cú phápCú pháp của isupper() trong Python: str.isupper() Chi tiết về tham số: Trả về giá trịTrả về true nếu tất cả ký tự trong chuỗi là chữ hoa. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của isupper() trong Python. str = "VI DU PYTHON VE CHUOI....OK!!!"; print str.isupper() str = "vi du Python ve chuoi....ok!!!"; print str.isupper() Chạy chương trình Python trên sẽ cho kết quả − True False 18. join(seq) Cú phápCú pháp của join() trong Python: str.join(sequence) Chi tiết về tham số:
Trả về giá trịTrả về một chuỗi, là kết quả của việc nối các chuỗi trong dãy seq. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của join() trong Python. s = "-"; seq = ("a", "b", "c"); # Day la day cac chuoi. print s.join( seq ) Chạy chương trình Python trên sẽ cho kết quả − a-b-c 19. len(string) Cú phápCú pháp của len() trong Python: len( str ) Chi tiết về tham số: Trả về giá trịTrả về độ dài chuỗi. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của len() trong Python. str = "vi du Python ve chuoi....ok!!!"; print "Do dai cua chuoi la: ", len(str) Chạy chương trình Python trên sẽ cho kết quả − Do dai cua chuoi la: 30 20. ljust(width[, fillchar]) Cú phápCú pháp của ljust() trong Python: str.ljust(width[, fillchar]) Chi tiết về tham số:
Trả về giá trịTrả về một chuỗi mới, trong đó có chuỗi ban đầu được căn chỉnh vào bên trái và bên phải là các fillchar sao cho tổng số ký tự là width. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của ljust() trong Python. str = "vi du Python ve chuoi....ok!!!"; print str.ljust(50, 'v') Chạy chương trình Python trên sẽ cho kết quả − vi du Python ve chuoi....ok!!!vvvvvvvvvvvvvvvvvvvv 21. lower() Cú phápCú pháp của lower() trong Python: str.lower() Chi tiết về tham số: Trả về giá trịPhương thức này trả về một bản sao của chuỗi ban đầu sau khi đã chuyển đối tất cả chữ hoa trong chuỗi sang kiểu chữ thường. Chương trình Python ví dụVí dụ sau minh họa cách sử dụng của lower() trong Python. str = "vi du Python ve chuoi....ok!!!"; print str.lower() Chạy chương trình Python trên sẽ cho kết quả − vi du python ve chuoi....ok!!! 22. lstrip() Cú phápCú pháp của lstrip() trong Python: str.lstrip([chars]) Chi tiết về tham số:
Trả về giá trịTrả về một bản sao của chuỗi ban đầu trong đó tất cả các chữ thường đã được chuyển đổi thành chữ hoa. Kiểu string trong Python là gì?Chuỗi ký tự (string) là một kiểu dữ liệu rất hay dùng trong Python, một từ, một đoạn văn bản đều là kiểu chuỗi. Chuỗi trong Python được đánh dấu bằng dấu nháy đơn ' hoặc nháy kép “, tuy nhiên nếu bắt đầu bằng dấu nào thì phải kết thúc bằng dấu đấy.
Đâu là một chuỗi trong Python?Kiểu dữ liệu chuỗi (String) trong Python là một trong các kiểu phổ biến nhất trong Python. Chuỗi ký tự trong python được bao quanh bởi dấu ngoặc kép đơn hoặc dấu ngoặc kép. Python coi các lệnh trích dẫn đơn và kép là như nhau.
Kiểu str là gì?Trả về một Biến_thể (Chuỗi) đại diện một con số. tham đối số được yêu cầu là một khoảng thời gian dài bất kỳ biểu thức số nào hợp lệ. Khi số được chuyển đổi thành chuỗi, một khoảng trắng đứng đầu luôn được dành riêng cho dấu của số.
String trong C++ là gì?I.
Khi chúng ta nối những ký tự (char) trong C++ lại với nhau thì sẽ được 1 chuỗi ký tự. Ví dụ như “Hello” là 1 chuỗi ký tự được tạo bởi các ký tự đơn chẳng hạn. Và chúng ta gọi loại dữ liệu được tạo thành bởi tập hợp những ký tự đơn như vậy là kiểu dữ liệu string trong C++ hay còn gọi là chuỗi string trong C++.
|