Trong Python, String là các mảng byte đại diện cho các ký tự Unicode. Tuy nhiên, Python không có kiểu dữ liệu ký tự, một ký tự đơn giản chỉ là một string có độ dài là 1. Dấu ngoặc vuông có thể được sử dụng để truy cập các phần tử của string.

1. Tạo một string

String trong Python có thể được tạo bằng cách sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép hoặc thậm chí ba dấu ngoặc đơn.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python Program for 
# Creation of String 
  
# Creating a String  
# with single Quotes 
String1 = 'Welcome to the Cafedev World'
print("String with the use of Single Quotes: ") 
print(String1) 
  
# Creating a String 
# with double Quotes 
String1 = "I'm a Cafedev"
print("\nString with the use of Double Quotes: ") 
print(String1) 
  
# Creating a String 
# with triple Quotes 
String1 = '''I'm a Cafedev and I live in a world of "Cafedev"'''
print("\nString with the use of Triple Quotes: ") 
print(String1) 
  
# Creating String with triple 
# Quotes allows multiple lines 
String1 = '''Cafedev 
            For 
            Life'''
print("\nCreating a multiline String: ") 
print(String1) 

Kết quả:

String with the use of Single Quotes: 
Welcome to the Cafedev World

String with the use of Double Quotes: 
I'm a Cafedev

String with the use of Triple Quotes: 
I'm a Cafedev and I live in a world of "Cafedev"

Creating a multiline String: 
Cafedev
            For
            Life

2. Truy cập các ký tự trong Python

Trong Python, các ký tự riêng lẻ của String có thể được truy cập bằng cách sử dụng phương thức chỉ mục. Phương thức chỉ mục cho phép các tham chiếu địa chỉ âm để truy cập các ký tự ở hàng sau của String, ví dụ -1 để chỉ ký tự cuối cùng, -2 để chỉ ký tự cuối cùng thứ hai, v.v.
Việc truy cập một chỉ mục ngoài phạm vi sẽ gây ra IndexError. Chỉ kiểu Integer (nguyên) mới được phép truyền dưới dạng chỉ mục, kiểu float (thực) hoặc các kiểu khác sẽ gây ra TypeError .
[Hình ảnh]

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python Program to Access 
# characters of String 
  
String1 = "Cafedev.vn"
print("Initial String: ") 
print(String1) 
  
# Printing First character 
print("\nFirst character of String is: ") 
print(String1[0]) 
  
# Printing Last character 
print("\nLast character of String is: ") 
print(String1[-1]) 

Kết quả:

Initial String: 
Cafedev.vn

First character of String is: 
C

Last character of String is: 
n

2.1 Cắt string

Để truy cập vào một loạt các ký tự trong String, phương pháp cắt được sử dụng. Cắt trong String được thực hiện bằng cách sử dụng toán tử Cắt (dấu hai chấm).

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Python Program to 
# demonstrate String slicing 
  
# Creating a String 
String1 = "Cafedev.vnCafedev"
print("Initial String: ")  
print(String1) 
  
# Printing 3rd to 12th character 
print("\nSlicing characters from 3-12: ") 
print(String1[3:12]) 
  
# Printing characters between  
# 3rd and 2nd last character 
print("\nSlicing characters between " +
    "3rd and 2nd last character: ") 
print(String1[3:-2]) 

Kết quả:

Initial String: 
Cafedev.vnCafedev

Slicing characters from 3-12: 
edev.vnCafed

Slicing characters between 3rd and 2nd last character: 
dev.vnC

3. Xóa / Cập nhật từ một String

Trong Python, không được phép cập nhật hoặc xóa các ký tự khỏi String. Điều này sẽ gây ra lỗi vì việc gán mục hoặc xóa mục khỏi String không được hỗ trợ mặc dù có thể xóa toàn bộ String với việc sử dụng từ khóa del được tích hợp. Điều này là do String không thay đổi, do đó các thành phần của String không thể thay đổi sau khi được gán. Chỉ các string mới có thể được gán lại cho cùng một tên.

3.1 Cập nhật ký tự:


# Python Program to Update 
# character of a String 
  
String1 = "Hello, I'm a Geek"
print("Initial String: ") 
print(String1) 
  
