Hướng dẫn what are characters in python? - các ký tự trong python là gì?

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc thêm sự hiểu biết của bạn: chuỗi và dữ liệu nhân vật trong Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Strings and Character Data in Python

Show

Trong hướng dẫn về các loại dữ liệu cơ bản trong Python, bạn đã học được cách xác định các chuỗi: các đối tượng có chứa chuỗi dữ liệu ký tự. Xử lý dữ liệu ký tự là tích hợp để lập trình. Đây là một ứng dụng hiếm hoi mà không cần phải điều khiển các chuỗi ít nhất ở một mức độ nào đó.strings: objects that contain sequences of character data. Processing character data is integral to programming. It is a rare application that doesn’t need to manipulate strings at least to some extent.

Tại đây, những gì bạn sẽ học được trong hướng dẫn này: Python cung cấp một bộ vận hành, chức năng và phương pháp phong phú để làm việc với các chuỗi. Khi bạn kết thúc với 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, và cũng quen thuộc với các phương thức có sẵn để thao tác và sửa đổi dữ liệu chuỗi. Python provides a rich set of operators, functions, and methods for working with strings. When you are finished with this tutorial, you will know how to access and extract portions of strings, and also be familiar with the methods that are available to manipulate and modify string data.

Bạn cũng sẽ được giới thiệu cho 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.'
23 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
24.

Thao tác chuỗi

Các phần dưới đây làm nổi bật các toán tử, phương pháp và chức năng có sẵn để làm việc với các chuỗi.

Toán tử chuỗi

Bạn đã thấy các nhà khai thác

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 áp dụng cho các toán tử số trong hướng dẫn về các toán tử và biểu thức trong Python. Hai nhà khai thác này cũng có thể được áp dụng cho các chuỗi là tốt.

Toán tử
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25 nối các chuỗi. Nó trả về một chuỗi bao gồm các toán hạng được kết hợp với nhau, như được hiển thị ở đây:

>>>

>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'

>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'

>>> print('Go team' + '!!!')
Go team!!!

Toán tử
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tạo ra nhiều bản sao của chuỗi. Nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là một chuỗi và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một số nguyên, thì một trong các biểu thức sau sẽ trả về một chuỗi bao gồm
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 các bản sao được nối là
>>> 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.'
35
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
36
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
36

Dưới đây là các 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 tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tạo ra nhiều bản sao của chuỗi. Nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là một chuỗi và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một số nguyên, thì một trong các biểu thức sau sẽ trả về một chuỗi bao gồm
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 các bản sao được nối là
>>> 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.'
35
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
36

Dưới đây là các ví dụ về cả hai hình thức:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False

Toán tử >>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.' 26

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tạo ra nhiều bản sao của chuỗi. Nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là một chuỗi và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một số nguyên, thì một trong các biểu thức sau sẽ trả về một chuỗi bao gồm
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 các bản sao được nối là
>>> 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.'
35
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
36
Dưới đây là các ví dụ về cả hai hình thức:
Toán tử nhân
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 phải là một số nguyên. Bạn có thể nghĩ rằng nó sẽ được yêu cầu là một số nguyên dương, nhưng thật thú vị, nó có thể bằng không hoặc âm, trong trường hợp đó kết quả là một chuỗi trống:
Nếu bạn đã tạo một biến chuỗi và khởi tạo nó vào chuỗi trố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.'
38, bất kỳ ai cũng sẽ nghĩ đúng là bạn hơi khó chịu. Nhưng nó sẽ hoạt động.
Toán tử
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
39
Python cũng cung cấp một nhà điều hành 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.'
39 trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu toán hạng đầu tiên được chứa trong phần thứ hai và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 nếu không:
Ngoài ra còn có một toán tử
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
43, ngược lại:
Chức năng chuỗi tích hợp
Như bạn đã thấy trong hướng dẫn về các loại dữ liệu cơ bản trong Python, Python cung cấp nhiều chức năng được tích hợp cho trình thông dịch và luôn có sẵn. Dưới đây là một số ít hoạt động với các chuỗi:Hàm số

Sự mô tả

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
48

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
44

Chuyể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.'
45

>>>

>>> ord('a')
97
>>> ord('#')
35

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tạo ra nhiều bản sao của chuỗi. Nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là một chuỗi và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một số nguyên, thì một trong các biểu thức sau sẽ trả về một chuỗi bao gồm
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 các bản sao được nối là
>>> 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.'
35
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
36

>>>

>>> ord('€')
8364
>>> ord('∑')
8721

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
52

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tạo ra nhiều bản sao của chuỗi. Nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là một chuỗi và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một số nguyên, thì một trong các biểu thức sau sẽ trả về một chuỗi bao gồm
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 các bản sao được nối là
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31:

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
59

Toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26

Với

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
46, 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.'
59 Trả về số lượng ký tự trong
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31:

>>>

>>> s = 'I am a string.'
>>> len(s)
14

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
63

Trả về một biểu diễn chuỗi 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.'
63 Trả về biểu diễn chuỗi của đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
65:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'

Trả về một biểu diễn chuỗi 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.'
63 Trả về biểu diễn chuỗi của đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
65:

Lậ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 bộ dữ liệu được đặt hàng 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 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.'
66).

Hướng dẫn what are characters in python? - các ký tự trong python là gì?
Lập chỉ mục chuỗi trong Python dựa trên 0: ký tự đầu tiên trong chuỗi có chỉ mục
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
67, tiếp theo có chỉ mục
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
68, v.v. Chỉ số của ký tự cuối cùng sẽ là độ dài của chuỗi trừ đi.

Ví dụ: một sơ đồ của các chỉ số của chuỗi

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
69 sẽ trông như thế này:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
0

Chỉ số chuỗi

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
1

Các ký tự riêng lẻ có thể được truy cập bởi Index như sau:

