Python sử dụng các mảng byte được gọi là chuỗi để biểu thị các ký tự unicode. Trong Python, chỉ mục chuỗi nằm trong khoảng từ 0 đến n-1, trong đó n là độ dài của chuỗi. Do đó, trong một chuỗi có kích thước n, các ký tự có thể được lấy từ 0 đến n-1
Chẳng hạn, chỉ mục của văn bản “Mã hóa” là 0,1,2,3,4,5. Ký tự đầu tiên trong chuỗi “Coding” được biểu thị bằng số 0 và các ký tự o, d, i, n và g được biểu thị bằng các số lần lượt là 1, 2, 3 và 5
In các ký tự của một chuỗi
Các ký tự có thể được đặt trong dấu ngoặc đơn hoặc kép để tạo chuỗi. Trong Python, thậm chí cả ba trích dẫn đều được cho phép, nhưng chúng thường chỉ được sử dụng để biểu thị các chuỗi và chuỗi tài liệu nhiều dòng. Sau đây là một ví dụ để tạo một chuỗi -
Thí dụ
đầu ra
Sau đây là đầu ra của đoạn mã trên -
Works Works Works Hey, welcome to TutorialsPoint
Các phương pháp truy xuất các ký tự từ một chuỗi theo chỉ mục được liệt kê bên dưới
In ký tự thứ 3 đến thứ 5 của Chuỗi
Để in các ký tự của một chuỗi bắt đầu từ chỉ số 3 đến 5, có nhiều cách khác nhau, chúng như sau:
Sử dụng Lập chỉ mục hoặc cắt
Vị trí của một ký tự trong chuỗi được chỉ định bởi chỉ số của nó. Trong Python, lập chỉ mục là một kỹ thuật được sử dụng để chỉ các phần tử cụ thể trong một lần lặp theo vị trí của chúng. Nói cách khác, tùy thuộc vào yêu cầu của bạn, bạn có thể truy cập trực tiếp các phần tử ưa thích của mình trong một lần lặp và thực hiện các thao tác khác nhau
cú pháp
Sau đây là cú pháp để in các ký tự từ một chuỗi -
string[start:end:step]
Ở đâu,
- Bắt đầu - Chỉ mục ban đầu của chuỗi con. Chuỗi con chứa ký tự tại chỉ mục này. Bắt đầu được lấy bằng 0 nếu nó bị bỏ qua
- Kết thúc - Chỉ số kết thúc của chuỗi con. Ký tự này không phải là một phần của chuỗi con tại chỉ mục này. Kết thúc tự động được coi là bằng với độ dài của chuỗi nếu nó bị bỏ qua hoặc nếu giá trị được cung cấp dài hơn chuỗi
- Sau ký tự hiện tại, mỗi ký tự "bước" phải được cung cấp. Cài đặt ban đầu là 1. Bước được thực hiện bằng 1 nếu nó bị bỏ qua
Thí dụ
Sau đây là một ví dụ để in các ký tự từ một chuỗi bắt đầu từ thứ 3 đến thứ 5 bằng cách sử dụng điều kiện if-else −
có thể bạn muốn in từng ký tự của một chuỗi, vì vậy trong hướng dẫn này, chúng ta sẽ tìm hiểu cách bạn có thể làm điều đó một cách tốt nhất
1. In từng ký tự của chuỗi
ví dụ 1
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
đầu ra
m y n a m e i s m a r k
Như bạn có thể thấy, chúng tôi đã in từng ký tự của chuỗi
bây giờ, giả sử bạn muốn thêm "+" vào giữa mỗi ký tự, có nhiều cách để làm điều đó, nhưng trong trường hợp của chúng ta, chúng ta sẽ sử dụng hàm tích hợp sẵn join[]
Trong hướng dẫn về Các kiểu dữ liệu cơ bản trong Python, bạn đã học cách xác định chuỗi. các đối tượng chứa chuỗi dữ liệu ký tự. Xử lý dữ liệu ký tự là không thể thiếu trong lập trình. Đây là một ứng dụng hiếm hoi không cần thao tác với chuỗi ít nhất ở một mức độ nào đó
Đây là những gì bạn sẽ học trong hướng dẫn này. Python cung cấp một tập hợp phong phú các toán tử, hàm và phương thức để làm việc với chuỗi. Khi bạn hoàn thành hướng dẫn này, bạn sẽ biết cách truy cập và trích xuất các phần của chuỗi, đồng thời làm quen với các phương thức có sẵn để thao tác và sửa đổi dữ liệu chuỗi
Bạn cũng sẽ được giới thiệu về hai đối tượng Python khác được sử dụng để biểu diễn dữ liệu byte thô, các loại
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Chuỗi trăn và dữ liệu ký tự” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian
Lấy bài kiểm tra "
Thao tác chuỗi
Các phần bên dưới nêu bật các toán tử, phương thức và hàm có sẵn để làm việc với chuỗi
Loại bỏ các quảng cáoToán tử chuỗi
Bạn đã thấy các toán tử
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 được áp dụng cho các toán hạng số trong hướng dẫn về Toán tử và Biểu thức trong Python. Hai toán tử này cũng có thể được áp dụng cho chuỗiNhà điều hành >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Toán tử
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 nối các chuỗi. Nó trả về một chuỗi bao gồm các toán hạng được nối với nhau, như được hiển thị ở đây>>>
string[start:end:step]0
Toán tử >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Toán tử
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 tạo nhiều bản sao của một chuỗi. Nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 là một chuỗi và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38 là một số nguyên, một trong hai biểu thức sau sẽ trả về một chuỗi bao gồm các bản sao >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38 nối của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37______441
42>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Dưới đây là ví dụ về cả hai hình thức
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Toán hạng cấp số nhân
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38 phải là một số nguyên. Bạn nghĩ rằng nó bắt buộc phải là một số nguyên dương, nhưng thật thú vị, nó có thể bằng 0 hoặc âm, trong trường hợp đó, kết quả là một chuỗi rỗng>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
1Nếu bạn tạo một biến chuỗi và khởi tạo nó thành chuỗi rỗng bằng cách gán cho nó giá trị
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
44, thì bất kỳ ai cũng có thể nghĩ rằng bạn hơi ngớ ngẩn. Nhưng nó sẽ hoạt độngNhà điều hành >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
45
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Python cũng cung cấp một toán tử thành viên có thể được sử dụng với các chuỗi. Toán tử
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
45 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu toán hạng đầu tiên được chứa trong toán hạng thứ hai và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu ngược lại>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
7Ngoài ra còn có toán tử ________ 449, ngược lại
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
9Hàm chuỗi tích hợp
Như bạn đã thấy trong hướng dẫn về Các kiểu dữ liệu cơ bản trong Python, Python cung cấp nhiều hàm được tích hợp sẵn cho trình thông dịch và luôn có sẵn. Dưới đây là một số hoạt động với chuỗi
Chức năng Mô tả
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
50Chuyển đổi một số nguyên thành một ký tự>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
51Chuyển đổi một ký tự thành một số nguyên>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
52Trả về độ dài của một chuỗi>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
53Trả về một chuỗi biểu diễn của một đối tượngChúng được khám phá đầy đủ hơn dưới đây
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
54
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Trả về một giá trị số nguyên cho ký tự đã cho
Ở cấp độ cơ bản nhất, máy tính lưu trữ tất cả thông tin dưới dạng số. Để biểu diễn dữ liệu ký tự, lược đồ dịch được sử dụng để ánh xạ từng ký tự thành số đại diện của nó
Sơ đồ đơn giản nhất được sử dụng phổ biến được gọi là ASCII. Nó bao gồm các ký tự Latinh phổ biến mà bạn có thể quen thuộc nhất khi làm việc với. Đối với những ký tự này,
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
54 trả về giá trị ASCII cho ký tự >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
56>>>
m y n a m e i s m a r k7
ASCII vẫn ổn khi nó đi. Nhưng có nhiều ngôn ngữ khác nhau được sử dụng trên thế giới và vô số biểu tượng và nét chữ xuất hiện trên phương tiện kỹ thuật số. Tập hợp đầy đủ các ký tự có khả năng cần được biểu diễn bằng mã máy tính vượt xa các chữ cái, số và ký hiệu Latinh thông thường mà bạn thường thấy
Unicode là một tiêu chuẩn đầy tham vọng cố gắng cung cấp mã số cho mọi ký tự có thể, trong mọi ngôn ngữ có thể, trên mọi nền tảng có thể. Python 3 hỗ trợ Unicode rộng rãi, bao gồm cả việc cho phép các ký tự Unicode trong chuỗi
Để biết thêm thông tin. Xem Unicode & Mã hóa ký tự trong Python. Hướng dẫn không gây đau đớn và Hỗ trợ Unicode của Python trong tài liệu Python
Miễn là bạn ở trong miền của các ký tự phổ biến, sẽ có rất ít sự khác biệt thực tế giữa ASCII và Unicode. Nhưng hàm
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
51 cũng sẽ trả về các giá trị số cho các ký tự Unicode>>>
m y n a m e i s m a r k9
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
58
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Trả về một giá trị ký tự cho số nguyên đã cho
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
50 làm ngược lại với >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
51. Cho trước một giá trị số >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38, >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
58 trả về một chuỗi đại diện cho ký tự tương ứng với >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
6>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
50 cũng xử lý các ký tự Unicode>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
8>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
65Trả về độ dài của một chuỗi
Với
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
52, bạn có thể kiểm tra độ dài chuỗi Python. >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
65 trả về số ký tự trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
3>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
69Trả về một chuỗi đại diện của một đối tượng
Hầu như bất kỳ đối tượng nào trong Python đều có thể được hiển thị dưới dạng chuỗi.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
69 trả về chuỗi đại diện của đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
71>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
0Loại bỏ các quảng cáoLập chỉ mục chuỗi
Thông thường trong các ngôn ngữ lập trình, các mục riêng lẻ trong một tập hợp dữ liệu được sắp xếp có thể được truy cập trực tiếp bằng cách sử dụng chỉ mục số hoặc giá trị khóa. Quá trình này được gọi là lập chỉ mục
Trong Python, các chuỗi được sắp xếp theo thứ tự các chuỗi dữ liệu ký tự và do đó có thể được lập chỉ mục theo cách này. Có thể truy cập các ký tự riêng lẻ trong một chuỗi bằng cách chỉ định tên chuỗi theo sau là một số trong dấu ngoặc vuông [
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
72]Lập chỉ mục chuỗi trong Python là không dựa trên. ký tự đầu tiên trong chuỗi có chỉ số
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
73, ký tự tiếp theo có chỉ số >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
74, v.v. Chỉ số của ký tự cuối cùng sẽ là độ dài của chuỗi trừ đi mộtVí dụ: sơ đồ các chỉ số của chuỗi
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
75 sẽ trông như thế nàyCác ký tự riêng lẻ có thể được truy cập theo chỉ mục như sau
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
1Cố gắng lập chỉ mục ngoài phần cuối của chuỗi dẫn đến lỗi
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
2Chỉ mục chuỗi cũng có thể được chỉ định bằng số âm, trong trường hợp đó, việc lập chỉ mục xảy ra từ cuối chuỗi trở lại.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
76 đề cập đến ký tự cuối cùng, >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
77 ký tự thứ hai đến cuối cùng, v.v. Đây là sơ đồ tương tự hiển thị cả chỉ số dương và âm trong chuỗi >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
75Dưới đây là một số ví dụ về lập chỉ mục tiêu cực
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
3Cố gắng lập chỉ mục với các số âm ngoài phần đầu của chuỗi dẫn đến lỗi
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
4Đối với bất kỳ chuỗi không trống nào, cả
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37, >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
80 và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
81 đều trả về ký tự cuối cùng. Không có bất kỳ chỉ mục nào có ý nghĩa đối với một chuỗi rỗngcắt chuỗi
Python cũng cho phép một dạng cú pháp lập chỉ mục trích xuất các chuỗi con từ một chuỗi, được gọi là cắt chuỗi. Nếu
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 là một chuỗi, một biểu thức có dạng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
83 trả về phần của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 bắt đầu với vị trí >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 và cho đến nhưng không bao gồm vị trí >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
5Nhớ. Các chỉ số chuỗi dựa trên số không. Ký tự đầu tiên trong chuỗi có chỉ số
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
73. Điều này áp dụng cho cả lập chỉ mục tiêu chuẩn và cắt látMột lần nữa, chỉ mục thứ hai xác định ký tự đầu tiên không được bao gồm trong kết quả—ký tự
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
88 [>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
89] trong ví dụ trên. Điều đó có vẻ hơi không trực quan, nhưng nó tạo ra kết quả này có ý nghĩa. biểu thức >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
83 sẽ trả về một chuỗi con có độ dài >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
91 ký tự, trong trường hợp này là >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
92Nếu bạn bỏ qua chỉ mục đầu tiên, lát cắt sẽ bắt đầu ở đầu chuỗi. Do đó,
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
93 và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
94 là tương đương>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
6Tương tự, nếu bạn bỏ qua chỉ mục thứ hai như trong
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
95, thì lát cắt sẽ kéo dài từ chỉ mục đầu tiên cho đến hết chuỗi. Đây là một sự thay thế hay, ngắn gọn cho >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
96 rườm rà hơn>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
7Đối với bất kỳ chuỗi
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 và bất kỳ số nguyên >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38 [>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
99],
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
100 sẽ bằng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
8Bỏ qua cả hai chỉ số trả về toàn bộ chuỗi gốc. Theo đúng nghĩa đen. Nó không phải là một bản sao, nó là một tham chiếu đến chuỗi gốc
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
9Nếu chỉ mục đầu tiên trong một lát cắt lớn hơn hoặc bằng chỉ mục thứ hai, Python sẽ trả về một chuỗi rỗng. Đây là một cách khó hiểu khác để tạo ra một chuỗi trống, trong trường hợp bạn đang tìm kiếm một chuỗi
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
10Các chỉ số tiêu cực cũng có thể được sử dụng với cắt lát.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
76 đề cập đến ký tự cuối cùng, >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
77 là ký tự thứ hai đến cuối cùng, v.v., giống như với việc lập chỉ mục đơn giản. Sơ đồ dưới đây cho thấy cách cắt chuỗi con
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
104 từ chuỗi >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
75 bằng cách sử dụng cả chỉ số dương và âmĐây là mã Python tương ứng
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
11Loại bỏ các quảng cáoChỉ định một Stride trong một String Slice
Có thêm một biến thể của cú pháp cắt để thảo luận. Thêm một
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
106 bổ sung và một chỉ số thứ ba chỉ định một sải chân [còn gọi là bước], cho biết có bao nhiêu ký tự cần nhảy sau khi truy xuất từng ký tự trong lát cắtVí dụ: đối với chuỗi
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
75, lát cắt
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
108 bắt đầu bằng ký tự đầu tiên và kết thúc bằng ký tự cuối cùng [toàn bộ chuỗi] và mọi ký tự thứ hai đều bị bỏ qua. Điều này được thể hiện trong sơ đồ sauTương tự,
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
109 chỉ định một lát cắt bắt đầu bằng ký tự thứ hai [chỉ mục >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
74] và kết thúc bằng ký tự cuối cùng, và một lần nữa, giá trị sải chân
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
111 khiến mọi ký tự khác bị bỏ quaMã REPL minh họa được hiển thị ở đây
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
12Như với bất kỳ phép cắt nào, chỉ số đầu tiên và thứ hai có thể được bỏ qua và mặc định tương ứng với các ký tự đầu tiên và cuối cùng
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
13Bạn cũng có thể chỉ định giá trị sải chân âm, trong trường hợp đó, Python sẽ lùi lại qua chuỗi. Trong trường hợp đó, chỉ số bắt đầu/đầu tiên phải lớn hơn chỉ số kết thúc/thứ hai
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
14Trong ví dụ trên,
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
112 có nghĩa là “bắt đầu từ ký tự cuối cùng và lùi lại bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
111, cho đến nhưng không bao gồm ký tự đầu tiên. ”Khi bạn lùi lại, nếu chỉ số thứ nhất và thứ hai bị bỏ qua, giá trị mặc định sẽ bị đảo ngược theo cách trực quan. chỉ mục đầu tiên mặc định ở cuối chuỗi và chỉ mục thứ hai mặc định ở đầu. Đây là một ví dụ
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
15Đây là một mô hình phổ biến để đảo ngược một chuỗi
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
16Nội suy các biến thành một chuỗi
Trong Python phiên bản 3. 6, một cơ chế định dạng chuỗi mới đã được giới thiệu. Tính năng này có tên chính thức là Formatted String Literal, nhưng thường được gọi bằng biệt danh f-string
Khả năng định dạng được cung cấp bởi chuỗi f rất rộng và sẽ không được trình bày chi tiết đầy đủ ở đây. Nếu muốn tìm hiểu thêm, bạn có thể xem bài viết Real Python Python 3’s f-Strings. Cú pháp định dạng chuỗi được cải thiện [Hướng dẫn]. Ngoài ra còn có một hướng dẫn về Đầu ra được định dạng xuất hiện sau trong loạt bài này để tìm hiểu sâu hơn về chuỗi f
Một tính năng đơn giản của f-string mà bạn có thể bắt đầu sử dụng ngay là nội suy biến. Bạn có thể chỉ định một tên biến trực tiếp trong một chuỗi ký tự f và Python sẽ thay thế tên đó bằng giá trị tương ứng
Ví dụ: giả sử bạn muốn hiển thị kết quả của phép tính số học. Bạn có thể làm điều này bằng một câu lệnh
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
114 đơn giản, phân tách các giá trị số và chuỗi ký tự bằng dấu phẩy>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
17Nhưng điều này là cồng kềnh. Để thực hiện điều tương tự bằng cách sử dụng chuỗi f
- Chỉ định chữ thường
115 hoặc chữ hoa#string string = "my name is mark" #loop for i in string: #print each character print[i]
116 ngay trước dấu ngoặc kép mở đầu của chuỗi ký tự. Điều này cho Python biết đó là chuỗi f thay vì chuỗi tiêu chuẩn#string string = "my name is mark" #loop for i in string: #print each character print[i]
- Chỉ định bất kỳ biến nào được nội suy trong dấu ngoặc nhọn [
117]#string string = "my name is mark" #loop for i in string: #print each character print[i]
Viết lại bằng chuỗi f, ví dụ trên trông gọn gàng hơn nhiều
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
18Bất kỳ cơ chế trích dẫn nào trong số ba cơ chế trích dẫn của Python đều có thể được sử dụng để xác định chuỗi f
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
19Loại bỏ các quảng cáosửa đổi chuỗi
Tóm lại, bạn không thể. Chuỗi là một trong những kiểu dữ liệu Python coi là bất biến, nghĩa là không thể thay đổi. Trên thực tế, tất cả các kiểu dữ liệu bạn đã thấy cho đến nay đều là bất biến. [Python cung cấp các kiểu dữ liệu có thể thay đổi, như bạn sẽ sớm thấy. ]
Một tuyên bố như thế này sẽ gây ra một lỗi
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
70Trên thực tế, thực sự không cần phải sửa đổi nhiều chuỗi. Bạn thường có thể dễ dàng thực hiện những gì mình muốn bằng cách tạo một bản sao của chuỗi gốc có thay đổi mong muốn tại chỗ. Có rất nhiều cách để làm điều này trong Python. Đây là một khả năng
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
71Ngoài ra còn có một phương thức chuỗi tích hợp để thực hiện điều này
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
72Đọc tiếp để biết thêm thông tin về các phương thức chuỗi tích hợp
Các phương thức chuỗi tích hợp
Bạn đã học trong hướng dẫn về Biến trong Python rằng Python là một ngôn ngữ hướng đối tượng cao. Mỗi mục dữ liệu trong chương trình Python là một đối tượng
Bạn cũng đã quen thuộc với các chức năng. các thủ tục có thể gọi được mà bạn có thể gọi để thực hiện các tác vụ cụ thể
Phương thức tương tự như hàm. Một phương thức là một loại thủ tục có thể gọi được chuyên biệt được liên kết chặt chẽ với một đối tượng. Giống như một hàm, một phương thức được gọi để thực hiện một tác vụ riêng biệt, nhưng nó được gọi trên một đối tượng cụ thể và có kiến thức về đối tượng đích của nó trong quá trình thực thi
Cú pháp gọi một phương thức trên một đối tượng như sau
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
73Điều này gọi phương thức
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
118 trên đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
71.
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
120 chỉ định các đối số được truyền cho phương thức [nếu có]Bạn sẽ khám phá nhiều hơn nữa về việc định nghĩa và gọi các phương thức sau này trong phần thảo luận về lập trình hướng đối tượng. Hiện tại, mục tiêu là trình bày một số phương thức tích hợp được sử dụng phổ biến hơn mà Python hỗ trợ để thao tác trên các đối tượng chuỗi
Trong các định nghĩa phương thức sau đây, các đối số được chỉ định trong ngoặc vuông [______472] là tùy chọn
Chuyển đổi trường hợp
Các phương thức trong nhóm này thực hiện chuyển đổi trường hợp trên chuỗi mục tiêu
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
122Viết hoa chuỗi mục tiêu
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
122 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 với ký tự đầu tiên được chuyển thành chữ hoa và tất cả các ký tự khác được chuyển thành chữ thường>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
74Các ký tự không phải là bảng chữ cái không thay đổi
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
75
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
125Chuyển đổi các ký tự chữ cái thành chữ thường
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
125 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 với tất cả các ký tự chữ cái được chuyển thành chữ thường>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
76
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
128Trường hợp hoán đổi của các ký tự chữ cái
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
128 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 với các ký tự chữ hoa được chuyển thành chữ thường và ngược lại>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
77
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
131Chuyển đổi chuỗi mục tiêu thành "trường hợp tiêu đề. ”
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
131 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 trong đó chữ cái đầu tiên của mỗi từ được chuyển đổi thành chữ hoa và các chữ cái còn lại là chữ thường>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
78Phương pháp này sử dụng một thuật toán khá đơn giản. Nó không cố gắng phân biệt giữa các từ quan trọng và không quan trọng, và nó không xử lý các dấu nháy đơn, sở hữu hoặc từ viết tắt một cách duyên dáng
>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
79
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
134Chuyển đổi các ký tự chữ cái thành chữ hoa
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
134 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 với tất cả các ký tự chữ cái được chuyển thành chữ hoa>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
90Tìm và thay thế
Các phương thức này cung cấp các phương tiện khác nhau để tìm kiếm chuỗi mục tiêu cho một chuỗi con đã chỉ định
Mỗi phương thức trong nhóm này hỗ trợ các đối số
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138 tùy chọn. Chúng được hiểu là để cắt chuỗi. hành động của phương thức bị giới hạn ở phần của chuỗi đích bắt đầu từ vị trí ký tự
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 và tiếp tục đến nhưng không bao gồm vị trí ký tự
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138. Nếu
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 được chỉ định nhưng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138 thì không, phương pháp này sẽ áp dụng cho phần của chuỗi mục tiêu từ
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 đến hết chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
144Đếm số lần xuất hiện của một chuỗi con trong chuỗi đích
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
145 trả về số lần xuất hiện không chồng lấp của chuỗi con
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
146 trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
91Số lượng được giới hạn ở số lần xuất hiện trong chuỗi con được chỉ định bởi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138, nếu chúng được chỉ định>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
92
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
150Xác định xem chuỗi mục tiêu có kết thúc bằng một chuỗi con đã cho hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
151 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 kết thúc bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
154 đã chỉ định và ngược lại là >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
93Việc so sánh được giới hạn ở chuỗi con được chỉ định bởi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138, nếu chúng được chỉ định>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
94
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
158Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định
Bạn có thể sử dụng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
159 để xem liệu một chuỗi Python có chứa một chuỗi con cụ thể hay không.
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
160 trả về chỉ số thấp nhất trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 nơi tìm thấy chuỗi con
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
146>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
95Phương thức này trả về
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
76 nếu không tìm thấy chuỗi con đã chỉ định>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
96Việc tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138, nếu chúng được chỉ định>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
97
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
166Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định
Phương thức này giống hệt với
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
159, ngoại trừ việc nó đưa ra một ngoại lệ nếu không tìm thấy
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
146 thay vì trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
76>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
98
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
170Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định bắt đầu từ cuối
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
171 trả về chỉ số cao nhất trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 nơi tìm thấy chuỗi con
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
146>>>
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
99Như với
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
159, nếu không tìm thấy chuỗi con, thì trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
76>>>
m y n a m e i s m a r k70
Việc tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138, nếu chúng được chỉ định>>>
m y n a m e i s m a r k71
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
178Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định bắt đầu từ cuối
Phương pháp này giống hệt với
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
179, ngoại trừ việc nó đưa ra một ngoại lệ nếu không tìm thấy
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
146 thay vì trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
76>>>
m y n a m e i s m a r k72
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
182Xác định xem chuỗi mục tiêu có bắt đầu bằng một chuỗi con đã cho hay không
Khi bạn sử dụng phương thức Python
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
183,
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
184 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 bắt đầu bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
154 đã chỉ định và ngược lại là >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48>>>
m y n a m e i s m a r k73
Việc so sánh được giới hạn ở chuỗi con được chỉ định bởi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
137 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
138, nếu chúng được chỉ định>>>
m y n a m e i s m a r k74
Phân loại nhân vật
Các phương thức trong nhóm này phân loại một chuỗi dựa trên các ký tự mà nó chứa
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
191Xác định xem chuỗi mục tiêu có bao gồm các ký tự chữ và số hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
191 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 không trống và tất cả các ký tự của nó là chữ và số [một chữ cái hoặc một số] và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu không>>>
m y n a m e i s m a r k75
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
196Xác định xem chuỗi mục tiêu có bao gồm các ký tự chữ cái hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
196 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 không trống và tất cả các ký tự của nó là chữ cái, và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu ngược lại>>>
m y n a m e i s m a r k76
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
701Xác định xem chuỗi mục tiêu có bao gồm các ký tự chữ số hay không
Bạn có thể sử dụng phương thức
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
702 Python để kiểm tra xem chuỗi của bạn có chỉ gồm các chữ số không.
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
701 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 không trống và tất cả các ký tự của nó là các chữ số và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu ngược lại>>>
m y n a m e i s m a r k77
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
707Xác định xem chuỗi đích có phải là mã định danh Python hợp lệ hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
707 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 là mã định danh Python hợp lệ theo định nghĩa ngôn ngữ và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu ngược lại>>>
m y n a m e i s m a r k78
Ghi chú.
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
712 sẽ trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 cho một chuỗi khớp với từ khóa Python mặc dù đó không thực sự là một mã định danh hợp lệ>>>
m y n a m e i s m a r k79
Bạn có thể kiểm tra xem một chuỗi có khớp với từ khóa Python hay không bằng cách sử dụng hàm có tên là
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
714, hàm này nằm trong mô-đun có tên là
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
715. Một cách có thể để làm điều này được hiển thị dưới đây>>>
m y n a m e i s m a r k90
Nếu bạn thực sự muốn đảm bảo rằng một chuỗi sẽ đóng vai trò là mã định danh Python hợp lệ, bạn nên kiểm tra xem
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
712 có phải là >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 không và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
714 có phải là >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 khôngXem Các gói và mô-đun Python—Giới thiệu để đọc thêm về các mô-đun Python
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
720Xác định xem các ký tự chữ cái của chuỗi mục tiêu có phải là chữ thường hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
720 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 không trống và tất cả các ký tự chữ cái chứa trong đó là chữ thường và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu ngược lại. Các ký tự không phải là bảng chữ cái được bỏ qua>>>
m y n a m e i s m a r k91
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
725Xác định xem chuỗi mục tiêu có bao gồm toàn bộ các ký tự có thể in được hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
725 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 trống hoặc tất cả các ký tự chữ cái chứa trong đó đều có thể in được. Nó trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 chứa ít nhất một ký tự không in được. Các ký tự không phải là bảng chữ cái được bỏ qua>>>
m y n a m e i s m a r k92
Ghi chú. Đây là phương thức duy nhất của
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
731 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 là một chuỗi rỗng. Tất cả những cái khác trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 cho một chuỗi rỗng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
735Xác định xem chuỗi mục tiêu có bao gồm các ký tự khoảng trắng hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
735 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 không trống và tất cả các ký tự đều là ký tự khoảng trắng và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu ngược lạiCác ký tự khoảng trắng thường gặp nhất là khoảng trắng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
740, tab
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
741 và dòng mới
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
742>>>
m y n a m e i s m a r k93
Tuy nhiên, có một số ký tự ASCII khác đủ điều kiện là khoảng trắng và nếu bạn tính đến các ký tự Unicode, thì có khá nhiều ký tự ngoài đó
>>>
m y n a m e i s m a r k94
[
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
743 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
744 là các chuỗi thoát cho các ký tự Trả về Vận chuyển và Nguồn cấp dữ liệu Biểu mẫu ASCII;
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
745 là chuỗi thoát cho Không gian Bốn-Em-Em Unicode. ]
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
746Xác định xem chuỗi mục tiêu có phải là tiêu đề không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
746 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 không trống, ký tự chữ cái đầu tiên của mỗi từ là chữ hoa và tất cả các ký tự chữ cái khác trong mỗi từ là chữ thường. Nó trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48 nếu không thì>>>
m y n a m e i s m a r k95
Ghi chú. Đây là cách tài liệu Python mô tả
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
751, trong trường hợp bạn thấy điều này trực quan hơn. “Các ký tự chữ hoa chỉ có thể theo sau các ký tự không có chữ cái và các ký tự chữ thường chỉ có các ký tự có chữ hoa. ”
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
752Xác định xem các ký tự chữ cái của chuỗi mục tiêu có phải là chữ hoa hay không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
752 trả về >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
47 nếu >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 không trống và tất cả các ký tự chữ cái chứa trong đó đều là chữ hoa, và ngược lại là >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48. Các ký tự không phải là bảng chữ cái được bỏ qua>>>
m y n a m e i s m a r k96
Định dạng chuỗi
Các phương thức trong nhóm này sửa đổi hoặc nâng cao định dạng của một chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
757Căn giữa một chuỗi trong một trường
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
758 trả về một chuỗi bao gồm >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 được căn giữa trong một trường có chiều rộng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760. Theo mặc định, phần đệm bao gồm ký tự khoảng trắng ASCII>>>
m y n a m e i s m a r k97
Nếu đối số tùy chọn
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
761 được chỉ định, nó sẽ được sử dụng làm ký tự đệm>>>
m y n a m e i s m a r k98
Nếu
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 đã tồn tại ít nhất bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760, nó sẽ được trả về không thay đổi>>>
m y n a m e i s m a r k99
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
764Mở rộng các tab trong một chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
765 thay thế từng ký tự tab [
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
741] bằng dấu cách. Theo mặc định, các khoảng trống được điền vào giả sử tab dừng ở mỗi cột thứ tám>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
60
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
767 là một tham số từ khóa tùy chọn chỉ định các cột dừng tab thay thế>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
61
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
768Căn trái một chuỗi trong trường
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
769 trả về một chuỗi bao gồm >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 được căn trái trong một trường có chiều rộng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760. Theo mặc định, phần đệm bao gồm ký tự khoảng trắng ASCII>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
62Nếu đối số tùy chọn
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
761 được chỉ định, nó sẽ được sử dụng làm ký tự đệm>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
63Nếu
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 đã tồn tại ít nhất bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760, nó sẽ được trả về không thay đổi>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
64
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
775Cắt các ký tự đầu từ một chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
776 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu bên trái>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
65Nếu đối số
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
778 tùy chọn được chỉ định, thì đó là một chuỗi chỉ định bộ ký tự sẽ bị xóa>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
66
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
779Thay thế các lần xuất hiện của một chuỗi con trong một chuỗi
Trong Python, để xóa một ký tự khỏi chuỗi, bạn có thể sử dụng phương thức Python string
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
780.
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
781 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 với tất cả các lần xuất hiện của chuỗi con
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
783 được thay thế bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
784>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
67Nếu đối số
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
785 tùy chọn được chỉ định, tối đa thay thế
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
785 được thực hiện, bắt đầu từ đầu bên trái của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
68
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
788Căn phải một chuỗi trong một trường
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
789 trả về một chuỗi bao gồm >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 được căn phải trong một trường có chiều rộng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760. Theo mặc định, phần đệm bao gồm ký tự khoảng trắng ASCII>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
69Nếu đối số tùy chọn
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
761 được chỉ định, nó sẽ được sử dụng làm ký tự đệm>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
80Nếu
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 đã tồn tại ít nhất bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760, nó sẽ được trả về không thay đổi>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
81
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
795Cắt các ký tự theo sau từ một chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
796 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu bên phải>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
82Nếu đối số
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
778 tùy chọn được chỉ định, thì đó là một chuỗi chỉ định bộ ký tự sẽ bị xóa>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
83
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
799Tách các ký tự từ đầu bên trái và bên phải của một chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
900 về cơ bản tương đương với việc gọi liên tiếp
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
776 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
796. Không có đối số
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
778, nó sẽ loại bỏ khoảng trắng ở đầu và cuối>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
84Như với
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
904 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
905, đối số tùy chọn
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
778 chỉ định bộ ký tự sẽ bị xóa>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85Ghi chú. Khi giá trị trả về của một phương thức chuỗi là một chuỗi khác, như thường lệ, các phương thức có thể được gọi liên tiếp bằng cách xâu chuỗi các lệnh gọi
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
86
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
907Đệm một chuỗi ở bên trái bằng số không
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
907 trả về một bản sao của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 được đệm bên trái với các ký tự
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
910 cho
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760 đã chỉ định>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
87Nếu
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 chứa một dấu hiệu ở đầu, thì nó vẫn ở cạnh trái của chuỗi kết quả sau khi các số 0 được chèn vào>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
88Nếu
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 đã tồn tại ít nhất bằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
760, nó sẽ được trả về không thay đổi>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
89
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
915 hữu ích nhất cho các biểu diễn chuỗi số, nhưng Python vẫn vui vẻ sẽ không đệm một chuỗi không phải là>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30Chuyển đổi giữa chuỗi và danh sách
Các phương thức trong nhóm này chuyển đổi giữa một chuỗi và một số kiểu dữ liệu tổng hợp bằng cách dán các đối tượng lại với nhau để tạo thành một chuỗi hoặc bằng cách chia một chuỗi thành nhiều phần
Các phương thức này hoạt động trên hoặc trả về các lần lặp, thuật ngữ Python chung cho một tập hợp các đối tượng tuần tự. Bạn sẽ khám phá hoạt động bên trong của iterables chi tiết hơn trong hướng dẫn sắp tới về phép lặp xác định
Nhiều phương thức trong số này trả về một danh sách hoặc một bộ. Đây là hai loại dữ liệu tổng hợp tương tự nhau, là ví dụ nguyên mẫu của các lần lặp trong Python. Chúng được đề cập trong hướng dẫn tiếp theo, vì vậy bạn sẽ sớm tìm hiểu về chúng. Cho đến lúc đó, chỉ cần nghĩ về chúng như các chuỗi giá trị. Một danh sách được đặt trong dấu ngoặc vuông [
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
72] và một bộ được đặt trong dấu ngoặc đơn [
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
917]Với phần giới thiệu đó, chúng ta hãy xem nhóm phương thức chuỗi cuối cùng này
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
918Nối các chuỗi từ một iterable
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
918 trả về chuỗi kết quả từ việc nối các đối tượng trong
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
920 được phân tách bằng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37Lưu ý rằng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
922 được gọi trên >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37, chuỗi dấu phân cách.
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
920 cũng phải là một chuỗi các đối tượng chuỗiMột số mã mẫu sẽ giúp làm rõ. Trong ví dụ sau, dấu tách
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 là chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
926 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
920 là danh sách các giá trị chuỗi>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31Kết quả là một chuỗi duy nhất bao gồm các đối tượng danh sách được phân tách bằng dấu phẩy
Trong ví dụ tiếp theo,
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
920 được chỉ định là một giá trị chuỗi đơn. Khi một giá trị chuỗi được sử dụng dưới dạng có thể lặp lại, nó được hiểu là danh sách các ký tự riêng lẻ của chuỗi>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32Như vậy, kết quả của
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
929 là một chuỗi bao gồm mỗi ký tự trong
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
930 được phân tách bởi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
931Ví dụ này không thành công vì một trong các đối tượng trong
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
920 không phải là một chuỗi>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
33Điều đó có thể được khắc phục, mặc dù
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
34Như bạn sẽ sớm thấy, nhiều đối tượng phức hợp trong Python có thể được hiểu là các đối tượng có thể lặp lại và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
922 đặc biệt hữu ích để tạo các chuỗi từ chúng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
934Chia một chuỗi dựa trên dấu phân cách
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
934 chia tách >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 ở lần xuất hiện đầu tiên của chuỗi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937. Giá trị trả về là một bộ ba phần bao gồm- Phần của
37 trước>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
937#string string = "my name is mark" #loop for i in string: #print each character print[i]
937 chính nó#string string = "my name is mark" #loop for i in string: #print each character print[i]
- Phần của
37 sau>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
937#string string = "my name is mark" #loop for i in string: #print each character print[i]
Dưới đây là một vài ví dụ về
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
943 đang hoạt động>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
35Nếu không tìm thấy
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937 trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37, bộ trả về chứa >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 theo sau là hai chuỗi trống>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
36Nhớ. Danh sách và bộ dữ liệu được trình bày trong hướng dẫn tiếp theo
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
947Chia một chuỗi dựa trên dấu phân cách
Chức năng của
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
947 giống hệt như
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
934, ngoại trừ việc >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 được phân chia ở lần xuất hiện cuối cùng của
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937 thay vì lần xuất hiện đầu tiên>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
952Tách một chuỗi thành một danh sách các chuỗi con
Không có đối số,
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
953 chia tách >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 thành các chuỗi con được phân tách bằng bất kỳ chuỗi khoảng trắng nào và trả về các chuỗi con dưới dạng danh sách>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38Nếu
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937 được chỉ định, nó được sử dụng làm dấu phân cách để tách>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
39[Nếu
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937 được chỉ định với giá trị là
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
957, thì chuỗi được phân tách được phân tách bằng khoảng trắng, giống như thể
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937 hoàn toàn không được chỉ định. ]Khi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937 được cung cấp rõ ràng dưới dạng dấu phân cách, các dấu phân cách liên tiếp trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 được giả định để phân tách các chuỗi trống, chuỗi này sẽ được trả về>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
00Tuy nhiên, đây không phải là trường hợp khi bỏ qua
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
937. Trong trường hợp đó, các ký tự khoảng trắng liên tiếp được kết hợp thành một dấu phân cách duy nhất và danh sách kết quả sẽ không bao giờ chứa các chuỗi trống>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
01Nếu tham số từ khóa tùy chọn
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
962 được chỉ định, thì tối đa nhiều phần tách đó được thực hiện, bắt đầu từ đầu bên phải của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
02Giá trị mặc định cho
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
962 là >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
76, có nghĩa là tất cả các phân tách có thể phải được thực hiện—giống như khi bỏ qua hoàn toàn
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
962>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
03
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
967Tách một chuỗi thành một danh sách các chuỗi con
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
968 hoạt động chính xác như
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
953, ngoại trừ nếu
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
962 được chỉ định, các phần tách được tính từ đầu bên trái của >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 thay vì đầu bên phải>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
04Nếu
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
962 không được chỉ định, thì không thể phân biệt được
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
973 và
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
974
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
975Phá vỡ một chuỗi tại ranh giới dòng
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
976 tách >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
37 thành các dòng và trả về chúng trong một danh sách. Bất kỳ ký tự hoặc chuỗi ký tự nào sau đây được coi là cấu thành ranh giới dòngTrình tự thoát Character
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
978Newline
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
979Carriage Return
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
980Carriage Return + Line Feed
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
981 or
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
982Line Tabulation
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
983 or
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
984Form Feed
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
985File Separator
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
986Group Separator
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
987Record Separator
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
988Next Line [C1 Control Code]_______2989Unicode Separator Paragraph0_______icodeDưới đây là một ví dụ sử dụng một số dấu tách dòng khác nhau
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
05Nếu các ký tự ranh giới dòng liên tiếp xuất hiện trong chuỗi, chúng được coi là phân định các dòng trống, sẽ xuất hiện trong danh sách kết quả
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
06Nếu đối số tùy chọn
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
991 được chỉ định và là trung thực, thì ranh giới của dòng được giữ lại trong chuỗi kết quả>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
07Loại bỏ các quảng cáo>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 là một trong những loại tích hợp cốt lõi để thao tác dữ liệu nhị phân. Một đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 là một chuỗi bất biến của các giá trị byte đơn. Mỗi phần tử trong một đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 là một số nguyên nhỏ trong khoảng từ >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
73 đến
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
997Định nghĩa một đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 theo nghĩa đen
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Một chữ
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 được định nghĩa giống như một chuỗi chữ có thêm tiền tố m y n a m e i s m a r k700
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
08Đối với chuỗi, bạn có thể sử dụng bất kỳ cơ chế trích dẫn đơn, kép hoặc ba nào
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
09Chỉ các ký tự ASCII được cho phép trong một chữ
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29. Bất kỳ giá trị ký tự nào lớn hơn m y n a m e i s m a r k702 phải được chỉ định bằng cách sử dụng chuỗi thoát thích hợp
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
10Tiền tố
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
88 có thể được sử dụng trên một ký tự >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 để vô hiệu hóa việc xử lý các chuỗi thoát, như với các chuỗi>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
11Xác định một đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 với chức năng m
y
n
a
m
e
i
s
m
a
r
k
706 tích hợp
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Hàm
m y n a m e i s m a r k706 cũng tạo đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29. Loại đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 nào được trả về tùy thuộc vào [các] đối số được truyền cho hàm. Các hình thức có thể được hiển thị dưới đâym y n a m e i s m a r k710
Tạo một đối tượng
29 từ một chuỗi>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
m y n a m e i s m a r k710 chuyển đổi chuỗi
m y n a m e i s m a r k713 thành đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29, sử dụng m y n a m e i s m a r k715 theo
m y n a m e i s m a r k716 đã chỉ định
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
12Lưu ý kỹ thuật. Ở dạng hàm
m y n a m e i s m a r k706 này, bắt buộc phải có đối số
m y n a m e i s m a r k716. “Mã hóa” đề cập đến cách mà các ký tự được dịch sang các giá trị số nguyên. Giá trị của
m y n a m e i s m a r k719 biểu thị Định dạng chuyển đổi Unicode UTF-8, đây là một mã hóa có thể xử lý mọi ký tự Unicode có thể. UTF-8 cũng có thể được chỉ định bằng cách chỉ định
m y n a m e i s m a r k720,
m y n a m e i s m a r k721 hoặc
m y n a m e i s m a r k722 cho
m y n a m e i s m a r k716
Xem tài liệu Unicode để biết thêm thông tin. Miễn là bạn đang xử lý các ký tự dựa trên tiếng Latinh phổ biến, UTF-8 sẽ phục vụ bạn tốt
m y n a m e i s m a r k724
Tạo một đối tượng
29 bao gồm null [>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
m y n a m e i s m a r k726] byte
m y n a m e i s m a r k724 định nghĩa một đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 của m y n a m e i s m a r k729 đã chỉ định, đối tượng này phải là một số nguyên dương. Đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 kết quả được khởi tạo thành null [m y n a m e i s m a r k726] byte
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
13m y n a m e i s m a r k732
Tạo một đối tượng
29 từ một iterable>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
m y n a m e i s m a r k732 định nghĩa một đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 từ chuỗi các số nguyên được tạo bởi
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
920.
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
920 phải là một iterable tạo ra một chuỗi các số nguyên >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
38 trong phạm vi m y n a m e i s m a r k739
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
14Loại bỏ các quảng cáoThao tác trên đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Giống như các chuỗi, các đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 hỗ trợ các thao tác trình tự phổ biếnToán tử
45 và>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
49>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
>>>
15>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Toán tử nối [
31] và nhân rộng [>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
32]>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
>>>
16>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Lập chỉ mục và cắt lát
>>>
17>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Chức năng tích hợp sẵn
>>>
18>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Nhiều phương thức được định nghĩa cho các đối tượng chuỗi cũng hợp lệ cho các đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
19Tuy nhiên, lưu ý rằng khi các toán tử và phương thức này được gọi trên đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29, toán hạng và đối số cũng phải là đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
20Mặc dù định nghĩa và biểu diễn đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 dựa trên văn bản ASCII, nhưng nó thực sự hoạt động giống như một chuỗi số nguyên nhỏ bất biến trong phạm vi từ >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
73 đến
#string
string = "my name is mark"
#loop
for i in string:
#print each character
print[i]
997, bao gồm cả. Đó là lý do tại sao một phần tử từ đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 được hiển thị dưới dạng số nguyên>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
21Tuy nhiên, một lát cắt được hiển thị dưới dạng đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29, ngay cả khi nó chỉ dài một byte>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
22Bạn có thể chuyển đổi một đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 thành một danh sách các số nguyên bằng hàm m y n a m e i s m a r k755 tích hợp
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23Số thập lục phân thường được sử dụng để chỉ định dữ liệu nhị phân vì hai chữ số thập lục phân tương ứng trực tiếp với một byte đơn. Lớp
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 hỗ trợ hai phương thức bổ sung hỗ trợ chuyển đổi sang và từ một chuỗi các chữ số thập lục phânm y n a m e i s m a r k757
Trả về một đối tượng
29 được tạo từ một chuỗi các giá trị thập lục phân>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
m y n a m e i s m a r k757 trả về đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 là kết quả của việc chuyển đổi từng cặp chữ số thập lục phân trong m y n a m e i s m a r k713 thành giá trị byte tương ứng. Các cặp chữ số thập lục phân trong
m y n a m e i s m a r k713 có thể tùy chọn được phân tách bằng khoảng trắng, khoảng trắng này bị bỏ qua
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
24Ghi chú. Phương thức này là một phương thức lớp, không phải là một phương thức đối tượng. Nó được liên kết với lớp
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29, không phải đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29. Bạn sẽ tìm hiểu sâu hơn về sự khác biệt giữa các lớp, các đối tượng và các phương thức tương ứng của chúng trong các hướng dẫn sắp tới về lập trình hướng đối tượng. Hiện tại, chỉ cần quan sát rằng phương thức này được gọi trên lớp >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29, không phải trên đối tượng m y n a m e i s m a r k766
m y n a m e i s m a r k767
Trả về một chuỗi giá trị thập lục phân từ một đối tượng
29>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
m y n a m e i s m a r k767 trả về kết quả chuyển đổi đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 m y n a m e i s m a r k766 thành một chuỗi các cặp chữ số thập lục phân. Nghĩa là, nó làm ngược lại với
m y n a m e i s m a r k772
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25Ghi chú. Trái ngược với
m y n a m e i s m a r k772,
m y n a m e i s m a r k774 là một phương thức đối tượng, không phải là một phương thức lớp. Do đó, nó được gọi trên một đối tượng của lớp
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29, không phải trên chính lớp đóLoại bỏ các quảng cáo>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30 đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Python hỗ trợ một loại chuỗi nhị phân khác gọi là
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30. Đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30 rất giống đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29, mặc dù có một số khác biệtKhông có cú pháp chuyên dụng nào được tích hợp trong Python để xác định một ký tự
30, như tiền tố>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
m y n a m e i s m a r k
700 có thể được sử dụng để xác định một đối tượng
29. Một đối tượng>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
30 luôn được tạo bằng hàm tích hợp sẵn>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
m y n a m e i s m a r k
784>>>
26>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
30 đối tượng có thể thay đổi. Bạn có thể sửa đổi nội dung của đối tượng>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
30 bằng cách sử dụng lập chỉ mục và cắt>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
>>>
27>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Đối tượng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30 cũng có thể được xây dựng trực tiếp từ đối tượng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
28Phần kết luận
Hướng dẫn này cung cấp cái nhìn sâu sắc về nhiều cơ chế khác nhau mà Python cung cấp để xử lý chuỗi, bao gồm toán tử chuỗi, hàm tích hợp, lập chỉ mục, cắt và phương thức tích hợp. Bạn cũng đã được giới thiệu về các loại
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29 và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30Những loại này là những loại đầu tiên mà bạn đã kiểm tra có tính chất tổng hợp—được chế tạo từ một tập hợp các bộ phận nhỏ hơn. Python cung cấp một số loại tích hợp tổng hợp. Trong hướng dẫn tiếp theo, bạn sẽ khám phá hai cách sử dụng thường xuyên nhất. danh sách và bộ dữ liệu
Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Chuỗi trăn và dữ liệu ký tự” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian
Lấy bài kiểm tra "
« Toán tử và biểu thức trong Python
Chuỗi trong Python
Danh sách và bộ dữ liệu trong Python »
Đánh dấu là đã hoàn thành
Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Dữ liệu chuỗi và ký tự trong Python
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về John Sturtz
John là một Pythonista cuồng nhiệt và là thành viên của nhóm hướng dẫn Real Python
» Thông tin thêm về JohnMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
Đan
Joanna
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi