Hướng dẫn how do you define a string in python? - làm thế nào để bạn xác định một chuỗi trong python?

Nội dung trước tiếp theo

sửa đổi lần cuối ngày 15 tháng 12 năm 2021

Trong phần này của hướng dẫn lập trình Python, chúng tôi làm việc với dữ liệu chuỗi chi tiết hơn.

Định nghĩa chuỗi Python

Một chuỗi trong Python là một chuỗi các ký tự. Nó là một loại dữ liệu dẫn xuất. Chuỗi là bất biến. Điều này có nghĩa là một khi được xác định, chúng không thể thay đổi. Nhiều phương pháp Python, chẳng hạn như

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
02,
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
03 hoặc
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
04 Sửa đổi chuỗi. Tuy nhiên, họ không sửa đổi chuỗi ban đầu. Họ tạo một bản sao của một chuỗi mà họ sửa đổi và trả lại cho người gọi.

Chuỗi Python nghĩa đen

Chuỗi Python có thể được tạo bằng các trích dẫn đơn, trích dẫn kép hoặc trích dẫn ba. Khi chúng ta sử dụng trích dẫn ba, các chuỗi có thể trải dài một số dòng mà không cần sử dụng ký tự thoát.

string_literals.py

#!/usr/bin/env python

# string_literals.py

a = "proximity alert"
b = 'evacuation'
c = """
requiem 
for
a 
tower
"""

print[a]
print[b]
print[c]

Trong ví dụ của chúng tôi, chúng tôi chỉ định ba chữ theo chuỗi cho các biến

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
05,
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
06 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
07. Và chúng tôi in chúng vào bảng điều khiển.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower

Unicode trong Python

Nếu chúng tôi muốn tạo các chuỗi Unicode, chúng tôi sẽ thêm một ký tự

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
08 hoặc
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
09 ở đầu văn bản.

unicode.py

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]

Trong ví dụ của chúng tôi, chúng tôi in Leo Tolstoy: Anna Karenina ở Azbuka.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина

Chúng ta có thể sử dụng các chữ cái Nga trực tiếp nếu chúng ta sử dụng nhận xét mã hóa.

unicode2.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]

Trong ví dụ này, chúng tôi sử dụng các ký tự không latin trực tiếp trong mã nguồn. Chúng tôi đã xác định mã hóa UTF-8 với nhận xét mã hóa.

Sử dụng báo giá trong Python

Các chuỗi trong Python được phân định bởi các ký tự trích dẫn đơn hoặc kép. Điều gì sẽ xảy ra nếu chúng ta muốn hiển thị báo giá, ví dụ trong một bài phát biểu trực tiếp? Có hai cách cơ bản để làm điều này.

quotes.py

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']

Chúng tôi sử dụng ký tự

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
10 để thoát khỏi trích dẫn bổ sung. Thông thường, ký tự trích dẫn kép được sử dụng để phân định một chuỗi theo nghĩa đen. Tuy nhiên, khi trốn thoát, ý nghĩa ban đầu bị đàn áp. Nó xuất hiện như một ký tự bình thường và có thể được sử dụng trong một chuỗi theo nghĩa đen. Cách thứ hai để sử dụng báo giá trong báo giá là trộn các trích dẫn đơn và đôi.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"

Chiều dài chuỗi Python

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
11 tính toán số lượng ký tự trong một chuỗi. Các nhân vật màu trắng cũng được tính.

string_length.py

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]

Chúng tôi tính độ dài của ba chuỗi.

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

Ba chuỗi được xác định. Chuỗi thứ hai có một ký tự dòng mới ở cuối của nó. Thứ ba có hai ký tự không gian bổ sung.

print[len[s1]]

Chúng tôi in số lượng ký tự vào bảng điều khiển.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
0

Từ đầu ra, chúng ta có thể thấy rằng các không gian trắng [ký tự dòng mới và ký tự không gian trong trường hợp của chúng ta] cũng được tính.

Chuỗi python tước các ký tự màu trắng

Trong xử lý chuỗi, chúng ta có thể thường kết thúc bằng một chuỗi có các ký tự màu trắng ở đầu hoặc ở cuối chuỗi. Thuật ngữ không gian trắng [ký tự] đề cập đến các ký tự vô hình như dòng mới, tab, không gian hoặc các ký tự điều khiển khác. Chúng tôi có các phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
12,
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
13 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
14 để loại bỏ các ký tự này.

stripping.py

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
1