Hướng dẫn what are characters in python? - các ký tự trong python là gì?
Cố gắng lập chỉ mục vượt quá cuối chuỗi kết quả trong một lỗi:

Các chỉ số chuỗi cũng có thể được chỉ định với các số âm, trong trường hợp chỉ số xảy ra từ cuối chuỗi ngược:

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
70 đề cập đến ký tự cuối cùng,
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
71 ký tự thứ hai đến cuối cùng, v.v. Dưới đây là cùng một sơ đồ hiển thị cả các chỉ số dương và âm vào chuỗi
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
69:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
2

Chỉ số chuỗi tích cực và tiêu cực

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
3

Dưới đây là một số ví dụ về lập chỉ mục tiêu cực:

Cố gắng lập chỉ mục với các số âm ngoài đầu chuỗi dẫn đến một lỗi:

Đối với bất kỳ chuỗi không trống nào

>>> 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.'
74 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
75 đều trả về ký tự cuối cùng. Có bất kỳ chỉ số nào có ý nghĩa đối với một chuỗi trống.

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
4

Chuỗi cắt

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.'
31 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.'
77 trả về phần của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 bắt đầu với vị trí
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
79 và lên đến nhưng không bao gồm vị trí
>>> 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.'
5

Một lần nữa, chỉ số thứ hai chỉ đị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.'
81 (
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
82) 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.'
77 sẽ trả về một chuỗi con có chiều dài
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
84 ký tự, trong trường hợp này là
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85.

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
6

Nếu bạn bỏ qua chỉ mục đầu tiên, lát cắt bắt đầu ở đầu chuỗi. Do đó,

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
86 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
87 tương đương:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
7

Tươ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.'
88, lát cắt kéo dài từ chỉ mục thứ nhất cho đến cuối chuỗi. Đây là một sự thay thế tốt đẹp, ngắn gọn cho
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
89 cồng kềnh hơn:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
8

Đối với bất kỳ chuỗi

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 và bất kỳ số nguyên
>>> 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.'
92),
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
93 sẽ bằng
>>> 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.'
9

Bỏ qua cả hai chỉ số trả về toàn bộ chuỗi ban đầu. 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 ban đầu:

Hướng dẫn what are characters in python? - các ký tự trong python là gì?
Nếu chỉ mục đầu tiên trong một lát cắt lớn hơn hoặc bằng chỉ số thứ hai, Python sẽ trả về một chuỗi trống. Đây là một cách khác bị che giấu để 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:

Các chỉ số tiêu cực có thể được sử dụng với việc cắt là tốt.

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
70 đề cập đến ký tự cuối cùng,
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
71 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 phần phụ
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
97 từ chuỗi
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
69 bằng cả các chỉ số dương và tiêu cực:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
0

Chuỗi cắt với các chỉ số tích cực và tiêu cực

Đây là mã Python tương ứng:

Chỉ định sải bước trong một lát chuỗi

Hướng dẫn what are characters in python? - các ký tự trong python là gì?
Có thêm một biến thể của cú pháp cắt lát để thảo luận. Thêm một
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
99 bổ sung và chỉ số thứ ba chỉ định một sải chân (còn được gọi là một bước), cho biết có bao nhiêu ký tự để nhảy sau khi lấy mỗi ký tự trong lát cắt.

Ví dụ: đối với chuỗi

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
69, lát
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
01 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 được bỏ qua. Điều này được hiển thị trong sơ đồ sau:

Hướng dẫn what are characters in python? - các ký tự trong python là gì?
Một chỉ mục chuỗi khác với sải bước

Mã thay thế minh họa được hiển thị ở đây:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
1

Như với bất kỳ sự cắt lát nào, các chỉ số thứ nhất và thứ hai có thể được bỏ qua và mặc định là các ký tự đầu tiên và cuối cùng tương ứng:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
2

Như với bất kỳ sự cắt lát nào, các chỉ số thứ nhất và thứ hai có thể được bỏ qua và mặc định là các ký tự đầu tiên và cuối cùng tương ứng:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
3

Như với bất kỳ sự cắt lát nào, các chỉ số thứ nhất và thứ hai có thể được bỏ qua và mặc định là các ký tự đầu tiên và cuối cùng tương ứng:

Bạn cũng có thể chỉ định giá trị sải bước âm, trong trường hợp Python bước lùi qua chuỗi. Trong trường hợp đó, chỉ mục bắt đầu/đầu tiên phải lớn hơn chỉ số kết thúc/thứ hai:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
4

Như với bất kỳ sự cắt lát nào, các chỉ số thứ nhất và thứ hai có thể được bỏ qua và mặc định là các ký tự đầu tiên và cuối cùng tương ứng:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
5

Như với bất kỳ sự cắt lát nào, các chỉ số thứ nhất và thứ hai có thể được bỏ qua và mặc định là các ký tự đầu tiên và cuối cùng tương ứng:

Bạn cũng có thể chỉ định giá trị sải bước âm, trong trường hợp Python bước lùi qua chuỗi. Trong trường hợp đó, chỉ mục bắt đầu/đầu tiên phải lớn hơn chỉ số kết thúc/thứ hai:f-string.

Trong ví dụ trên,

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
05 có nghĩa là bắt đầu ở nhân vật cuối cùng và bước lùi bằng
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
04, cho đến nhưng không bao gồm nhân vật đầu tiên.

Khi bạn bước lùi, nếu các chỉ số thứ nhất và thứ hai bị bỏ qua, các mặc định sẽ được đảo ngược theo cách trực quan: chỉ số thứ nhất mặc định đến cuối chuỗi và chỉ số thứ hai mặc định đến đầu. Đây là một ví dụ:

Đây là một mô hình phổ biến để đảo ngược một chuỗi:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
6

