Chuỗi (String) Trong Python - Học Lập Trình Python - Viettuts

Number trong Python List 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. Ví dụ: 'Hello' tương đương với "Hello".

Bạn có thể hiển thị một chuỗi trong Python bằng print(). Ví dụ:

print("Hello") print('Hello')

Nội dung chính

  • Gán chuỗi cho một biến
  • Chuỗi đa dòng
  • Chuỗi là một mảng
  • Truy cập các giá trị trong String
    • Truy cập chuỗi bằng chỉ mục âm
  • Chiều dài chuỗi trong Python
  • Các hàm cơ bản xử lý String trong Python
    • Hàm strip()
    • Hàm lower()
    • Hàm upper()
    • Hàm replace()
    • Hàm split()
  • Kiểm tra sự tồn tại của chuỗi trong chuỗi
  • Nối chuỗi trong Python
  • Định dạng chuỗi trong Python
  • Các ký tự thoát trong Python
  • Chuỗi dạng Unicode trong Python
  • Các phương thức và hàm đã xây dựng sẵn để xử lý chuỗi trong Python

Gán chuỗi cho một biến

Việc gán một chuỗi cho một biến được thực hiện với tên biến theo sau là dấu bằng và chuỗi, Ví dụ:

str1 = "Hello World!" print(str1)

Chuỗi đa dòng

Bạn có thể gán một chuỗi nhiều dòng cho một biến bằng cách sử dụng 3 dấu ngoặc kép hoặc 3 dấu nháy đơn:

Ví dụ nhập chuỗi đa dòng với 3 dấu ngoặc kép:

str1 = """Vi du nhap chuoi nhieu dong trong Python day la dong thu 2 day la dong thu 3 day la dong thu 4""" print(str1)

Ví dụ nhập chuỗi đa dòng với 3 dấu nháy đơn:

str1 = '''Vi du nhap chuoi nhieu dong trong Python day la dong thu 2 day la dong thu 3 day la dong thu 4''' print(str1) Lưu ý: các ngắt dòng phải giống nhau (thụt dầu dòng giống nhau). Đó là quy tắc cơ bản trong Python.

Chuỗi là một mảng

Các chuỗi trong Python là mảng các 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 chuỗi có độ dài bằng 1.

Dấu ngoặc vuông [] có thể được sử dụng để truy cập các phần tử của chuỗi. Ký tự đầu tiên có chỉ số là 0.

str1 = "Hello World!" print(str1[0])

Kết quả:

H

Truy cập các giá trị trong String

Dấu ngoặc vuông [] có thể được sử dụng để truy cập các phần tử của chuỗi. Ký tự đầu tiên có chỉ số là 0.

Cấu trúc chuỗi trong Python

Ví dụ 1:

str1 = "HELLO" str1 = "HELLO" print(str1[0]) print(str1[1]) print(str1[2]) print(str1[3]) print(str1[4])

Kết quả: trả về một chuỗi con từ vị trí 6 đến 8 của chuỗi đã cho:

H E L L O

Chỉ định chỉ mục bắt đầu và chỉ mục kết thúc, được phân tách bằng dấu hai chấm, để trả về một phần của chuỗi.

Cấu trúc chuỗi trong Python

Ví dụ 2:

str1 = "HELLO" print(str1[:]) print(str1[0:]) print(str1[:5]) print(str1[:3]) print(str1[0:2]) print(str1[1:4])

Kết quả:

HELLO HELLO HELLO HEL HE ELL

Truy cập chuỗi bằng chỉ mục âm

Sử dụng các chỉ mục âm để lấy ra chuỗi con bắt đầu từ cuối chuỗi: Ví dụ:

str1 = "Hello World!" print(str1[-5:-2])

Kết quả: trả về một chuỗi con từ vị trí 3 đến 5 từ từ cuối chuỗi của chuỗi đã cho:

orl

Chiều dài chuỗi trong Python

Sử dụng hàm len() để tính chiều dài chuỗi trong Python, Ví dụ:

a = "Hello World!" print(len(a))

Kết quả:

12