Chúng tôi áp dụng các phương thức tước trên một từ chuỗi có ba không gian trắng. Một không gian ở đầu và hai không gian ở cuối. Lưu ý rằng các phương pháp này loại bỏ bất kỳ số lượng không gian trắng, không chỉ một.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
2

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
14 trả về một chuỗi với các ký tự không gian trắng kéo dài.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
3

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
13 trả về một chuỗi với các ký tự không gian trắng hàng đầu bị xóa.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
4

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
12 trả về một bản sao của chuỗi với các ký tự dẫn đầu và được xóa.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
5

Phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
18 được sử dụng để xây dựng một chuỗi động.
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
19 là một ký tự điều khiển đề cập đến tham số đầu tiên của phương thức
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
18.
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
21 đề cập đến tham số thứ hai.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
6

Chuỗi chuỗi thoát hiểm Python

Khi chúng tôi làm việc với các chuỗi, chúng tôi có thể sử dụng trình tự thoát. Trình tự thoát là các ký tự đặc biệt có một mục đích cụ thể, khi được sử dụng trong một chuỗi.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
7

Trở lại vận chuyển

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
22 là một ký tự điều khiển cho kết thúc của dòng trở về đầu dòng.

strophe.py

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
8

Dòng mới là một ký tự điều khiển, bắt đầu một dòng văn bản mới.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
9

Tiếp theo chúng tôi kiểm tra ký tự điều khiển backspace.

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
0

Ký tự điều khiển backspace

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
23 di chuyển con trỏ một ký tự trở lại. Trong trường hợp của chúng tôi, chúng tôi sử dụng ba ký tự backspace để xóa ba chữ cái và thay thế chúng bằng ba ký tự o.

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
1

Tab ngang đặt một khoảng trống giữa văn bản.

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
2

Trích dẫn đơn và đôi có thể được lồng nhau. Hoặc trong trường hợp chúng tôi chỉ sử dụng các trích dẫn đơn, chúng tôi có thể sử dụng dấu gạch chéo ngược để thoát khỏi ý nghĩa mặc định của một trích dẫn.

Nếu chúng ta dành một R cho chuỗi, chúng ta sẽ nhận được một chuỗi thô. Các chuỗi thoát không được giải thích.

raw.py

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
3
#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
4

Chúng tôi nhận được chuỗi với ký tự dòng mới bao gồm.

Python so sánh chuỗi

So sánh chuỗi là một công việc phổ biến trong lập trình. Chúng ta có thể so sánh hai chuỗi với toán tử

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
24. Chúng ta có thể kiểm tra ngược lại với toán tử không bình đẳng
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
25. Các nhà khai thác trả lại Boolean
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
26 hoặc
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
27.

comparing.py

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
5

Trong ví dụ mã này, chúng tôi so sánh một số chuỗi.

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
6

Hai chuỗi này bằng nhau, vì vậy dòng trả về

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
26.

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
7

Hai ký tự đầu tiên của cả hai chuỗi đều bằng nhau. Tiếp theo các ký tự sau được so sánh. Chúng khác nhau nên dòng trả về

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
27.

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
8

Vì hai chuỗi là khác nhau, dòng trả về

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
26.

#!/usr/bin/env python

# unicode.py

text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'

print[text]
9

Python truy cập các phần tử chuỗi

Có thể truy cập các phần tử chuỗi trong Python.

string_elements.py

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
0

Một hoạt động chỉ mục được sử dụng để có được các phần tử của một chuỗi.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
1

Dòng đầu tiên in ký tự đầu tiên. Dòng thứ hai in ký tự thứ năm. Các chỉ mục bắt đầu từ 0.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
2

Khi chỉ mục là âm, chúng tôi lấy các phần tử từ cuối chuỗi. Trong trường hợp này, chúng tôi in cuối cùng và cuối cùng nhưng một ký tự.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
3

Phạm vi của các ký tự cũng có thể được truy cập. Dòng này in một loạt các ký tự bắt đầu từ đầu tiên và kết thúc với ký tự thứ tư.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
4

Dòng này in tất cả các ký tự từ chuỗi.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
5

Một vòng lặp cho vòng lặp có thể được sử dụng để đi qua tất cả các ký tự của một chuỗi.

traverse.py

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
6

Tập lệnh in tất cả các ký tự của một chuỗi đã cho vào bảng điều khiển.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
7

Python tìm kiếm con

Các phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
31,
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
32,
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
33 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
34 được sử dụng để tìm các chuỗi con trong một chuỗi. Họ trả lại chỉ số của lần xuất hiện đầu tiên của chuỗi con. Các phương thức
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
31 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
33 tìm kiếm từ đầu chuỗi. Tìm kiếm
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
32 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
34 từ cuối chuỗi.

Sự khác biệt giữa các phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
31 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
33 là khi không tìm thấy chuỗi con, lợi nhuận trước đây -1. Sau này tăng ngoại lệ
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
41.

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
8

STR là chuỗi con được tìm kiếm. Tham số

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
42 là chỉ mục bắt đầu, theo mặc định là 0. Tham số
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
43 là chỉ mục kết thúc. Nó theo mặc định bằng chiều dài của chuỗi.

substrings.py

$ ./unicode.py 
Лев Николаевич Толстой: 
Анна Каренина
9

Chúng tôi có một câu đơn giản. Chúng tôi cố gắng tìm chỉ số của một chuỗi con trong câu.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
0

Dòng tìm thấy sự xuất hiện đầu tiên của 'sói' trong câu. Nó in 8.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
1

Dòng này cố gắng tìm một bộ nền 'sói'. Nó bắt đầu từ ký tự thứ 10 và tìm kiếm 20 ký tự tiếp theo. Không có chất nền như vậy trong phạm vi này và do đó dòng in -1, như không tìm thấy.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
2

Ở đây chúng tôi tìm kiếm một chuỗi con từ ký tự thứ 15 cho đến khi kết thúc chuỗi. Chúng tôi tìm thấy sự xuất hiện thứ hai của chuỗi con. Các dòng in 35.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
3

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
32 tìm kiếm một chuỗi con từ cuối. Nó tìm thấy sự xuất hiện thứ hai của chuỗi con 'sói'. Các dòng in 35.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
4

Trong ví dụ thứ hai, chúng tôi sử dụng các phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
33 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
34.

substrings2.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
5

Trong ví dụ, chúng tôi tìm kiếm các chuỗi con với các phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
33 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
34.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
6

Những dòng này tìm thấy sự xuất hiện đầu tiên của chuỗi con 'sói' từ đầu và từ cuối.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
7

Khi không tìm thấy chất nền, phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
34 sẽ tăng ngoại lệ
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
41.

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
8

Các hoạt động chuỗi cơ bản của Python

Trong ví dụ tiếp theo, chúng tôi thực hiện phép nhân và nối chuỗi.

add_multiply.py

#!/usr/bin/python
# -*- coding: utf-8 -*-

# unicode2.py

text = 'Лев Николаевич Толстой: Анна Каренина'

print[text]
9

Toán tử

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
51 lặp lại chuỗi n lần. Trong trường hợp của chúng tôi năm lần. Hai chuỗi chữ bên cạnh nhau được kết nối tự động. Chúng tôi cũng có thể sử dụng toán tử
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
52 để kết hợp rõ ràng các chuỗi.

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
0

Chúng ta có thể sử dụng hàm

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
11 để tính độ dài của chuỗi trong các ký tự.

eagle.py

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
1

Trong ví dụ, chúng tôi tính toán số lượng ký tự trong một biến chuỗi.

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
2

Một số ngôn ngữ lập trình cho phép bổ sung ngầm các chuỗi và số. Trong ngôn ngữ Python, điều này là không thể. Chúng ta phải chuyển đổi rõ ràng các giá trị.

string_number.py

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
3

Chúng tôi sử dụng hàm

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
54 tích hợp để chuyển đổi chuỗi thành số nguyên. Và cũng có chức năng
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
55 tích hợp để chuyển đổi một số thành một chuỗi. Và chúng tôi sử dụng hàm
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
56 để chuyển đổi chuỗi thành số điểm nổi.

Python thay thế chuỗi

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
02 thay thế các chuỗi con trong một chuỗi với các chuỗi con khác. Vì các chuỗi trong Python là bất biến, một chuỗi mới được xây dựng bằng các giá trị được thay thế.

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
4

Theo mặc định, phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
02 thay thế tất cả các lần xuất hiện của một chuỗi con. Phương thức lấy một đối số thứ ba giới hạn các thay thế ở một số nhất định.

replacing.py

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
5

Chúng tôi có một câu mà chúng tôi thay thế 'sói' bằng 'cáo'.

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
6

Dòng này thay thế tất cả các lần xuất hiện của 'sói' bằng 'Fox'.

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
7

Ở đây chúng tôi chỉ thay thế lần xuất hiện đầu tiên.

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
8

Python chia và nối chuỗi