Như với bất kỳ sự cắt lát nào, các chỉ số thứ nhất và thứ hai có thể được bỏ qua và mặc định là các ký tự đầu tiên và cuối cùng tương ứng:

  • Bạn cũng có thể chỉ định giá trị sải bước âm, trong trường hợp Python bước lùi qua chuỗi. Trong trường hợp đó, chỉ mục bắt đầu/đầu tiên phải lớn hơn chỉ số kết thúc/thứ hai:
  • Trong ví dụ trên,
    >>> s = 'foo'
    
    >>> s in 'That\'s food for thought.'
    True
    >>> s in 'That\'s good for now.'
    False
    
    05 có nghĩa là bắt đầu ở nhân vật cuối cùng và bước lùi bằng
    >>> s = 'foo'
    
    >>> s in 'That\'s food for thought.'
    True
    >>> s in 'That\'s good for now.'
    False
    
    04, cho đến nhưng không bao gồm nhân vật đầu tiên.

Khi bạn bước lùi, nếu các chỉ số thứ nhất và thứ hai bị bỏ qua, các mặc định sẽ được đảo ngược theo cách trực quan: chỉ số thứ nhất mặc định đến cuối chuỗi và chỉ số thứ hai mặc định đến đầu. Đây là một ví dụ:

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
7

Đây là một mô hình phổ biến để đảo ngược một chuỗi:

>>>

Nộ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 tên chính thức theo nghĩa đen của chuỗi được định dạng, nhưng thường được gọi bằng biệt danh F-String của nó.

Khả năng định dạng được cung cấp bởi F-Strings là rộng rãi và won được đề cập đầy đủ chi tiết ở đây. Nếu bạn muốn tìm hiểu thêm, bạn có thể xem bài viết Python thực sự Python 3, F F-Strings: Một cú pháp định dạng chuỗi được cải tiế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 đào sâu hơn vào các chuỗi F.

Một tính năng đơn giản của chuỗi F bạn có thể bắt đầu sử dụng ngay lập tức là phép nội suy biến. Bạn có thể chỉ định một tên biến trực tiếp trong một chữ F theo nghĩa đen và Python sẽ thay thế tên bằng giá trị tương ứng.

>>>

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
9

Ví dụ: giả sử bạn muốn hiển thị kết quả của một phép tính số học. Bạn có thể làm điều này với một câu lệnh

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
07 đơn giản, phân tách các giá trị số và chuỗi chữ theo dấu phẩy:

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
0

Nhưng điều này thật cồng kềnh. Để hoàn thành điều tương tự bằng cách sử dụng chuỗi F:

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
1

Chỉ định chữ thường

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
08 hoặc chữ hoa
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
09 trực tiếp trước khi trích dẫn mở của chuỗi theo nghĩa đen. Điều này cho Python nói rằng đó là một chuỗi F thay vì một chuỗi tiêu chuẩn.

Chỉ định bất kỳ biến nào được nội suy trong niềng răng xoăn (>>> s = 'foo' >>> s in 'That\'s food for thought.' True >>> s in 'That\'s good for now.' False 10).

Recast Sử dụng chuỗi F, ví dụ trên trông sạch hơn nhiều:

Bất kỳ trong số ba cơ chế trích dẫn của Python có thể được sử dụng để xác định chuỗi F:

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
8

Sửa đổi chuỗi

Tóm lại, bạn có thể. Chuỗi là một trong những loại dữ liệu Python xem xét bất biến, có nghĩa là không thể thay đổi. Trên thực tế, tất cả các loại dữ liệu bạn đã thấy cho đến nay là bất biến. (Python không cung cấp các loại dữ liệu có thể thay đổi, như bạn sẽ sớm thấy.)

Một câu như thế này sẽ gây ra lỗi:

Trong thực tế, thực sự không cần phải sửa đổi chuỗi. Bạn thường có thể dễ dàng thực hiện những gì bạn muốn bằng cách tạo một bản sao của chuỗi ban đầu có sự 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:

Ngoà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:

Đọc để biết thêm thông tin về các phương thức chuỗi tích hợp!

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
15

Phương thức chuỗi tích hợp

Bạn đã học được trong hướng dẫn về các biến trong Python rằng Python là một ngôn ngữ định 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.

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
2

Các ký tự không thay đổi không thay đổi:

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
3

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
18

Chuyển đổi ký tự chữ cái thành chữ thường.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
18 Trả về một bản sao
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với tất cả các ký tự chữ cái được chuyển đổi thành chữ thường:

>>>

Chuyển đổi ký tự chữ cái thành chữ thường.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
21

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
18 Trả về một bản sao
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với tất cả các ký tự chữ cái được chuyển đổi thành chữ thường:

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
4

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
5

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
24

Chuyển đổi ký tự chữ cái thành chữ thường.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
18 Trả về một bản sao
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với tất cả các ký tự chữ cái được chuyển đổi thành chữ thường:

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
6

Chuyển đổi ký tự chữ cái thành chữ thường.

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
7

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
27

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
18 Trả về một bản sao
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với tất cả các ký tự chữ cái được chuyển đổi thành chữ thường:

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
4

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
8

Hoán đổi trường hợp của các ký tự chữ cái.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
21 Trả về một bản sao của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với các ký tự chữ cái chữ hoa được chuyển đổi thành chữ thường và ngược lại:

Chuyển đổi chuỗi mục tiêu thành trường hợp tiêu đề.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
37

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
24 Trả về một bản sao của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 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:

Phươ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:

>>>

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
9

Chuyển đổi các ký tự chữ cái thành chữ hoa.

>>>

>>> ord('a')
97
>>> ord('#')
35
0

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
43

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
27 Trả về một bản sao
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với tất cả các ký tự chữ cái được chuyển đổi thành chữ hoa:

Tìm và thay thế

>>>

>>> ord('a')
97
>>> ord('#')
35
1

Các phương pháp này cung cấp nhiều phương tiện khác nhau để tìm kiếm chuỗi mục tiêu cho một chuỗi con được chỉ định.