# Updating a character  
# of the String 
String1[2] = 'p'
print("\nUpdating character at 2nd Index: ") 
print(String1) 

Lỗi:

Traceback (most recent call last):
File “/home/360bb1830c83a918fc78aa8979195653.py”, line 10, in
String1[2] = ‘p’
TypeError: ‘str’ object does not support item assignment

3.2 Cập nhật toàn bộ string:

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program to Update 
# entire String 
  
String1 = "Hello, I'm a Cafedev"
print("Initial String: ") 
print(String1) 
  
# Updating a String 
String1 = "Welcome to the Cafedev World"
print("\nUpdated String: ") 
print(String1) 

Kết quả:

Initial String: 
Hello, I'm a Cafedev

Updated String: 
Welcome to the Cafedev World

3.3 Xóa một ký tự:


# Python Program to Delete 
# characters from a String 
  
String1 = "Hello, I'm a Cafedev"
print("Initial String: ") 
print(String1) 
  
# Deleting a character  
# of the String 
del String1[2]  
print("\nDeleting character at 2nd Index: ") 
print(String1) 

Lỗi:

Traceback (most recent call last):
File “/home/499e96a61e19944e7e45b7a6e1276742.py”, line 10, in
del String1[2]
TypeError: ‘str’ object doesn’t support item deletion

3.4 Xóa toàn bộ string:

Có thể xóa toàn bộ string với việc sử dụng từ khóa del. Hơn nữa, nếu chúng ta cố gắng in string, điều này sẽ gây ra lỗi vì String bị xóa và không có sẵn để in.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program to Delete 
# entire String 
  
String1 = "Hello, I'm a Cafedev"
print("Initial String: ") 
print(String1) 
  
# Deleting a String 
# with the use of del 
del String1  
print("\nDeleting entire String: ") 
print(String1) 

Lỗi:

Traceback (most recent call last):
File “/home/e4b8f2170f140da99d2fe57d9d8c6a94.py”, line 12, in
print(String1)
NameError: name ‘String1’ is not defined

4. Trình tự thoát trong Python

Trong khi việc in String giữa dấu ngoặc đơn và dấu ngoặc kép gây ra lỗi SyntaxError vì String đã có sẵn Dấu ngoặc đơn và Dấu ngoặc kép và do đó không thể được in bằng cách sử dụng một trong hai. Vì vậy, để in một String như vậy, ta có thể sử dụng 3 dấu ngoặc hoặc các Escape Sequence.
Escape Sequence bắt đầu bằng dấu gạch chéo ngược và có thể được thông dịch một cách khác nhau. Nếu dấu ngoặc đơn được sử dụng để thể hiện một string, thì tất cả các dấu ngoặc đơn có trong string phải được thoát và tương tự được thực hiện cho Dấu ngoặc kép.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program for 
# Escape Sequencing  
# of String 
  
# Initial String 
String1 = '''I'm a "Cafedev"'''
print("Initial String with use of Triple Quotes: ") 
print(String1) 
  
# Escaping Single Quote  
String1 = 'I\'m a "Cafedev"'
print("\nEscaping Single Quote: ") 
print(String1) 
  
# Escaping Doule Quotes 
String1 = "I'm a \"Cafedev\""
print("\nEscaping Double Quotes: ") 
print(String1) 
  
# Printing Paths with the  
# use of Escape Sequences 
String1 = "C:\\Python\\Cafedev\\"
print("\nEscaping Backslashes: ") 
print(String1) 

Kết quả:

Initial String with use of Triple Quotes: 
I'm a "Cafedev"

Escaping Single Quote: 
I'm a "Cafedev"

Escaping Double Quotes: 
I'm a "Cafedev"

Escaping Backslashes: 
C:\Python\Cafedev\

Để bỏ qua các escape sequence trong String, r hoặc R được sử dụng, điều này ngụ ý rằng string là một string thô và các Escape sequence bên trong nó sẽ bị bỏ qua.



# Printing Cafedev in HEX 
String1 = "This is \x47\x65\x65\x6b\x73 in \x48\x45\x58"
print("\nPrinting in HEX with the use of Escape Sequences: ") 
print(String1) 
  
# Using raw String to  
# ignore Escape Sequences 
String1 = r"This is \x47\x65\x65\x6b\x73 in \x48\x45\x58"
print("\nPrinting Raw String in HEX Format: ") 
print(String1) 