Một chuỗi có thể được chia bằng phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
04 hoặc
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
60. Họ trả lại một danh sách các chuỗi được cắt từ chuỗi bằng cách sử dụng một dấu phân cách. Tham số thứ hai tùy chọn là các phân tách tối đa được phép.

splitting.py

#!/usr/bin/env python

# quotes.py

print["There are many stars."]
print["He said, \"Which one is your favourite?\""]

print['There are many stars.']
print['He said, "Which one is your favourite?"']
9

Chúng tôi có một chuỗi phân loại dấu phẩy. Chúng tôi cắt chuỗi thành các phần.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
0

Chúng tôi chia chuỗi thành tám phần bằng dấu phẩy làm dấu phân cách. Phương pháp trả về một danh sách tám chuỗi.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
1

Ở đây chúng tôi chia chuỗi thành sáu phần. Có năm chuỗi con và phần còn lại của chuỗi.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
2

Ở đây chúng tôi chia chuỗi thành bốn phần. Lần này sự chia tách đi từ bên phải.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
3

Chuỗi có thể được nối với chuỗi

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
03. Nó trả về một chuỗi được nối với các chuỗi được truyền dưới dạng tham số. Phân tách giữa các phần tử là chuỗi cung cấp phương pháp này.

split_join.py

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
4

Đầu tiên chúng tôi chia một chuỗi thành một danh sách các chuỗi. Sau đó, chúng tôi tham gia các chuỗi vào một chuỗi với các yếu tố được phân tách bởi ký tự được cung cấp.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
5

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
03 tạo một chuỗi từ danh sách các chuỗi. Các yếu tố được phân tách bằng ký tự
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
63.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
6

Một phương pháp khác có thể được sử dụng để phân tách chuỗi là

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
64. Nó sẽ phân chia chuỗi ở lần xuất hiện đầu tiên của dấu phân cách và trả về 3-tuple chứa phần trước dấu phân cách, chính bộ phân cách và phần sau khi phân tách.

partition.py

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
7

Chúng tôi sử dụng phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
64 trong ví dụ này.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
8

Điều này sẽ cắt chuỗi thành ba phần. Một trước ký tự

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
66, dấu phân cách và phía bên phải sau dấu phân cách.

$ ./quotes.py
There are many stars.
He said, "Which one is your favourite?"
There are many stars.
He said, "Which one is your favourite?"
9

Trường hợp chuỗi Python

Python có bốn phương pháp chuỗi để làm việc với trường hợp chuỗi. Các phương thức này trả về một chuỗi sửa đổi mới.

convert_case.py

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
0

Chúng tôi có một từ chuỗi mà chúng tôi chứng minh bốn phương thức.

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
1

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
67 trả về một bản sao của chuỗi trong đó tất cả các ký tự được chuyển đổi thành chữ hoa.

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
2

Ở đây chúng tôi nhận được một bản sao của chuỗi bằng chữ thường.

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
3

Phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
68 hoán đổi trường hợp của các chữ cái. Các ký tự viết thường sẽ là chữ hoa và ngược lại.

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
4

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
69 trả về một bản sao của chuỗi, trong đó ký tự đầu tiên ở chữ hoa và các ký tự còn lại ở chữ thường.

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
5

Hoạt động Python trên chuỗi

Có một số chức năng tích hợp hữu ích có thể được sử dụng để làm việc với các chuỗi.

letters.py

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
6

Trong ví dụ của chúng tôi, chúng tôi có một câu chuỗi. Chúng tôi tính toán số lượng ký tự tuyệt đối, số lượng ký tự chữ cái, chữ số và không gian trong câu. Để làm điều này, chúng tôi sử dụng các chức năng sau:

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
11,
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
71,
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
72 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
73.

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
7

Trong ví dụ tiếp theo, chúng tôi in kết quả của các trận đấu bóng đá.

teams1.py

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
8

Chúng ta đã biết rằng các chuỗi liền kề được nối.

#!/usr/bin/env python

# string_length.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "

print[len[s1]]
print[len[s2]]
print[len[s3]]
9

Tiếp theo, chúng tôi cải thiện giao diện của đầu ra.

teams2.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
0

Phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
74 trả về một chuỗi chính đáng bên trái, phương thức
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
75 trả về một chuỗi chính đáng. Nếu chuỗi nhỏ hơn chiều rộng mà chúng tôi cung cấp, nó sẽ chứa đầy khoảng trắng.

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
1

Bây giờ đầu ra trông tốt hơn.

Định dạng chuỗi Python

Định dạng chuỗi là động đặt các giá trị khác nhau vào một chuỗi. Định dạng chuỗi có thể đạt được với toán tử

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
76 hoặc phương thức
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
18.