>>>

>>> ord('a')
97
>>> ord('#')
35
2

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
51

Mỗi phương thức trong nhóm này hỗ trợ các đối số

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31 tùy chọn. Chúng được giải thích là để cắt chuỗi: hành động của phương pháp được giới hạn ở phần của chuỗi đích bắt đầu ở vị trí ký tự
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và tiến hành đến nhưng không bao gồm vị trí ký tự
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31. Nếu
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 được chỉ định nhưng
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31 thì không, phương thức áp dụng cho phần của chuỗi mục tiêu từ
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 cho đến cuối chuỗi.

Số lượng xảy ra của một chuỗi con trong chuỗi đích.

>>>

>>> ord('a')
97
>>> ord('#')
35
3

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
38 Trả về số lần xuất hiện không chồng chéo của chuỗi con
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
39 trong
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31:

>>>

>>> ord('a')
97
>>> ord('#')
35
4

Số lượng được giới hạn ở số lần xuất hiện trong chuỗi con được chỉ định bởi

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31, nếu chúng được chỉ định:

>>>

>>> ord('a')
97
>>> ord('#')
35
5

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
59

Mỗi phương thức trong nhóm này hỗ trợ các đối số

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31 tùy chọn. Chúng được giải thích là để cắt chuỗi: hành động của phương pháp được giới hạn ở phần của chuỗi đích bắt đầu ở vị trí ký tự
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và tiến hành đến nhưng không bao gồm vị trí ký tự
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31. Nếu
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 được chỉ định nhưng
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31 thì không, phương thức áp dụng cho phần của chuỗi mục tiêu từ
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 cho đến cuối chuỗi.

Số lượng xảy ra của một chuỗi con trong chuỗi đích.

>>>

>>> ord('a')
97
>>> ord('#')
35
6

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
63

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
38 Trả về số lần xuất hiện không chồng chéo của chuỗi con
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
39 trong
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31:

Số lượng được giới hạn ở số lần xuất hiện trong chuỗi con được chỉ định bởi

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31, nếu chúng được chỉ định:

>>>

>>> ord('a')
97
>>> ord('#')
35
7

Xác định xem chuỗi đích kết thúc bằng một chuỗi con nhất định.

>>>

>>> ord('a')
97
>>> ord('#')
35
8

Số lượng được giới hạn ở số lần xuất hiện trong chuỗi con được chỉ định bởi

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31, nếu chúng được chỉ định:

>>>

>>> ord('a')
97
>>> ord('#')
35
9

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
71

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
38 Trả về số lần xuất hiện không chồng chéo của chuỗi con
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
39 trong
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31:

Số lượng được giới hạn ở số lần xuất hiện trong chuỗi con được chỉ định bởi

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31, nếu chúng được chỉ định:

>>>

Xác định xem chuỗi đích kết thúc bằng một chuỗi con nhất định.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
75

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
44 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 kết thúc với
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
47 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 được chỉ định nếu không:

Việc so sánh được giới hạn trong phần phụ được chỉ định bởi

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31, nếu chúng được chỉ định:

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
1

Các phương pháp này cung cấp nhiều phương tiện khác nhau để tìm kiếm chuỗi mục tiêu cho một chuỗi con được chỉ định.

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
2

Mỗi phương thức trong nhóm này hỗ trợ các đối số
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31 tùy chọn. Chúng được giải thích là để cắt chuỗi: hành động của phương pháp được giới hạn ở phần của chuỗi đích bắt đầu ở vị trí ký tự
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và tiến hành đến nhưng không bao gồm vị trí ký tự
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31. Nếu
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 được chỉ định nhưng
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31 thì không, phương thức áp dụng cho phần của chuỗi mục tiêu từ
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 cho đến cuối chuỗi.

Số lượng xảy ra của một chuỗi con trong chuỗi đích.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
84

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
38 Trả về số lần xuất hiện không chồng chéo của chuỗi con
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
39 trong
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31:

Số lượng được giới hạn ở số lần xuất hiện trong chuỗi con được chỉ định bởi

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31, nếu chúng được chỉ định:

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
3

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
89

Xác định xem chuỗi đích kết thúc bằng một chuỗi con nhất định.

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
44 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 kết thúc với
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
47 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 được chỉ định nếu không:

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
4

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
94

Việc so sánh được giới hạn trong phần phụ được chỉ định bởi

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
30 và
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
31, nếu chúng được chỉ định:

Bạn có thể sử dụng phương thức

>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
95 Python để kiểm tra xem chuỗi của bạn chỉ được làm bằng các chữ số.
>>> s = 'foo'

>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
94 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 không trống và tất cả các ký tự của nó là các chữ số số và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 nếu không:

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
5

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
00

Xác định xem chuỗi đích là định danh Python hợp lệ.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
00 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là đị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.'
42 khác:

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
6

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
05

Xác định xem chuỗi đích là định danh Python hợp lệ.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
00 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là đị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.'
42 khác:

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
7

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
10

Xác định xem chuỗi đích là định danh Python hợp lệ.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
00 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là đị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.'
42 khác:

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
8

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
16

Xác định xem chuỗi đích là định danh Python hợp lệ.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
00 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là đị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.'
42 khác:

Xác định xem các ký tự chữ cái của chuỗi đích là chữ thường.

>>>

>>> ord('€')
8364
>>> ord('∑')
8721
9

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
05 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 không trống và tất cả các ký tự chữ cái mà nó chứa là chữ thường và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 khác. Các ký tự không alphabetic bị bỏ qua:

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
0

Xác định xem chuỗi đích có bao gồm hoàn toàn các ký tự có thể in hay không.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
27

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
10 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 trống hoặc tất cả các ký tự chữ cái mà nó chứa có thể in. Nó trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 chứa ít nhất một ký tự không thể in. Các ký tự không alphabetic bị bỏ qua:

Xác định xem chuỗi đích có bao gồm các ký tự khoảng trắng hay không.

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
1

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
32

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
16 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là không trống và tất cả các ký tự là ký tự khoảng trắng và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 khác.

Các ký tự khoảng trắng thường gặp nhất là Space

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
21, Tab
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
22 và Newline
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
23:

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
2

Tuy nhiên, có một vài ký tự ASCII khác đủ điều kiện là khoảng trắng và nếu bạn chiếm các ký tự Unicode, còn có khá nhiều điều ngoài điều đó:

.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
37

Xác định xem chuỗi đích là CASED TIÊU CHUẨN.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
27 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 Nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là 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.'
42 nếu không:

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
3

Xác định xem các ký tự chữ cái của chuỗi đích có phải là chữ hoa hay không.

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
4

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
32 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 không trống và tất cả các ký tự chữ cái mà nó chứa là chữ hoa và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 khác. Các ký tự không alphabetic bị bỏ qua:

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
5

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
44

Định dạng chuỗi

Các phương thức trong nhóm này sửa đổi hoặc tăng cường định dạng của một chuỗi.

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
6

Tập trung một chuỗi trong một trường.

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
7

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
48

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
38 Trả về một chuỗi bao gồm
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 tập trung vào một trường có chiều rộng
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
40. Theo mặc định, phần đệm bao gồm ký tự không gian ASCII:

Nếu đối số

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
41 tùy chọn được chỉ định, nó được sử dụng làm ký tự đệm:

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
8

Xác định xem các ký tự chữ cái của chuỗi đích có phải là chữ hoa hay không.

>>>

>>> chr(97)
'a'
>>> chr(35)
'#'
9

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
32 Trả về
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 nếu
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 không trống và tất cả các ký tự chữ cái mà nó chứa là chữ hoa và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
42 khác. Các ký tự không alphabetic bị bỏ qua:

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
0

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
55

Định dạng chuỗi

Các phương thức trong nhóm này sửa đổi hoặc tăng cường định dạng của một chuỗi.

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
1

Tập trung một chuỗi trong một trường.

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
2

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
59

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
38 Trả về một chuỗi bao gồm
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 tập trung vào một trường có chiều rộng
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
40. Theo mặc định, phần đệm bao gồm ký tự không gian ASCII:

Nếu đối số

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
41 tùy chọn được chỉ định, nó được sử dụng làm ký tự đệm:

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
3

Nếu

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 đã ít nhất là
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
40, thì nó sẽ được trả lại không thay đổi:

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
4

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
68

Mở rộng các tab trong một chuỗi.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
45 Thay thế từng ký tự tab (
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
22) bằng khoảng trắng. Theo mặc định, các không gian được điền vào giả sử dừng tab ở mỗi cột thứ tám:

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
5

Xác định xem các ký tự chữ cái của chuỗi đích có phải là chữ hoa hay không.

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
6

Nếu

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 đã ít nhất là
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
40, thì nó sẽ được trả lại không thay đổi:

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
7

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
75

Trims Trailing ký tự từ một chuỗi.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
76 Trả về một bản sao của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu bên phải:

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
8

Nếu đối số

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
58 tùy chọn được chỉ định, thì đó là một chuỗi chỉ định tập hợp các ký tự sẽ bị xóa:

>>>

>>> chr(8364)
'€'
>>> chr(8721)
'∑'
9

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
79

Dải các ký tự từ đầu trái và bên phải của một chuỗi.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
80 về cơ bản tương đương với việc gọi
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
56 và
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
76 liên tiếp. Không có lập luận
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
58, nó sẽ loại bỏ khoảng trắng dẫn đầu và dấu vết:

>>>

>>> s = 'I am a string.'
>>> len(s)
14
0

Như với

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
84 và
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
85, đối số
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
58 tùy chọn Chỉ định tập hợp các ký tự sẽ bị xóa:

>>>

>>> s = 'I am a string.'
>>> len(s)
14
1

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
87

Miếng đệm một chuỗi ở bên trái với số không.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
87 Trả về một bản sao của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 được gắn bên trái với
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
90 ký tự cho
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
40 được chỉ định:

>>>

>>> s = 'I am a string.'
>>> len(s)
14
2

Nếu

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 chứa một dấu hiệu hàng đầu, nó vẫn ở cạnh trái của chuỗi kết quả sau khi số 0 được chèn:

>>>

>>> s = 'I am a string.'
>>> len(s)
14
3

Nếu

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 đã ít nhất là
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
40, thì nó sẽ được trả lại không thay đổi:

>>>

Trims Trailing ký tự từ một chuỗi.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
76 Trả về một bản sao của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu bên phải:

>>>

>>> s = 'I am a string.'
>>> len(s)
14
5

Nếu đối số
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
58 tùy chọn được chỉ định, thì đó là một chuỗi chỉ định tập hợp các ký tự sẽ bị xóa:

Dải các ký tự từ đầu trái và bên phải của một chuỗi.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
80 về cơ bản tương đương với việc gọi
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
56 và
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
76 liên tiếp. Không có lập luận
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
58, nó sẽ loại bỏ khoảng trắng dẫn đầu và dấu vết:iterables, the general Python term for a sequential collection of objects. You will explore the inner workings of iterables in much more detail in the upcoming tutorial on definite iteration.

Như với

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
84 và
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
85, đối số
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
58 tùy chọn Chỉ định tập hợp các ký tự sẽ bị xóa:

Miếng đệm một chuỗi ở bên trái với số không.

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
98

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
87 Trả về một bản sao của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 được gắn bên trái với
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
90 ký tự cho
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
40 được chỉ định:

Nếu

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 chứa một dấu hiệu hàng đầu, nó vẫn ở cạnh trái của chuỗi kết quả sau khi số 0 được chèn:

