Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc user-defined names that are given to Functions or variables are known as Identifiers. It helps in differentiating one entity from another and also serves as a definition of the use of that entity sometimes. As in every programming language, there are some restrictions/ limitations for Identifiers. So, is the case with Python, we need to take care of the following points before using an Identifier.
Bàn luận
- Các tên do người dùng xác định được đặt cho các chức năng hoặc biến được gọi là định danh. Nó giúp phân biệt một thực thể này với một thực thể khác và cũng là định nghĩa về việc sử dụng thực thể đó đôi khi. Như trong mọi ngôn ngữ lập trình, có một số hạn chế/ giới hạn cho các định danh. Vì vậy, là trường hợp của Python, chúng ta cần chăm sóc các điểm sau khi sử dụng định danh.
Python3
Quy tắc viết định danh:
Hạn chế đầu tiên và quan trọng nhất là các định danh không thể giống như các từ khóa. Có những từ khóa dành riêng đặc biệt trong mọi ngôn ngữ lập trình có ý nghĩa riêng của nó và những cái tên này có thể được sử dụng làm số nhận dạng trong Python.
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax26
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax27
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax28
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax29
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax30
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax31
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax32
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax39
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax40
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax33
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax35
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax36
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax38
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax26
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34 ________ 143 & nbsp; & nbsp;
Output:
File "/home/9efd6943df820475cf5bc74fc4fcc3aa.py", line 15 def = 12 ^ SyntaxError: invalid syntax
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
44File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
34 ________ 135 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
Python3
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax39
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax48
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax26
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax50__1444
Một định danh trong Python không thể sử dụng bất kỳ biểu tượng đặc biệt nào như!, @, #, $, %, V.v.
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax53
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34 ________ 155 & nbsp;
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax56
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34 ________ 158 & nbsp;
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax39
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax60
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax61
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax62
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax63
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34 ________ 143 & nbsp;
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax66
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34 ________ 168 & nbsp;
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax39
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax70
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax61
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax72
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax74
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax75
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax84
Output:
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
26File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
74File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
75File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
76
Python3
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax28
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax39
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax79
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax80
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax81
Ngoài các hạn chế này, Python cho phép các định danh là sự kết hợp của các chữ cái viết thường [A đến Z] hoặc chữ hoa [A đến Z] hoặc các chữ số [0 đến 9] hoặc dấu gạch dưới [_]. Nhưng tên biến không được bắt đầu với các chữ số. Các tên như MyClass, VAR_3 và print_to_screen, là các ví dụ hợp lệ.
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax53
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax87
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax88
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax90
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax91
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax93
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax94
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax96
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax97
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax34
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax99
Output:
2020 This is a string QWERTY
Đối tượng 2020
This is a string QWERTY
09 là có thể thay đổi. Bạn có thể sửa đổi nội dung của đối tượng 2020
This is a string QWERTY
09 bằng cách sử dụng lập chỉ mục và cắt: 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
Đối tượng
2020 This is a string QWERTY09 cũng có thể được xây dựng trực tiếp từ đối tượng
2020 This is a string QWERTY08: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.
Sự kết luận 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.
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
2020 This is a string QWERTY08 và
2020 This is a string QWERTY09.
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.
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
Các nhân vật trong Python là gì?
Giống như nhiều ngôn ngữ lập trình phổ biến khác, các chuỗi trong Python là các mảng byte đại diện cho các ký tự Unicode. Tuy nhiên, Python không có kiểu dữ liệu ký tự, một ký tự duy nhất chỉ đơn giản là một chuỗi có chiều dài 1. Giá đỡ vuông có thể được sử dụng để truy cập các phần tử của chuỗi.
Bạn có thể sử dụng những nhân vật nào trong Python?
Python các nhân vật đặc biệt.
>>>
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
\ n - Newline ..
\ T- tab ngang ..
\ r- Trở lại vận chuyển ..
2020 This is a string QWERTY21
\ B- Backspace ..
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
\ f- Form Feed ..
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ị
2020 This is a string QWERTY23, bất cứ ai cũng sẽ nghĩ đúng là bạn hơi khó chịu. Nhưng nó sẽ hoạt động.
Toán tử 2020
This is a string QWERTY
24
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ử
2020 This is a string QWERTY24 trả về
2020 This is a string QWERTY26 nếu toán hạng đầu tiên được chứa trong phần thứ hai và
2020 This is a string QWERTY27 nếu không:
>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
Ngoài ra còn có một toán tử
2020 This is a string QWERTY28, ngược lại:
>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
Ngoài ra còn có một toán tử 2020
This is a string QWERTY
28, ngược lại:
Chức năng chuỗi tích hợp
Sự mô tả | 2020 This is a string QWERTY29 |
Chuyển đổi một số nguyên thành một ký tự | 2020 This is a string QWERTY30 |
Chuyển đổi một ký tự thành một số nguyên | 2020 This is a string QWERTY31 |
Trả về độ dài của một chuỗi | 2020 This is a string QWERTY32 |
Trả về một biểu diễn chuỗi của một đối tượng
2020
This is a string QWERTY
33
Chúng được khám phá đầy đủ hơn dưới đây.
Trả về một giá trị số nguyên cho ký tự đã cho.
Ở cấp độ cơ bản nhất, máy tính lưu trữ tất cả thông tin dưới dạng số. Để đại diện cho dữ liệu ký tự, một sơ đồ dịch được sử dụng để ánh xạ từng ký tự theo số đại diện của nó.
>>>
>>> ord['a']
97
>>> ord['#']
35
Ngoài ra còn có một toán tử
2020 This is a string QWERTY28, 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:
>>>
>>> ord['€']
8364
>>> ord['∑']
8721
2020
This is a string QWERTY
37
Ngoài ra còn có một toán tử
2020 This is a string QWERTY28, ngược lại:
Chức năng chuỗi tích hợp
>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
Ngoài ra còn có một toán tử
2020 This is a string QWERTY28, ngược lại:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax0
2020 This is a string QWERTY44
Ngoài ra còn có một toán tử
2020 This is a string QWERTY28, ngược lại:
Chức năng chuỗi tích hợp
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax1
2020 This is a string QWERTY48
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ố
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax2
Sự mô tả
2020 This is a string QWERTY29
Chuyển đổi một số nguyên thành một ký tự
2020 This is a string QWERTY30
Chuyển đổi một ký tự thành một số nguyên
2020 This is a string QWERTY31
Trả về độ dài của một chuỗi
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax3
2020 This is a string QWERTY32
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax4
Trả về một biểu diễn chuỗi của một đối tượng
Trả về một giá trị số nguyên cho ký tự đã cho.
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax5
Ở cấp độ cơ bản nhất, máy tính lưu trữ tất cả thông tin dưới dạng số. Để đại diện cho dữ liệu ký tự, một sơ đồ dịch được sử dụng để ánh xạ từng ký tự theo số đại diện của nó.
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax6
Sơ đồ đơn giản nhất trong sử dụng phổ biến được gọi là ASCII. Nó bao gồm các ký tự Latin phổ biến mà bạn có thể đã quen nhất khi làm việc. Đối với các ký tự này,
2020 This is a string QWERTY33 trả về giá trị ASCII cho ký tự
2020 This is a string QWERTY35:
ASCII vẫn ổn khi nó đi. Nhưng có nhiều ngôn ngữ khác nhau được sử dụng trên thế giới và vô số biểu tượng và glyphs xuất hiện trên phương tiện kỹ thuật số. Toàn bộ các ký tự có khả năng có thể cần được thể hiện trong mã máy tính vượt xa các chữ cái Latin, số và ký hiệu thông thường mà bạn thường thấy.
Unicode là một tiêu chuẩn đầy tham vọng cố gắng cung cấp một mã số cho mọi ký tự có thể, bằng mọi ngôn ngữ có thể, trên mọi nền tảng có thể. Python 3 hỗ trợ Unicode rộng rãi, bao gồm cho phép các ký tự Unicode trong chuỗi.
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax7
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ự
2020 This is a string QWERTY66 [
2020 This is a string QWERTY67] 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
2020 This is a string QWERTY62 sẽ trả về một chuỗi con có chiều dài
2020 This is a string QWERTY69 ký tự, trong trường hợp này là
2020 This is a string QWERTY70.
Nếu bạn bỏ qua chỉ mục đầu tiên, lát cắt bắt đầu ở đầu chuỗi. Do đó,
2020 This is a string QWERTY71 và
2020 This is a string QWERTY72 tương đương:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax8
Tương tự, nếu bạn bỏ qua chỉ mục thứ hai như trong
2020 This is a string QWERTY73, 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
2020 This is a string QWERTY74 cồng kềnh hơn:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax9
Đối với bất kỳ chuỗi
2020 This is a string QWERTY16 và bất kỳ số nguyên
2020 This is a string QWERTY17 [
2020 This is a string QWERTY77],
2020 This is a string QWERTY78 sẽ bằng
2020 This is a string QWERTY16:
>>>
2020 This is a string QWERTY0
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:
>>>
2020 This is a string QWERTY1
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:
>>>
2020 This is a string QWERTY2
Các chỉ số tiêu cực có thể được sử dụng với việc cắt là tốt.
2020 This is a string QWERTY55 đề cập đến ký tự cuối cùng,
2020 This is a string QWERTY56 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ụ
2020 This is a string QWERTY82 từ chuỗi
2020 This is a string QWERTY54 bằng cả các chỉ số dương và tiêu cực:
Đây là mã Python tương ứng:
>>>
2020 This is a string QWERTY3
Chỉ định sải bước trong một lát chuỗi
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
2020 This is a string QWERTY84 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
2020 This is a string QWERTY54, lát
2020 This is a string QWERTY86 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:
Tương tự,
2020 This is a string QWERTY87 chỉ định một lát bắt đầu bằng ký tự thứ hai [INDEX
2020 This is a string QWERTY53] và kết thúc bằng ký tự cuối cùng và một lần nữa giá trị sải chân
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax35 khiến mọi ký tự khác bị bỏ qua:
Mã thay thế minh họa được hiển thị ở đây:
>>>
2020 This is a string QWERTY4
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:
>>>
2020 This is a string QWERTY5
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:
>>>
2020 This is a string QWERTY6
Trong ví dụ trên,
2020 This is a string QWERTY90 có nghĩa là bắt đầu ở nhân vật cuối cùng và bước lùi bằng
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax35, 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ụ:
>>>
2020 This is a string QWERTY7
Đây là một mô hình phổ biến để đảo ngược một chuỗi:
>>>
2020 This is a string QWERTY8
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ó.f-string.
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.
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ể thực hiện điều này với câu lệnh
2020 This is a string QWERTY92 đơn giản, phân tách các giá trị số và chuỗi chữ theo dấu phẩy:
>>>
2020 This is a string QWERTY9
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:
- Chỉ định chữ thường
2020 This is a string QWERTY
93 hoặc chữ hoa2020 This is a string QWERTY
94 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 [
2020 This is a string QWERTY
95].
Recast Sử dụng chuỗi F, ví dụ trên trông sạch hơn nhiều:
>>>
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
0Bấ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:
>>>
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'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
1
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
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.]
>>>
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
2Bấ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'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
3Bấ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'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
4Bấ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'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
1
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
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!
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.
Bạn cũng quen thuộc với các chức năng: các quy trình có thể gọi mà bạn có thể gọi để thực hiện các nhiệm vụ cụ thể.
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
00Phương pháp tương tự như các chức năng. Một phương pháp là một loại quy trình có thể gọi chuyên dụng được liên kết chặt chẽ với một đối tượng. Giống như một hàm, một phương thức được gọi để thực hiện một nhiệm vụ riêng biệt, nhưng nó được gọi trên một đối tượng cụ thể và có kiến thức về đối tượng mục tiêu của nó trong khi thực hiện.
Cú pháp để gọi một phương thức trên một đối tượng như sau:
>>>
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
5Điều này gọi phương thức
2020 This is a string QWERTY96 trên đối tượng
2020 This is a string QWERTY50.
2020 This is a string QWERTY98 Chỉ định các đối số được truyền cho phương thức [nếu có].
>>>
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
6>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
03Bạn sẽ khám phá nhiều hơn về việc xác định và gọi các phương thức sau này trong cuộc thảo luận về lập trình hướng đối tượng. Hiện tại, mục tiêu là trình bày một số phương thức tích hợp được sử dụng phổ biến hơn Python hỗ trợ để vận hành trên các đối tượng chuỗi.
Trong các định nghĩa phương thức sau, các đối số được chỉ định trong dấu ngoặc vuông [
2020 This is a string QWERTY51] là tùy chọn.
>>>
Chuyển đổi trường hợp>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
06Các phương thức trong nhóm này thực hiện chuyển đổi trường hợp trên chuỗi đích.
Viết hoa chuỗi mục tiêu.
>>>
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
8>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
0900 Trả về một bản sao>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY16 với ký tự đầu tiên được chuyển đổi thành chữ hoa và tất cả các ký tự khác được chuyển đổi thành chữ thường:
Các ký tự không thay đổi không thay đổi:
>>>
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
9Chuyển đổi ký tự chữ cái thành chữ thường.
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
0>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
1203 Trả về một bản sao>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY16 với tất cả các ký tự chữ cái được chuyển đổi thành chữ thường:
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
7>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
1Hoán đổi trường hợp của các ký tự chữ cái.
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
06 Trả về một bản sao 2020 This is a string QWERTY16 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'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
2209 Trả về một bản sao của>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY16 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:
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
2Chuyển đổi các ký tự chữ cái thành chữ hoa.
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
3>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
2812 Trả về một bản sao>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY16 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ế
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
4Cá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.
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
5>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
36Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định.
Bạn có thể sử dụng
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
37 để xem liệu chuỗi Python có chứa một chuỗi con cụ thể không. >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
38 Trả về chỉ số thấp nhất trong 2020 This is a string QWERTY16 trong đó tìm thấy cơ sở
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
24:>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
6Phương thức này trả về
2020 This is a string QWERTY55 nếu không tìm thấy chuỗi con được chỉ định:
>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
7Tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
15 và >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
16, nếu chúng được chỉ định:>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
8>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
44Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định.
Bạn có thể sử dụng
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
37 để xem liệu chuỗi Python có chứa một chuỗi con cụ thể không. >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
38 Trả về chỉ số thấp nhất trong 2020 This is a string QWERTY16 trong đó tìm thấy cơ sở
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
24:>>>
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
9
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
48Phương thức này trả về
2020 This is a string QWERTY55 nếu không tìm thấy chuỗi con được chỉ định:
Tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
15 và >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
16, nếu chúng được chỉ định:>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
0Phương pháp này giống hệt với
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
37, ngoại trừ việc nó tăng một ngoại lệ nếu không tìm thấy >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
24 thay vì trả lại 2020 This is a string QWERTY55:
>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
1Tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
15 và >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
16, nếu chúng được chỉ định:>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
2>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
56Phương thức này trả về
2020 This is a string QWERTY55 nếu không tìm thấy chuỗi con được chỉ định:
Tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
15 và >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
16, nếu chúng được chỉ định:>>>
Phương pháp này giống hệt với>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
37, ngoại trừ việc nó tăng một ngoại lệ nếu không tìm thấy >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
24 thay vì trả lại 2020 This is a string QWERTY55:
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
60Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định bắt đầu từ cuối.
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
49 Trả về chỉ số cao nhất trong 2020 This is a string QWERTY16 trong đó tìm thấy cơ sở
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
24:>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
4Như với
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
37, nếu không tìm thấy chuỗi con, 2020 This is a string QWERTY55 được trả về:
>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
5Phương pháp này giống hệt với >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
57, ngoại trừ việc nó tăng một ngoại lệ nếu không tìm thấy >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
24 thay vì trả lại 2020
This is a string QWERTY
55:
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
3>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
69Xác định xem chuỗi đích bắt đầu với một chuỗi con nhất định.
Khi bạn sử dụng phương thức Python
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
61, >>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
62 sẽ trả về 2020 This is a string QWERTY26 nếu
2020 This is a string QWERTY16 bắt đầu với
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
32 được chỉ định và 2020 This is a string QWERTY27 khác:
>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
6>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
74Việc so sánh được giới hạn trong chuỗi con được chỉ định bởi
15 và>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
16, nếu chúng được chỉ định:>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
Phân loại nhân vật
>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
7>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
79Các phương thức trong nhóm này phân loại một chuỗi dựa trên các ký tự mà nó chứa.
Xác định xem chuỗi đích có bao gồm các ký tự chữ và số hay không.
>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
8>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
8569 Trả về>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY26 nếu2020 This is a string QWERTY16 không trống và tất cả các ký tự của nó là chữ và số [có thể là một chữ cái hoặc một số] và2020 This is a string QWERTY27 nếu không:
Xác định xem chuỗi đích có bao gồm các ký tự chữ cái hay không.
>>>
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
9>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
9074 Trả về>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY26 nếu2020 This is a string QWERTY16 là không trống và tất cả các ký tự của nó đều là chữ cái và2020 This is a string QWERTY27 khác:
Xác định xem chuỗi đích có bao gồm các ký tự chữ số hay không.
>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
0>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
95Bạn có thể sử dụng phương thức
80 Python để kiểm tra xem chuỗi của bạn chỉ được làm bằng các chữ số.>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
79 Trả về>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY26 nếu2020 This is a string QWERTY16 không trống và tất cả các ký tự của nó là các chữ số số và2020 This is a string QWERTY27 nếu không:
Xác định xem chuỗi đích là định danh Python hợp lệ.
>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
1>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
0185 Trả về>>> s = 'foo' >>> t = 'bar' >>> u = 'baz' >>> s + t 'foobar' >>> s + t + u 'foobarbaz' >>> print['Go team' + '!!!'] Go team!!!
2020 This is a string QWERTY26 nếu2020 This is a string QWERTY16 là định danh Python hợp lệ theo định nghĩa ngôn ngữ và2020 This is a string QWERTY27 nếu không:
Xác định xem các ký tự chữ cái của chuỗi đích là chữ thường.
>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
90 Trả về 2020 This is a string QWERTY26 nếu
2020 This is a string QWERTY16 là không trống và tất cả các ký tự chữ cái mà nó chứa là chữ thường và
2020 This is a string QWERTY27 khác. Các ký tự không alphabetic bị bỏ qua:
>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
2Xá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
3>>> s = 'foo'
>>> t = 'bar'
>>> u = 'baz'
>>> s + t
'foobar'
>>> s + t + u
'foobarbaz'
>>> print['Go team' + '!!!']
Go team!!!
95 Trả về 2020 This is a string QWERTY26 nếu
2020 This is a string QWERTY16 trống hoặc tất cả các ký tự chữ cái mà nó chứa có thể in. Nó trả về
2020 This is a string QWERTY27 nếu
2020 This is a string QWERTY16 chứa ít nhất một ký tự không thể in được. Các ký tự không alphabetic bị bỏ qua:
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
12Xác định xem chuỗi đích có bao gồm các ký tự khoảng trắng hay không.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
01 Trả về 2020 This is a string QWERTY26 nếu
2020 This is a string QWERTY16 là không trống và tất cả các ký tự là ký tự khoảng trắng và
2020 This is a string QWERTY27 khác.
>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
4>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
17Các ký tự khoảng trắng thường gặp nhất là Space
06, Tab>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
07 và Newline>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
08:>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
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
5Đị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.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
22Tập trung một chuỗi trong một trường.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
23 Trả về một chuỗi bao gồm 2020 This is a string QWERTY16 tập trung vào một trường có chiều rộng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25. Theo mặc định, phần đệm bao gồm ký tự không gian ASCII:>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
6Nếu đối số
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tùy chọn được chỉ định, nó được sử dụng làm ký tự đệm:>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
7Nếu
2020 This is a string QWERTY16 đã ít nhất là
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25, thì nó sẽ được trả lại không thay đổi:>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
8>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
29Mở rộng các tab trong một chuỗi.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30 Thay thế từng ký tự tab [>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
07] 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:>>>
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
9>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một tham số từ khóa tùy chọn Chỉ định các cột dừng thay thế:>>>
>>> ord['a']
97
>>> ord['#']
35
0>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
33Bên trái thông số một chuỗi trong trường.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
34 Trả về một chuỗi bao gồm 2020 This is a string QWERTY16 Xử lý trái trong một trường có chiều rộng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25. Theo mặc định, phần đệm bao gồm ký tự không gian ASCII:>>>
>>> ord['a']
97
>>> ord['#']
35
1Nếu đối số
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tùy chọn được chỉ định, nó được sử dụng làm ký tự đệm:>>>
>>> ord['a']
97
>>> ord['#']
35
2Nếu
2020 This is a string QWERTY16 đã ít nhất là
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25, thì nó sẽ được trả lại không thay đổi:>>>
>>> ord['a']
97
>>> ord['#']
35
3>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
40Mở rộng các tab trong một chuỗi.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30 Thay thế từng ký tự tab [>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
07] 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:>>>
>>> ord['a']
97
>>> ord['#']
35
4>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một tham số từ khóa tùy chọn Chỉ định các cột dừng thay thế:>>>
>>> ord['a']
97
>>> ord['#']
35
5>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
44Bên trái thông số một chuỗi trong trường.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
34 Trả về một chuỗi bao gồm 2020 This is a string QWERTY16 Xử lý trái trong một trường có chiều rộng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25. Theo mặc định, phần đệm bao gồm ký tự không gian ASCII:>>>
>>> ord['a']
97
>>> ord['#']
35
6Trims dẫn đầu các ký tự từ một chuỗi.
>>>
>>> ord['a']
97
>>> ord['#']
35
7>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
5341 Trả về một bản sao của>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
2020 This is a string QWERTY16 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu trái:
Nếu đối số
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
43 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:>>>
>>> ord['a']
97
>>> ord['#']
35
8Nếu đối số
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
26 tùy chọn được chỉ định, nó được sử dụng làm ký tự đệm:>>>
>>> ord['a']
97
>>> ord['#']
35
9Nếu
2020 This is a string QWERTY16 đã ít nhất là
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25, thì nó sẽ được trả lại không thay đổi:>>>
>>> ord['€']
8364
>>> ord['∑']
8721
0>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
60Mở rộng các tab trong một chuỗi.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30 Thay thế từng ký tự tab [>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
07] 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:>>>
>>> ord['€']
8364
>>> ord['∑']
8721
1>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một tham số từ khóa tùy chọn Chỉ định các cột dừng thay thế:>>>
>>> ord['€']
8364
>>> ord['∑']
8721
2>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
64Bên trái thông số một chuỗi trong trường.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
34 Trả về một chuỗi bao gồm 2020 This is a string QWERTY16 Xử lý trái trong một trường có chiều rộng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25. Theo mặc định, phần đệm bao gồm ký tự không gian ASCII:>>>
>>> ord['€']
8364
>>> ord['∑']
8721
3Trims dẫn đầu các ký tự từ một chuỗi.
>>>
>>> ord['€']
8364
>>> ord['∑']
8721
4>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
7241 Trả về một bản sao của>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
2020 This is a string QWERTY16 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu trái:
Nếu đối số
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
43 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:>>>
>>> ord['€']
8364
>>> ord['∑']
8721
5Thay thế các lần xuất hiện của một chuỗi con trong một chuỗi.
>>>
>>> ord['€']
8364
>>> ord['∑']
8721
6Nếu
2020 This is a string QWERTY16 đã ít nhất là
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25, thì nó sẽ được trả lại không thay đổi:>>>
Mở rộng các tab trong một chuỗi.>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
30 Thay thế từng ký tự tab [>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
07] 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:>>>
>>> ord['€']
8364
>>> ord['∑']
8721
8>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
32 là một tham số từ khóa tùy chọn Chỉ định các cột dừng thay thế:
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
Bên trái thông số một chuỗi trong trường.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
34 Trả về một chuỗi bao gồm 2020 This is a string QWERTY16 Xử lý trái trong một trường có chiều rộng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
25. Theo mặc định, phần đệm bao gồm ký tự không gian ASCII: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.Trims dẫn đầu các ký tự từ một chuỗi.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
41 Trả về một bản sao của 2020 This is a string QWERTY16 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu trái:
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
83Nếu đối số
43 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:>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
83 Trả về chuỗi kết quả từ việc ghép các đối tượng trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 được phân tách bằng 2020 This is a string QWERTY16.
Lưu ý rằng
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
87 được gọi trên 2020 This is a string QWERTY16, chuỗi phân tách.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 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
2020 This is a string QWERTY16 là chuỗi
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
91 và >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 là danh sách các giá trị chuỗi:>>>
>>> ord['€']
8364
>>> ord['∑']
8721
9Kế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,
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 đượ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:>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
0Kế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,
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 đượ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:>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
1Kế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.
>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
2Kế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.
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
99Trong ví dụ tiếp theo,
85 đượ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:>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Do đó, kết quả của
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
94 là một chuỗi bao gồm mỗi ký tự trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
95 được phân tách bằng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
96.- Ví dụ này không thành công vì một trong các đối tượng trong
85 không phải là một chuỗi:>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
- Điều đó có thể được khắc phục, mặc dù:
- Như bạn sẽ thấy, nhiều đối tượng tổng hợp trong Python có thể được hiểu là lặp lại và
87 đặc biệt hữu ích cho việc tạo chuỗi từ chúng.>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Chia một chuỗi dựa trên dấu phân cách.
>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
3Kế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.
>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
4>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
12Trong ví dụ tiếp theo,
85 đượ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:>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Do đó, kết quả của
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
94 là một chuỗi bao gồm mỗi ký tự trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
95 được phân tách bằng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
96.>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
5>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
17Kế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,
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 đượ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:>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
6Kế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.
>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
7Kế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,
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 đượ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:>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
8Do đó, kết quả của
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
94 là một chuỗi bao gồm mỗi ký tự trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
95 được phân tách bằng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
96.>>>
>>> chr[97]
'a'
>>> chr[35]
'#'
9Ví dụ này không thành công vì một trong các đối tượng trong
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 không phải là một chuỗi:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax00
Điều đó có thể được khắc phục, mặc dù:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax01
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
32Kế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,
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
85 đượ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:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax02
Do đó, kết quả của
>>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
94 là một chuỗi bao gồm mỗi ký tự trong >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
95 được phân tách bằng >>> s = 'foo.'
>>> s * 4
'foo.foo.foo.foo.'
>>> 4 * s
'foo.foo.foo.foo.'
96.>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
40Ví dụ này không thành công vì một trong các đối tượng trong
85 không phải là một chuỗi:>>> s = 'foo.' >>> s * 4 'foo.foo.foo.foo.' >>> 4 * s 'foo.foo.foo.foo.'
Điều đó có thể được khắc phục, mặc dù:
99 chia tách 2020 This is a string QWERTY16 khi xuất hiện đầu tiên của chuỗi 02. Giá trị trả về là một bộ ba phần bao gồm: | Phần của 2020 This is a string QWERTY16 trước 02 |
02 chính nó | Phần của 2020 This is a string QWERTY16 sau 02 |
Dưới đây là một vài ví dụ về 08 trong hành động: | Nếu 02 không được tìm thấy trong 2020 This is a string QWERTY16, bộ tuple được trả lại chứa 2020 This is a string QWERTY16, sau đó là hai chuỗi trống: |
12 Các chức năng chính xác giống như 99, ngoại trừ 2020 This is a string QWERTY16 được chia vào lần xuất hiện cuối cùng của 02 thay vì lần đầu tiên xảy ra: | Chia một chuỗi vào một danh sách các chuỗi con. |
Không có các đối số, 18 chia 2020 This is a string QWERTY16 thành các chuỗi con được phân định bởi bất kỳ chuỗi khoảng trắng nào và trả về các chuỗi con như một danh sách: | Nếu 02 được chỉ định, nó được sử dụng làm dấu phân cách để tách: |
. | Khi 02 được đưa ra một cách rõ ràng như là một dấu phân cách, liên tiếp trong 2020 This is a string QWERTY16 được coi là phân định các chuỗi trống, sẽ được trả về: |
Đây không phải là trường hợp khi 02 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 27 đượ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 2020 This is a string QWERTY16: |
Giá trị mặc định cho 27 là 2020 This is a string QWERTY55, điều đó có nghĩa là tất cả các phân tách có thể được thực hiện, giống như nếu 27 bị bỏ qua hoàn toàn: | 33 hoạt động chính xác giống như 18, ngoại trừ nếu 27 được chỉ định, các phân tách được tính từ đầu trái của 2020 This is a string QWERTY16 thay vì đầu bên phải: |
Nếu 27 không được chỉ định, 38 và 39 không thể phân biệt được. | Phá vỡ một chuỗi ở ranh giới dòng. |
41 tách 2020 This is a string QWERTY16 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 | 43 |
Dòng mới
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax03
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
44>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax04
Vận chuyển trở lại
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax05
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
45
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
Vận chuyển trở lại + nguồn cấp dữ liệu dòng
Xác định một đối tượng 2020
This is a string QWERTY
08 theo nghĩa đen
Một chữ
2020 This is a string QWERTY08 được định nghĩa theo cách tương tự như một chuỗi theo nghĩa đen với việc thêm tiền tố
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
65:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax06
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:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax07
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:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax08
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:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax09
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
2020 This is a string QWERTY08. Bất kỳ giá trị ký tự nào lớn hơn
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
67 phải được chỉ định bằng cách sử dụng trình tự thoát thích hợp:>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
75Tiền tố
2020 This is a string QWERTY66 có thể được sử dụng trên2020 This is a string QWERTY08 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
2020 This is a string QWERTY08 với hàm
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
71 tích hợp>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax10
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
82Cũ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
2020 This is a string QWERTY08. Bất kỳ giá trị ký tự nào lớn hơn
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
67 phải được chỉ định bằng cách sử dụng trình tự thoát thích hợp:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax11
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
90Cũ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
2020 This is a string QWERTY08. Bất kỳ giá trị ký tự nào lớn hơn
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
67 phải được chỉ định bằng cách sử dụng trình tự thoát thích hợp:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax12
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
2020 This is a string QWERTY08. Bất kỳ giá trị ký tự nào lớn hơn
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
67 phải được chỉ định bằng cách sử dụng trình tự thoát thích hợp:Tiền tố
2020 This is a string QWERTY
66 có thể được sử dụng trên2020 This is a string QWERTY
08 nghĩa đen để vô hiệu hóa xử lý các chuỗi thoát, như với các chuỗi:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
13Xác định đối tượng
2020 This is a string QWERTY
08 với hàm
71 tích hợp>>> s = 'foo' >>> s in 'That\'s food for thought.' True >>> s in 'That\'s good for now.' False
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
14Hàm
71 cũng tạo ra một đối tượng>>> s = 'foo' >>> s in 'That\'s food for thought.' True >>> s in 'That\'s good for now.' False
2020 This is a string QWERTY
08. Loại đối tượng2020 This is a string QWERTY
08 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.>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
15Tạo một đối tượng
2020 This is a string QWERTY
08 từ một chuỗi.>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
16
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
75 Chuyển đổi chuỗi >>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
78 thành đối tượng 2020 This is a string QWERTY08, sử dụng
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
80 theo >>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
81 được chỉ định:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax17
Tạo một đối tượng
2020 This is a string QWERTY08 bao gồm null [
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
84] byte.>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax18
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
82 xác định đối tượng 2020 This is a string QWERTY08 của
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
87 được chỉ định, phải là một số nguyên dương. Đối tượng 2020 This is a string QWERTY08 kết quả được khởi tạo thành null [
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
84] byte:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax19
Tạo một đối tượng
2020 This is a string QWERTY08 từ một điều khác.
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
90 xác định một đối tượng 2020 This is a string QWERTY08 từ chuỗi số nguyên được tạo bởi
>>> 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.'
85 phải là một điều có thể tạo ra một chuỗi số nguyên 2020 This is a string QWERTY17 trong phạm vi
>>> s = 'foo'
>>> s in 'That\'s food for thought.'
True
>>> s in 'That\'s good for now.'
False
97:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax20
Hoạt động trên các đối tượng
2020 This is a string QWERTY08
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
15Giống như các chuỗi, các đối tượng
2020 This is a string QWERTY08 hỗ trợ các hoạt động trình tự chung:
Các toán tử
2020 This is a string QWERTY24 và
2020 This is a string QWERTY28:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax21
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
21Các toán tử nối [
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax31] và sao chép [File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax61]:
Lập chỉ mục và cắt lát:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax22
Chức năng tích hợp sẵn:
Nhiều phương thức được xác định cho các đối tượng chuỗi cũng hợp lệ cho các đối tượng
2020 This is a string QWERTY08:
Tuy nhiên, lưu ý rằng khi các toán tử và phương thức này được gọi trên đối tượng
2020 This is a string QWERTY
08, toán hạng và đối số cũng phải là đối tượng2020 This is a string QWERTY
08:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
23Mặc dù định nghĩa và biểu diễn đối tượng
2020 This is a string QWERTY
08 dựa trên văn bản ASCII, nhưng nó thực sự hoạt động giống như một chuỗi các số nguyên nhỏ bất biến trong phạm vi2020 This is a string QWERTY
52 đến
62, bao gồm. Đó là lý do tại sao một phần tử duy nhất từ đối tượng>>> s = 'foo' >>> s in 'That\'s food for thought.' True >>> s in 'That\'s good for now.' False
2020 This is a string QWERTY
08 được hiển thị dưới dạng số nguyên:>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax
24
Một lát cắt được hiển thị dưới dạng đối tượng
2020 This is a string QWERTY08, ngay cả khi nó chỉ dài một byte:
>>>
File "/home/3ae3b1299ee9c1c04566e45e98b13791.py", line 13 var@ = 12 ^ SyntaxError: invalid syntax25
Bạn có thể chuyển đổi đối tượng 2020
This is a string QWERTY
08 thành danh sách các số nguyên với hàm >>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
13 tích hợp:
>>> 'z' not in 'abc'
True
>>> 'z' not in 'xyz'
False
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
2020 This is a string QWERTY08 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.string handling, including string operators, built-in functions, indexing, slicing, and built-in methods. You also were introduced to the
2020 This is a string QWERTY08 and
2020 This is a string QWERTY09 types.
Trả về một đối tượng
2020 This is a string QWERTY08 được xây dựng từ một chuỗi các giá trị thập lục phân.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