oranges.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
2

Trong ví dụ mã, chúng tôi tự động xây dựng một chuỗi. Chúng tôi đặt một số vào một câu.

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
3

Chúng tôi sử dụng trình xác định định dạng

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
78. Nhân vật
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
79 có nghĩa là chúng ta đang mong đợi một số nguyên. Sau chuỗi, chúng tôi đặt một toán tử modulo và một đối số. Trong trường hợp này, chúng tôi có một giá trị số nguyên.

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
4

Nhiệm vụ tương tự đạt được với phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
18. Lần này, bộ xác định định dạng là
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
19.

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
5

Ví dụ tiếp theo cho thấy cách thêm nhiều giá trị hơn vào một chuỗi.

fruits.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
6

Trong cả hai dòng, chúng tôi thêm hai định dạng định dạng.

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
7

Trong ví dụ tiếp theo, chúng tôi xây dựng một chuỗi với một float và giá trị chuỗi.

height.py

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
8

Chúng tôi in chiều cao của một người.

s1 = "Eagle"
s2 = "Eagle\n"
s3 = "Eagle  "
9

Định dạng định dạng cho giá trị float là

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
82 và cho một chuỗi
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
83.

print[len[s1]]
0

Với phương thức

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
18, chúng tôi thêm các ký tự
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
85 và
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
86 vào trình xác định.

print[len[s1]]
1

Chúng tôi có thể không thích thực tế là số trong ví dụ trước có 6 thập phân theo mặc định. Chúng ta có thể kiểm soát số lượng vị trí thập phân trong định dạng định dạng.

height2.py

print[len[s1]]
2

Điểm thập phân theo sau là một số nguyên kiểm soát số lượng vị trí thập phân. Trong trường hợp của chúng tôi, con số sẽ có hai vị trí thập phân.

print[len[s1]]
3

Ví dụ sau đây cho thấy các tùy chọn định dạng khác.

various.py

print[len[s1]]
4

Hai định dạng đầu tiên hoạt động với các số thập lục phân. Nhân vật

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
87 sẽ định dạng số trong ký hiệu thập lục phân. Nhân vật
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
88 sẽ thêm
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
89 vào số thập lục phân. Ký tự
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
90 hiển thị số ở định dạng bát phân. Nhân vật
$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
91 sẽ hiển thị số lượng ở định dạng khoa học.

print[len[s1]]
5

Phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
18 cũng hỗ trợ định dạng nhị phân.

various2.py

print[len[s1]]
6

Ví dụ in các số trong các định dạng thập lục phân, nhị phân, bát phân và khoa học.

Ví dụ tiếp theo sẽ in ba cột số.

columns1.py

print[len[s1]]
7

Các số được để lại hợp lý và đầu ra không tối ưu.

print[len[s1]]
8

Để sửa điều này, chúng tôi sử dụng trình xác định chiều rộng. Bộ xác định chiều rộng xác định chiều rộng tối thiểu của đối tượng. Nếu đối tượng nhỏ hơn chiều rộng, nó được lấp đầy bằng khoảng trắng.

columns2.py

print[len[s1]]
9

Bây giờ đầu ra có vẻ ổn. Giá trị 2 làm cho cột đầu tiên là 2 charactes rộng.

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
00

Bây giờ chúng tôi có định dạng cải tiến với phương pháp

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
18.

columns3.py

$ ./string_literals.py 
proximity alert
evacuation

requiem 
for 
a 
tower
01

Chương này của hướng dẫn Python được dành riêng cho loại dữ liệu chuỗi trong Python.

Nội dung trước tiếp theo

Làm thế nào để bạn xác định một chuỗi?

Chuỗi được định nghĩa là một mảng các ký tự.Sự khác biệt giữa một mảng ký tự và chuỗi là chuỗi được chấm dứt với một ký tự duy nhất '\ 0'.an array of characters. The difference between a character array and a string is the string is terminated with a unique character '\0'.

Một chuỗi trong Python với ví dụ là gì?

Một chuỗi là một loạt các ký tự.Trong Python, bất cứ điều gì bên trong trích dẫn là một chuỗi.Và bạn có thể sử dụng trích dẫn đơn hoặc đôi.Ví dụ: message = 'Đây là một chuỗi trong python' message = "Đây cũng là một chuỗi"a series of characters. In Python, anything inside quotes is a string. And you can use either single or double quotes. For example: message = 'This is a string in Python' message = "This is also a string"

Bài Viết Liên Quan

Chủ Đề