>>> s = 'I am a string.'
>>> len(s)
14
4

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
95 hữu ích nhất cho các biểu diễn chuỗi của các số, nhưng Python vẫn sẽ vui vẻ không có một chuỗi mà không phải là một chuỗi:

>>>

>>> s = 'I am a string.'
>>> len(s)
14
6

Chuyển đổi giữa các 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ố loại 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 một chuỗi hoặc bằng cách chia một chuỗi thành từng mảnh.

>>>

>>> s = 'I am a string.'
>>> len(s)
14
7

Các phương thức này hoạt động trên hoặc trả về Iterables, thuật ngữ Python chung cho một bộ sưu tập các đối tượng tuần tự. Bạn sẽ khám phá các hoạt động bên trong của Iterables một cách chi tiết hơn nhiều trong hướng dẫn sắp tới về lặp lại xác định.

Nhiều phương pháp trong số này trả về một danh sách hoặc một tuple. Đây là hai loại dữ liệu tổng hợp tương tự là các ví dụ nguyên mẫu của các vòng 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ư là chuỗi của các giá trị. Một danh sách được đặt trong ngoặc vuông (

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
66) và một tuple được đặt trong ngoặc đơn (
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
97).

>>>

>>> s = 'I am a string.'
>>> len(s)
14
8

Với phần giới thiệu đó, hãy để Lôi xem xét nhóm các phương thức chuỗi cuối cùng này.

>>>

>>> s = 'I am a string.'
>>> len(s)
14
9

Concatenates chuỗi từ một điều đó.

>>> ord('a')
97
>>> ord('#')
35
14

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
98 Trả về chuỗi kết quả từ việc ghép các đối tượng trong
>>> ord('a')
97
>>> ord('#')
35
00 được phân tách bằng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31.

Lưu ý rằng

>>> ord('a')
97
>>> ord('#')
35
02 được gọi trên
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31, chuỗi phân tách.
>>> ord('a')
97
>>> ord('#')
35
00 cũng phải là một chuỗi các đối tượng chuỗi.

  • Một số mã mẫu sẽ giúp làm rõ. Trong ví dụ sau, dấu phân cách
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    31 là chuỗi
    >>> ord('a')
    97
    >>> ord('#')
    35
    
    06 và
    >>> ord('a')
    97
    >>> ord('#')
    35
    
    00 là danh sách các giá trị chuỗi:
  • Kế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,
    >>> ord('a')
    97
    >>> ord('#')
    35
    
    00 được chỉ định là một giá trị chuỗi đơn. Khi một giá trị chuỗi được sử dụng như là một điều không thể điều chỉnh được, nó được hiểu là một danh sách các ký tự riêng lẻ chuỗi:

Do đó, kết quả của

>>> ord('a')
97
>>> ord('#')
35
09 là một chuỗi bao gồm mỗi ký tự trong
>>> ord('a')
97
>>> ord('#')
35
10 được phân tách bằng
>>> ord('a')
97
>>> ord('#')
35
11.

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
0

Ví dụ này không thành công vì một trong các đối tượng trong

>>> ord('a')
97
>>> ord('#')
35
00 không phải là một chuỗi:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
1

>>> ord('a')
97
>>> ord('#')
35
27

>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
98 Trả về chuỗi kết quả từ việc ghép các đối tượng trong
>>> ord('a')
97
>>> ord('#')
35
00 được phân tách bằng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31.

Lưu ý rằng

>>> ord('a')
97
>>> ord('#')
35
02 được gọi trên
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31, chuỗi phân tách.
>>> ord('a')
97
>>> ord('#')
35
00 cũng phải là một chuỗi các đối tượng chuỗi.

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
2

>>> ord('a')
97
>>> ord('#')
35
32

Một số mã mẫu sẽ giúp làm rõ. Trong ví dụ sau, dấu phân cách

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 là chuỗi
>>> ord('a')
97
>>> ord('#')
35
06 và
>>> ord('a')
97
>>> ord('#')
35
00 là danh sách các giá trị chuỗi:

Kế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.

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
3

Trong ví dụ tiếp theo,

>>> ord('a')
97
>>> ord('#')
35
00 được chỉ định là một giá trị chuỗi đơn. Khi một giá trị chuỗi được sử dụng như là một điều không thể điều chỉnh được, nó được hiểu là một danh sách các ký tự riêng lẻ chuỗi:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
4

Do đó, kết quả của

>>> ord('a')
97
>>> ord('#')
35
09 là một chuỗi bao gồm mỗi ký tự trong
>>> ord('a')
97
>>> ord('#')
35
10 được phân tách bằng
>>> ord('a')
97
>>> ord('#')
35
11.

Khi

>>> ord('a')
97
>>> ord('#')
35
17 được đưa ra một cách rõ ràng dưới dạng phân định, các phân định liên tiếp trong
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 được coi là phân định các chuỗi trống, sẽ được trả về:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
5

Đây không phải là trường hợp khi

>>> ord('a')
97
>>> ord('#')
35
17 bị bỏ qua, tuy nhiên. 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:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
6

Đây không phải là trường hợp khi

>>> ord('a')
97
>>> ord('#')
35
17 bị bỏ qua, tuy nhiên. 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:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
7

Đây không phải là trường hợp khi

>>> ord('a')
97
>>> ord('#')
35
17 bị bỏ qua, tuy nhiên. 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:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
8

>>> ord('a')
97
>>> ord('#')
35
47

Đây không phải là trường hợp khi

>>> ord('a')
97
>>> ord('#')
35
17 bị bỏ qua, tuy nhiên. 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:

Nếu tham số từ khóa tùy chọn

>>> ord('a')
97
>>> ord('#')
35
42 được chỉ định, tối đa của nhiều lần chia 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.'
31:

>>>

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('foo')
'foo'
9

Đây không phải là trường hợp khi