Kết quả:

Printing in HEX with the use of Escape Sequences: 
This is Cafedev in HEX

Printing Raw String in HEX Format: 
This is \x47\x65\x65\x6b\x73 in \x48\x45\x58

5. Định dạng của string

Các string trong Python có thể được định dạng bằng cách sử dụng phương thức format(), một công cụ rất linh hoạt và mạnh mẽ để định dạng các String. Phương thức định dạng trong String chứa dấu ngoặc nhọn {} dưới dạng giữ chỗ có thể giữ các đối số theo vị trí hoặc từ khóa để chỉ định thứ tự.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python Program for 
# Formatting of Strings 
  
# Default order 
String1 = "{} {} {}".format('Cafedev', 'For', 'Life') 
print("Print String in default order: ") 
print(String1) 
  
# Positional Formatting 
String1 = "{1} {0} {2}".format('Cafedev', 'For', 'Life') 
print("\nPrint String in Positional order: ") 
print(String1) 
  
# Keyword Formatting 
String1 = "{l} {f} {g}".format(g = 'Cafedev', f = 'For', l = 'Life') 
print("\nPrint String in order of Keywords: ") 
print(String1) 

Kết quả:

Print String in default order: 
Cafedev For Life

Print String in Positional order: 
For Cafedev Life

Print String in order of Keywords: 
Life For Cafedev

Các số nguyên như nhị phân, thập lục phân, v.v. và số thực có thể được làm tròn hoặc hiển thị ở dạng số mũ với việc sử dụng các chỉ định định dạng.


# Formatting of Integers 
String1 = "{0:b}".format(16) 
print("\nBinary representation of 16 is ") 
print(String1) 
  
# Formatting of Floats 
String1 = "{0:e}".format(165.6458) 
print("\nExponent representation of 165.6458 is ") 
print(String1) 
  
# Rounding off Integers 
String1 = "{0:.2f}".format(1/6) 
print("\none-sixth is : ") 
print(String1) 

Kết quả:

Binary representation of 16 is 
10000

Exponent representation of 165.6458 is 
1.656458e+02

one-sixth is : 
0.17

Một string có thể là left() hoặc center(^) được chứng minh bằng việc sử dụng các chỉ định định dạng, được phân tách bằng dấu hai chấm(:).


# String alignment 
String1 = "|{:<10}|{:^10}|{:>10}|".format('Cafedev','for','Cafedev') 
print("\nLeft, center and right alignment with Formatting: ") 
print(String1) 
  
# To demonstrate aligning of spaces  
String1 = "\n{0:^16} was founded in {1:<4}!".format("CafedevforCafedev", 2009) 
print(String1) 

Kết quả:

Left, center and right alignment with Formatting: 
|Cafedev     |   for    |     Cafedev|

 CafedevforCafedev   was founded in 2009 !

Định dạng kiểu cũ đã được thực hiện mà không sử dụng phương thức định dạng bằng cách sử dụng toán tử %


# Python Program for 
# Old Style Formatting 
# of Integers 
  
Integer1 = 12.3456789
print("Formatting in 3.2f format: ") 
print('The value of Integer1 is %3.2f' %Integer1) 
print("\nFormatting in 3.4f format: ") 
print('The value of Integer1 is %3.4f' %Integer1) 

Kết quả:

Formatting in 3.2f format: 
The value of Integer1 is 12.35

Formatting in 3.4f format: 
The value of Integer1 is 12.3457

6. Hằng số string

