Chuỗi trong Python là một tập hợp các ký tự được sắp xếp được sử dụng để thể hiện và lưu trữ thông tin dựa trên văn bản. Chuỗi được lưu trữ dưới dạng các ký tự riêng lẻ trong một vị trí bộ nhớ liền kề. Chuỗi là kiểu dữ liệu bất biến trong python, có nghĩa là một khi chuỗi được tạo, chúng không thể thay đổi. Trong bài này, chúng ta sẽ tìm hiểu rõ hơn về chuỗi trong Python để bắt đầu làm việc với các chuỗi.
Nếu bạn chưa xem qua các bài học trước của bọn mình, bạn có thể xem các bài học đó tại đây để biết thêm về Python.
Ví dụ về String
Một chuỗi có thể được biểu thị bằng nhiều cách. Chúng có thể được đặt trong dấu “…” hoặc ‘…’.
#ví dụ về cách gán một chuỗi cho biến var1 = 'python for beginners' var2 = "python for beginners"
Vậy khi nào dùng “…” và khi nào dùng ‘…’. Đơn giản, nếu trong chuỗi có dấu ” thì hãy để chuỗi đó ở trong dấu ‘…’ và ngược lại.
>>> "Hi, I'm python" "Hi, I'm python" >>> '"Python" is a string' ' "Python" is a string'
Ngoài ra, có thể sử dụng dấu để bỏ qua chúng.
>>> "Hi, I'm python" "Hi, I'm python" >>> '"Python" is a string' ' "Python" is a string'
Nếu muốn biếu thị một chuỗi trên nhiều dòng, có thể dùng ba dấu nháy “””…””” hoăc ”’…”’.
print("""Một nghìn một miếng cu-đơ. ... Hai nghìn hai miếng cu đơ một nghìn """)
Kết quả:
Một nghìn một miếng cu-đơ. ... Hai nghìn hai miếng cu-đơ một nghìn
Nối chuỗi
Các chuỗi có thể nối với nhau bằng toán tử +, hoặc lặp lại chuỗi bằng cách dử dụng toán tử *.
>>>"Hello" + " world" 'Hello world' >>> "Hello "*3 'Hello Hello Hello '
Các chuỗi nằm kề nhau sẽ tự động được nối. Với điều kiện là chúng được đặt giữa cùng một dấu ngoăc.
>>> "Hello"" world" 'Hello world' >>> "Hi"" Hi"" Hi" 'Hi Hi Hi'
Truy cập đến các kí tự trong chuỗi
Trong Python, các kí tự của chuỗi có thể được truy cập riêng bằng cách sử dụng một phương thức được gọi là lập chỉ mục. Kí tự có thể được truy cập từ cả hai hướng: tiến và lùi. Lập chỉ mục chuyển tiếp bắt đầu từ mẫu 0, 1, 2. Trong khi đó, lập chỉ mục ngược bắt đầu từ −1, −2, …3, trong đó −1 là phần tử cuối cùng trong chuỗi, −2 là phần tử cuối cùng, v.v. Chỉ có thể sử dụng số nguyên để lập chỉ mục.
>>> var = "Python" >>> var[0] #kí tự ở vị trí 0 'P' >>> var[1] #kí tự ở vị trí 1 'y' >>> var[-1] #"kí tự ở vị trí -1 'n'
Lưu ý, các chỉ số dương bắt đầu tử 0, vì -0 bằng 0 nên các chỉ số âm bắt đầu bằng -1.
Hãy nhìn vào hình sau để hiểu rõ hơn về cách đếm vị trí các kí tự trong chuỗi.
+---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5 -6 -5 -4 -3 -2 -1
Hàng số đầu tiên đưa ra vị trí dương của các kí tự trong chuỗi, hàng thứ hai chỉ vị trí âm tương ứng.
Ta cũng có thể cắt các chuỗi lớn thành các chuỗi nhỏ có độ dài nhỏ hơn.
>>> var = "Python" >>> var[:3] # cắt từ kí tự đầu đến kí tự thứ 3 'Pyt' >>> var[1:5] #cắt từ kí thự thứ 1 đến kí tự thứ 5 'ytho' >>> var[-5:] #cắt từ kí tự -5 đến hết chuỗi 'ython'
Nhìn vào ví dụ có thể thấy nếu ta bỏ trống một trong hai tham số cần truyền vào thì mặc định chúng sẽ được gán bằng 0 nếu trước “:”, và -1 nếu sau “:”.
Cập nhật giá trị cho chuỗi
Chuỗi trong python là bất biến, vì thế không thể gán giá trị của các kí tự trong chuỗi thành một kí tự khác, sẽ xuất hiện lỗi như trong ví dụ:
>>> var = "Python" >>> var[5]="k" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment
Thay vì vậy, hãy tạo một chuỗi khác:
>>> "H" + var[1:] 'Hython' >>> var[:2] + "py" 'Pypy'
Định dạng chuỗi trong python
Định dạng chuỗi với f-string
>>> first = "tony" >>> last = "stark" >>> mgs = first + " " + last + " is a supper hero" >>> print(mgs) tony stark is a supper hero
Bằng cách trên nếu khi ta in ra một chuỗi dài nó trở nên không lý tưởng và việc code trở nên khó khăn, thay vì vậy chúng ta có thể dùng định dạng f-string như sau:
>>> first = "tony" >>> last = "stark" >>>print(f'{first} {last} is a supper hero') tony stark is a supper hero
Hãy để ý tiền tố f
ở trước chuỗi cần in, đây là lí do mà người ta gọi đây là chuỗi F. Các biến sẽ được đặt ở trong dấu {}
. Khi in chuỗi ra thì giá trị của chúng sẽ được thay thế vào.
Định dạng với phương thức format
Bản thân biến dạng chuỗi là một đối tượng string, có một hàm nội tại là format() dùng để định dạng nội dung. Ví dụ dưới đây sử dụng hàm format() này để định dạng chuỗi.
>>> first = "tony" >>> last = "stark" >>> mgs ='{} {} is a supper hero'.format(first, last) >>> print(mgs) tony stark is a supper hero
Một số hàm thường dùng với String
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 trên các chuỗi. Sau đây là một số hàm thường dung:
strip() : loại bỏ tất cả khoảng trắng ở đầu và cuối của chuỗi
s1 = " Python " print(s1.strip()) # return 'Python'
upper(): trả về một chuỗi hoa
s = "Python" print(s.upper()) # return 'PYTHON'
lower(): trả về một chuỗi thường
s = "Python" print(s.lower()) # return 'python'
replace(): thay thế một chuỗi cho chuỗi khác
s = "Python" print(s.replace("P", "J")) # return 'Jython'
split(): dùng để tách chuỗi thành chuỗi con
s = "Python for newbies" print(s.split(" ")) #tách chuỗi được chia bởi dấu space # return ['Python', 'for', 'newbies']
len(): trả về độ dài của chuỗi
s = "Python" print(len(s)) #return 6
Hàm count()
Hàm này sẽ trả về số lần xuất hiện một chuỗi con trong string
str = "wellcom to lap trinh khong kho" print(str.count('w')) # return 1 print(str.count('l')) # return 3
Bài học về chuỗi xin kết thúc tại đây, nếu bạn có thắc mắc gì về bài hoc có thể để lại comment ở dưới bài viết hoặc đang lên lập trình không khó để được giải đáp.
Thân!!!
Để lại một bình luận