>>> ord('a')
97
>>> ord('#')
35
17 bị bỏ qua, tuy nhiên. 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:

>>> ord('a')
97
>>> ord('#')
35
55

Nếu tham số từ khóa tùy chọn

>>> ord('a')
97
>>> ord('#')
35
42 được chỉ định, tối đa của nhiều lần chia 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.'
31:

Giá trị mặc định cho

>>> ord('a')
97
>>> ord('#')
35
42 là
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
70, điều đó có nghĩa là tất cả các chia tách có thể được thực hiện, giống như nếu
>>> ord('a')
97
>>> ord('#')
35
42 bị bỏ qua hoàn toàn:

Chia một chuỗi vào một danh sách các chuỗi con.
>>> ord('a')
97
>>> ord('#')
35
48 hoạt động chính xác giống như
>>> ord('a')
97
>>> ord('#')
35
33, ngoại trừ nếu
>>> ord('a')
97
>>> ord('#')
35
42 được chỉ định, phân tách được tính từ đầu trái của
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 thay vì đầu bên phải:
Nếu
>>> ord('a')
97
>>> ord('#')
35
42 không được chỉ định,
>>> ord('a')
97
>>> ord('#')
35
53 và
>>> ord('a')
97
>>> ord('#')
35
54 không thể phân biệt được.
Phá vỡ một chuỗi ở ranh giới dòng.
>>> ord('a')
97
>>> ord('#')
35
56 tách
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
31 lên thành các dòng và trả lại chúng trong một danh sách. Bất kỳ nhân vật hoặc chuỗi ký tự nào sau đây đều được coi là tạo thành ranh giới dòng:
Trình tự thoát
Tính cách
>>> ord('a')
97
>>> ord('#')
35
58
Dòng mới
>>> ord('a')
97
>>> ord('#')
35
59
Vận chuyển trở lại
>>> ord('a')
97
>>> ord('#')
35
60
Vận chuyển trở lại + nguồn cấp dữ liệu dòng
>>> ord('a')
97
>>> ord('#')
35
61 hoặc
>>> ord('a')
97
>>> ord('#')
35
62
Tabline
>>> ord('a')
97
>>> ord('#')
35
63 hoặc
>>> ord('a')
97
>>> ord('#')
35
64
Thức ăn dạng
>>> ord('a')
97
>>> ord('#')
35
65
Bộ phân cách tập tin
>>> ord('a')
97
>>> ord('#')
35
66
Phân tách nhóm
>>> ord('a')
97
>>> ord('#')
35
67
Ghi điểm phân tách
>>> ord('a')
97
>>> ord('#')
35
68

Dòng tiếp theo (Mã điều khiển C1)

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
00

>>> ord('a')
97
>>> ord('#')
35
69

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
01

Dòng phân tách dòng Unicode

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
02

>>> ord('a') 97 >>> ord('#') 35 70

Phân tách đoạn Unicode

Dưới đây là một ví dụ sử dụng một số dấu phân cách dòng khác nhau:

Nếu các ký tự ranh giới dòng liên tiếp có mặt trong chuỗi, chúng được giả định 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.'
03

Nếu đối số

>>> ord('a')
97
>>> ord('#')
35
71 tùy chọn được chỉ định và là sự thật, thì các ranh giới các dòng được giữ lại trong các chuỗi kết quả:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
04

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 Đối tượng

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
05

Đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 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. Đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 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.'
23 là một số nguyên nhỏ trong phạm vi
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
67 đến
>>> ord('a')
97
>>> ord('#')
35
77.

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
06

Xác định một đối tượng >>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.' 23 theo nghĩa đen

Một chữ

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 được định nghĩa theo cùng một cách như một chuỗi theo nghĩa đen với việc thêm tiền tố
>>> ord('a')
97
>>> ord('#')
35
80:

>>> ord('a')
97
>>> ord('#')
35
90

Cũng như các chuỗi, bạn có thể sử dụng bất kỳ cơ chế trích dẫn đơn, đôi hoặc ba:

Chỉ các ký tự ASCII được phép theo nghĩa đen

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23. Bất kỳ giá trị ký tự nào lớn hơn
>>> ord('a')
97
>>> ord('#')
35
82 phải được chỉ định bằng cách sử dụng trình tự thoát thích hợp:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
07

>>> ord('a')
97
>>> ord('#')
35
97

Tiền tố

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
81 có thể được sử dụng trên
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 theo nghĩa đen để vô hiệu hóa xử lý các chuỗi thoát, như với các chuỗi:

Xác định đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 với hàm
>>> ord('a')
97
>>> ord('#')
35
86 tích hợp

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
08

>>> ord('€')
8364
>>> ord('∑')
8721
05

Hàm

>>> ord('a')
97
>>> ord('#')
35
86 cũng tạo ra một đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23. Loại đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 nào được trả về phụ 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 đây.

Tạo một đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 từ một chuỗi.

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
09

>>> ord('a') 97 >>> ord('#') 35 90 Chuyển đổi chuỗi >>> ord('a') 97 >>> ord('#') 35 93 thành đối tượng >>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.' 23, sử dụng >>> ord('a') 97 >>> ord('#') 35 95 theo quy định >>> ord('a') 97 >>> ord('#') 35 96:

Tạo một đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 bao gồm null (
>>> ord('a')
97
>>> ord('#')
35
99) byte.

  • >>> ord('a')
    97
    >>> ord('#')
    35
    
    97 Xác định một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    23 của
    >>> ord('€')
    8364
    >>> ord('∑')
    8721
    
    02 được chỉ định, 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.'
    
    23 kết quả được khởi tạo thành null (
    >>> ord('a')
    97
    >>> ord('#')
    35
    
    99) byte:

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    10

  • Tạo một đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    23 từ một điều không thể.

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    11

  • >>> ord('€')
    8364
    >>> ord('∑')
    8721
    
    05 xác định một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    23 từ chuỗi số nguyên được tạo bởi
    >>> ord('a')
    97
    >>> ord('#')
    35
    
    00.
    >>> ord('a')
    97
    >>> ord('#')
    35
    
    00 phải là một điều có thể tạo ra một chuỗi số nguyên
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    32 trong phạm vi
    >>> ord('€')
    8364
    >>> ord('∑')
    8721
    
    12:

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    12

  • Hoạt động trên các đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    23

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    13

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.'
23 hỗ trợ các hoạt động trình tự chung:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
14