Các hàm cơ bản xử lý String trong Python

Python có một tập hợp các phương thức tích hợp mà bạn có thể sử dụng để xử lý chuỗi (String).

Hàm strip()

Hàm strip() loại bỏ bất kỳ khoảng trắng từ đầu hoặc cuối cùng, ví dụ:

a = " Hello World! " print(a.strip()) # returns "Hello World!"

Kết quả:

Hello World!

Hàm lower()

Hàm lower() trả về chuỗi chữ thường, ví dụ:

a = "Hello World!" print(a.lower()) # returns "hello world!"

Kết quả:

hello world!

Hàm upper()

Hàm upper() trả về chuỗi chữ hoa, ví dụ:

a = "Hello World!" print(a.upper()) # returns "HELLO WORLD!"

Kết quả:

HELLO WORLD!

Hàm replace()

Hàm replace() thay thế một chuỗi bằng một chuỗi khác, ví dụ:

a = "Hello World!" print(a.replace("l", "t"))

Kết quả:

Hetto Wortd!

Hàm split()

Hàm split() tách chuỗi thành các chuỗi con, ví dụ:

a = "Hello, World!" print(a.split(","))

Kết quả:

['Hello', ' World!']

Kiểm tra sự tồn tại của chuỗi trong chuỗi

Để kiểm tra xem một cụm từ hoặc ký tự nào đó có trong một chuỗi hay không, chúng ta có thể sử dụng các từ khóa in hoặc not in.

Ví dụ 1: kiểm tra xem cụm từ "python" có tồn tại trong chuỗi sau không:

str1 = "hoc lap trinh python string." x = "python" in str1 print(x)

Kết quả:

True

Ví dụ 2: kiểm tra xem cụm từ "python" không tồn tại trong chuỗi sau không:

str1 = "hoc lap trinh python string." x = "python" not in str1 print(x)

Kết quả:

False

Nối chuỗi trong Python

Để nối hoặc kết hợp hai chuỗi với nhau bạn có thể sử dụng toán tử +.

Ví dụ 1: Nối biến a với biến b thành biến c:

a = "Hello " b = "Python " c = a + b print(c)

Kết quả:

Hello Python

Định dạng chuỗi trong Python

Trong Python, chúng ta không thể kết hợp các chuỗi và số như thế này:

n = 3 txt = "Hello Python " + 3 print(txt)

Chúng ta có thể kết hợp chuỗi và số bằng cách sử dụng hàm format()

Ví dụ: Sử dụng hàm format() để chèn số vào chuỗi:

n = 3 txt = "Hello Python {}" print(txt.format(n))

Kết quả:

Hello Python 3

Bạn có thể nhập bất kỳ số lượng đối số cho hàm format(), chúng sẽ được thay thế dấu {} tương ứng, ví dụ:

txt = "Xin chao, toi la {}, {} tuoi, den tu {}" print(txt.format("Nam", 22, "Ha Noi"))

Kết quả:

Xin chao, toi la Nam, 22 tuoi, den tu Ha Noi

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ể in được mà có thể được biểu diễn với dấu \.

Ký tự thoátBiểu diễn trong hệ 16Miêu tả
\a0x07Bell hoặc alert
\b0x08Backspace
\cxControl-x
\C-xControl-x
\e0x1bEscape
\f0x0cFormfeed
\M-\C-xMeta-Control-x
\n0x0aNewline
\nnnNotation trong hệ cơ số 8, ở đây n là trong dãy từ 0 tới 7
\r0x0dCarriage return
\s0x20Space
\t0x09Tab
\v0x0bTab dọc
\xKý tự x
\xnnNotation trong hệ thập lục phân, ở đây n là trong dãy từ 0.9, a.f, hoặc A.F

Chuỗi dạng Unicode trong Python

Cá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 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 link để thấy ví dụ chi tiết.