CHỨC NĂNG TÍCH HỢP. MÔ TẢ
string.ascii_lettersGhép các hằng số ascii_lowercase và ascii_uppercase.
string.ascii_lowercaseGhép chữ thường
string.ascii_uppercaseGhép chữ hoa
string.digitsChữ số trong string
string.hexdigitsHexadigit trong string
string.lettersGhép string chữ thường và chữ hoa
string.lowercaseMột string phải chứa các chữ cái viết thường.
string.octdigitsSố thập phân trong một string
string.Ký tự ASCII có ký tự dấu chấm câu.
string.printableString ký tự có thể in được
String.endswith()Trả về True nếu một string kết thúc bằng hậu tố đã cho, nếu không trả về False
String.startswith ()Trả về True nếu một string bắt đầu bằng tiền tố đã cho, nếu không trả về False
String.isdigit()Trả về True nếu tất cả các ký tự trong string là chữ số, nếu không, nó trả về False.
String.isalpha()Trả về True nếu tất cả các ký tự trong string là bảng chữ cái, nếu không, nó trả về False.
string.isdecimal()Trả về true nếu tất cả các ký tự trong string là số thập phân.
str.format()Mộtr trong các phương thức định dạng string trong Python 3, cho phép nhiều định dạng thay thế và định dạng giá trị.
String.indexTrả về vị trí xuất hiện đầu tiên của string con trong string
string.uppercaseMột string phải chứa các chữ cái viết hoa.
String.whitespace()Một string chứa tất cả các ký tự được coi là khoảng trắng.
string.swapcase()Phương thức chuyển đổi tất cả các ký tự chữ hoa thành chữ thường và ngược lại của string đã cho và trả về nó
replace()Trả về một bản sao của string trong đó tất cả các lần xuất hiện của một string con được thay thế bằng một string con khác.

7. Hàm không dùng nữa

CHỨC NĂNG TÍCH HỢPMÔ TẢ
string.IsdecimalTrả về true nếu tất cả các ký tự trong string là số thập phân
String.IsalnumTrả về true nếu tất cả các ký tự trong một string đã cho là chữ và số.
string.IstitleTrả về Đúng nếu string là một string được chuẩn độ
String.partitionTách string ở lần xuất hiện đầu tiên của dấu phân cách và trả về một tuple.
String.IsidentifierKiểm tra xem một string có phải là một định danh hợp lệ hay không.
String.lenTrả về độ dài của string.
String.rindexTrả về chỉ mục cao nhất của string con bên trong string nếu tìm thấy string con.
String.MaxTrả về ký tự chữ cái cao nhất trong một string.
String.minTrả về ký tự chữ cái tối thiểu trong một string.
String.splitlinesTrả về một danh sách các dòng trong string.
string.capitalizeTrả lại một từ với ký tự đầu tiên viết hoa.
string.ExandtabsMở rộng các tab trong một string thay thế chúng bằng một hoặc nhiều khoảng trắng
string.findTrả về indexin thấp nhất một string con.
string.rfindTìm chỉ số cao nhất.
string.countTrả về số lần xuất hiện (không chồng lấp) của string con phụ trong string
string.lowerTrả về một bản sao của s, nhưng với chữ in hoa được chuyển thành chữ thường.
string.splitTrả về danh sách các từ của string, Nếu sep đối số thứ hai tùy chọn không có hoặc Không có
string.rsplit()Trả về danh sách các từ của string s, quét s từ cuối.
rpartition()Phương thức chia string đã cho thành ba phần
string.splitfieldsTrả về danh sách các từ của string khi chỉ được sử dụng với hai đối số.
string.joinNối một danh sách hoặc một bộ các từ với sự xuất hiện của sep.
string.strip()Nó trả về một bản sao của string với cả hai ký tự đầu và cuối được loại bỏ
string.lstripTrả về một bản sao của string với các ký tự hàng đầu bị loại bỏ.
string.rstripTrả về một bản sao của string với các ký tự dấu được loại bỏ.
string.swapcaseChuyển đổi chữ in thường thành chữ in hoa và ngược lại.
string.transTableDịch các ký tự bằng bảng
string.upperchữ thường được chuyển thành chữ hoa
string.ljusttrái chứng minh trong một lĩnh vực có chiều rộng nhất định.
string.rjustPhải chứng minh trong một lĩnh vực có chiều rộng nhất định.
string.center()Trung tâm biện minh trong một lĩnh vực có chiều rộng nhất định.
string-zfillPad một string số ở bên trái với các chữ số 0 cho đến khi đạt được chiều rộng cho trước.
string.replaceTrả về một bản sao của string s với tất cả các lần xuất hiện của string con cũ được thay thế bằng mới.
string.casefold()Trả về string bằng chữ thường có thể được sử dụng để so sánh ngẫu nhiên.
string.encodeMã hóa string thành bất kỳ mã hóa nào được hỗ trợ bởi mã hóa Python.Default là utf-8.
string.maketransTrả về bảng dịch có thể sử dụng cho str.translate ()

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!