Các toán tử

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
39 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
43:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
15

Các toán tử nối (

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25) và sao chép (
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26):

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
16

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.'
23, ngay cả khi nó chỉ dài một byte:

Bạn có thể chuyển đổi đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 thành danh sách các số nguyên với hàm
>>> ord('€')
8364
>>> ord('∑')
8721
28 tích hợp:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
17

Các số 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 duy nhất. Lớp

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 hỗ trợ hai phương pháp bổ sung tạo điều kiện chuyển đổi đến và từ một chuỗi các chữ số thập lục phân.

>>> ord('€')
8364
>>> ord('∑')
8721
30

Trả về một đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 được xây dựng từ một chuỗi các giá trị thập lục phân.

>>> ord('€')
8364
>>> ord('∑')
8721
30 Trả về đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 xuất phát từ việc chuyển đổi từng cặp chữ số thập lục phân trong
>>> ord('a')
97
>>> ord('#')
35
93 sang giá trị byte tương ứng. Các cặp chữ số thập lục phân trong
>>> ord('a')
97
>>> ord('#')
35
93 có thể tùy chọn được phân tách bằng khoảng trắng, bị bỏ qua:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
18

>>> ord('€')
8364
>>> ord('∑')
8721
36

Trả về một chuỗi giá trị thập lục phân từ đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23.

>>> ord('€')
8364
>>> ord('∑')
8721
36 Trả về kết quả của việc chuyển đổi đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23
>>> ord('€')
8364
>>> ord('∑')
8721
40 thành một chuỗi các cặp chữ số thập lục phân. Đó là, nó làm ngược lại
>>> ord('€')
8364
>>> ord('∑')
8721
41:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
19

>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.' 24 Đối tượng

Python hỗ trợ một loại chuỗi nhị phân khác được gọi là

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
24. Các đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
24 rất giống đối tượng
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23, mặc dù có một số khác biệt:

  • Không có cú pháp chuyên dụng được tích hợp vào Python để xác định nghĩa đen

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    24, như tiền tố
    >>> ord('a')
    97
    >>> ord('#')
    35
    
    80 có thể được sử dụng để xác định đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    23. Đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    24 luôn được tạo bằng chức năng tích hợp
    >>> ord('€')
    8364
    >>> ord('∑')
    8721
    
    50:

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    20

  • Các đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    24 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.'
    
    24 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.'
    
    21

Đối tượng

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
24 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.'
23:

>>>

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
22

Sự kết luận

Hướng dẫn này cung cấp một cái nhìn sâu sắc về nhiều cơ chế khác nhau mà Python cung cấp cho việc xử lý chuỗi, bao gồm các toán tử chuỗi, các chức năng tích hợp, lập chỉ mục, cắt và các phương pháp tích hợp. Bạn cũng được giới thiệu các loại

>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 và
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
24.string handling, including string operators, built-in functions, indexing, slicing, and built-in methods. You also were introduced to the
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 and
>>> s = 'foo.'

>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
24 types.

Những loại này là những loại đầu tiên bạn đã kiểm tra là tổng hợp được xây dựng từ một bộ sưu tập các 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 trong số các loại được sử dụng thường xuyên nhất: danh sách và bộ dữ liệu.lists and tuples.

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc thêm sự hiểu biết của bạn: chuỗi và dữ liệu nhân vật trong Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Strings and Character Data in Python

Kiểu dữ liệu ký tự trong Python là gì?

Trong Python không có kiểu dữ liệu ký tự, một ký tự là một chuỗi độ dài. Nó được đại diện bởi lớp str.there is no character data type, a character is a string of length one. It is represented by str class.

Việc sử dụng nhân vật trong Python là gì?

Hàm python chr () được sử dụng để có được một chuỗi đại diện cho một ký tự trỏ đến một số nguyên mã unicode.Ví dụ: chr (97) trả về chuỗi 'A'.Hàm này có một đối số số nguyên và ném lỗi nếu nó vượt quá từ phạm vi được chỉ định.Phạm vi tiêu chuẩn của đối số là từ 0 đến 1.114.111.to get a string representing of a character which points to a Unicode code integer. For example, chr(97) returns the string 'a'. This function takes an integer argument and throws an error if it exceeds from the specified range. The standard range of the argument is from 0 to 1,114,111.

Nhân vật và chuỗi là gì?

Kiểu dữ liệu ký tự, viết tắt là char, lưu trữ các chữ cái và ký hiệu ở định dạng Unicode, một hệ thống mã hóa được phát triển để hỗ trợ nhiều ngôn ngữ thế giới.Các ký tự được phân biệt với các biểu tượng khác bằng cách đặt chúng giữa các trích dẫn đơn ('P').Một chuỗi là một chuỗi các ký tự.A string is a sequence of characters.

%S có nghĩa là gì trong python?

Biểu tượng % được sử dụng trong Python với nhiều loại dữ liệu và cấu hình.%s đặc biệt được sử dụng để thực hiện kết nối các chuỗi với nhau.Nó cho phép chúng ta định dạng một giá trị bên trong một chuỗi.Nó được sử dụng để kết hợp một chuỗi khác trong một chuỗi.used to perform concatenation of strings together. It allows us to format a value inside a string. It is used to incorporate another string within a string.