STTHàm và mô tả
1Hàm capitalize()Viết hoa chữ cái đầu tiên của chuỗi
2Hàm center(width, fillchar)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
3Hàm 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 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
4Hàm endswith(suffix, beg=0, end=len(string))Xác định xem nếu 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) kết thúc với hậu tố suffix thì trả về true, nếu không thì phương thức này trả về false
5Hàm expandtabs(tabsize=8)Mở rộng các tab trong chuỗi tới số khoảng trống đã cho; mặc định là 8 space cho mỗi tab nếu bạn không cung cấp tabsize
6Hàm find(str, beg=0 end=len(string))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, còn không thì trả về -1
7Hàm 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 là không được tìm thấy
8Hàm isalnum()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
9Hàm isalpha()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
10Hàm isdigit()Trả về true nếu chuỗi chỉ chứa các chữ số, nếu không là false
11Hàm islower()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
12Hàm isnumeric()Trả về true nếu một chuỗi dạng Unicode chỉ chứa các ký tự số, nếu không là false
13Hàm 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
14Hàm istitle()Trả về true nếu chuỗi là ở dạng titlecase, nếu không là false
15Hàm isupper()Trả về true nếu tất cả ký tự trong chuỗi là chữ hoa
16Hàm join(seq)Nối chuỗi các biểu diễn chuỗi của các phần tử trong dãy seq thành một chuỗi
17Hàm len(string)Trả về độ dài của chuỗi
18Hàm ljust(width[, fillchar])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
19Hàm lower()Chuyển đối tất cả chữ hoa trong chuỗi sang kiểu chữ thường
20Hàm lstrip()Xóa tất cả các khoảng trống trắng ban đầu (leading) trong chuỗi
21Hàm max(str)Trả về ký tự chữ cái lớn nhất từ chuỗi str đã cho
22Hàm min(str)Trả về ký tự chữ cái nhỏ nhất từ chuỗi str đã cho
23Hàm replace(old, new [, max])Thay thế tất cả sự xuất hiện của old trong chuỗi với new với số lần xuất hiện max (nếu cung cấp)
24Hàm rfind(str, beg=0,end=len(string))Tương tự hàm find(), nhưng trả về chỉ mục cuối cùng
25Hàm rindex( str, beg=0, end=len(string))Giống index(), nhưng trả về chỉ mục cuối cùng nếu tìm thấy
26Hàm rjust(width,[, fillchar])Trả về một chuỗi mới, trong đó có chuỗi ban đầu được căn chỉnh vào bên phải và bên trái là các fillchar sao cho tổng số ký tự là width
27Hàm rstrip()Xóa bỏ tất cả các khoảng trống trắng ở cuối (trailing) của chuỗi
28Hàm split(str="", num=string.count(str))Chia chuỗi theo delimeter đã cho (là space nếu không được cung cấp) và trả về danh sách các chuỗi con; nếu bạn cung cấp num thì chia chuỗi thành num chuỗi con
29Hàm splitlines( num=string.count('\n'))Trả về một List gồm tất cả các dòng trong chuỗi, và tùy ý xác định các ngắt dòng (nếu num được cung cấp và là true).
30Hàm startswith(str, beg=0,end=len(string))Xác định xem chuỗi hoặc chuỗi con (nếu bạn cung cấp chỉ mục bắt đầu beg và chỉ mục kết thúc end) có bắt đầu với chuỗi con str không, nếu có trả về true, nếu không là false
31Hàm strip([chars])Thực hiện cả hai phương thức lstrip() và rstrip() trên chuỗi
32Hàm swapcase()Đảo ngược kiểu của tất cả ký tự trong chuỗi
33Hàm title()Trả về một bản sao của chuỗi trong đó tất cả ký tự đầu tiên của tất cả các từ là ở kiểu chữ hoa.
34Hàm upper()Chuyển đổi các chữ thường trong chuỗi thành chữ hoa
35Hàm zfill (width)Trả về một chuỗi mới, trong đó bao gồm chuỗi ban đầu và được đệm thêm với các số 0 vào bên trái sao cho tổng ký tự là width
36Hàm isdecimal()Trả về true nếu một chuỗi dạng Unicode chỉ chứa các ký tự thập phân, nếu không là false
Number trong Python List trong Python

Từ khóa » Chèn Ký Tự Vào Chuỗi Trong Python