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 tower02,
$ ./string_literals.py proximity alert evacuation requiem for a tower03 hoặc
$ ./string_literals.py proximity alert evacuation requiem for a tower04 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 tower05,
$ ./string_literals.py proximity alert evacuation requiem for a tower06 và
$ ./string_literals.py proximity alert evacuation requiem for a tower07. 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 tower08 hoặc
$ ./string_literals.py proximity alert evacuation requiem for a tower09 ở đầ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 tower10 để 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 tower11 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 tower0
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 tower12,
$ ./string_literals.py proximity alert evacuation requiem for a tower13 và
$ ./string_literals.py proximity alert evacuation requiem for a tower14 để loại bỏ các ký tự này.
stripping.py
$ ./string_literals.py proximity alert evacuation requiem for a tower1
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 tower2
Phương thức
$ ./string_literals.py proximity alert evacuation requiem for a tower14 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 tower3
Phương thức
$ ./string_literals.py proximity alert evacuation requiem for a tower13 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 tower4
Phương thức
$ ./string_literals.py proximity alert evacuation requiem for a tower12 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 tower5
Phương pháp
$ ./string_literals.py proximity alert evacuation requiem for a tower18 được sử dụng để xây dựng một chuỗi động.
$ ./string_literals.py proximity alert evacuation requiem for a tower19 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 tower18.
$ ./string_literals.py proximity alert evacuation requiem for a tower21 đề cập đến tham số thứ hai.
$ ./string_literals.py proximity alert evacuation requiem for a tower6
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 tower7
Trở lại vận chuyển
$ ./string_literals.py proximity alert evacuation requiem for a tower22 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 tower8
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 tower9
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 tower23 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 tower24. 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 tower25. Các nhà khai thác trả lại Boolean
$ ./string_literals.py proximity alert evacuation requiem for a tower26 hoặc
$ ./string_literals.py proximity alert evacuation requiem for a tower27.
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 tower26.
#!/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 tower27.
#!/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 tower26.
#!/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 tower31,
$ ./string_literals.py proximity alert evacuation requiem for a tower32,
$ ./string_literals.py proximity alert evacuation requiem for a tower33 và
$ ./string_literals.py proximity alert evacuation requiem for a tower34 đượ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 tower31 và
$ ./string_literals.py proximity alert evacuation requiem for a tower33 tìm kiếm từ đầu chuỗi. Tìm kiếm
$ ./string_literals.py proximity alert evacuation requiem for a tower32 và
$ ./string_literals.py proximity alert evacuation requiem for a tower34 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 tower31 và
$ ./string_literals.py proximity alert evacuation requiem for a tower33 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 tower41.
$ ./unicode.py Лев Николаевич Толстой: Анна Каренина8
STR là chuỗi con được tìm kiếm. Tham số
$ ./string_literals.py proximity alert evacuation requiem for a tower42 là chỉ mục bắt đầu, theo mặc định là 0. Tham số
$ ./string_literals.py proximity alert evacuation requiem for a tower43 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 tower32 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 tower33 và
$ ./string_literals.py proximity alert evacuation requiem for a tower34.
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 tower33 và
$ ./string_literals.py proximity alert evacuation requiem for a tower34.
#!/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 tower34 sẽ tăng ngoại lệ
$ ./string_literals.py proximity alert evacuation requiem for a tower41.
#!/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 tower51 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 tower52 để 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 tower11 để 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 tower54 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 tower55 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 tower56 để 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 tower02 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 tower02 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 tower04 hoặc
$ ./string_literals.py proximity alert evacuation requiem for a tower60. 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 tower03. 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 tower03 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 tower63.
$ ./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 tower64. 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 tower64 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 tower66, 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 tower67 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 tower68 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 tower69 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 tower11,
$ ./string_literals.py proximity alert evacuation requiem for a tower71,
$ ./string_literals.py proximity alert evacuation requiem for a tower72 và
$ ./string_literals.py proximity alert evacuation requiem for a tower73.
#!/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 tower74 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 tower75 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 tower76 hoặc phương thức
$ ./string_literals.py proximity alert evacuation requiem for a tower18.
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 tower78. Nhân vật
$ ./string_literals.py proximity alert evacuation requiem for a tower79 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 tower18. Lần này, bộ xác định định dạng là
$ ./string_literals.py proximity alert evacuation requiem for a tower19.
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 tower82 và cho một chuỗi
$ ./string_literals.py proximity alert evacuation requiem for a tower83.
print[len[s1]]0
Với phương thức
$ ./string_literals.py proximity alert evacuation requiem for a tower18, chúng tôi thêm các ký tự
$ ./string_literals.py proximity alert evacuation requiem for a tower85 và
$ ./string_literals.py proximity alert evacuation requiem for a tower86 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 tower87 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 tower88 sẽ thêm
$ ./string_literals.py proximity alert evacuation requiem for a tower89 vào số thập lục phân. Ký tự
$ ./string_literals.py proximity alert evacuation requiem for a tower90 hiển thị số ở định dạng bát phân. Nhân vật
$ ./string_literals.py proximity alert evacuation requiem for a tower91 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 tower18 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 tower00
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 tower18.
columns3.py
$ ./string_literals.py proximity alert evacuation requiem for a tower01
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