Lớp Chuỗi Python có chức năng
s contains a = True
s contains A = False
s contains X = False
8 mà chúng ta có thể sử dụng để kiểm tra xem nó có chứa chuỗi khác hay không.Chuỗi Python chứa
Chuỗi Python
s contains a = True
s contains A = False
s contains X = False
8 là một phương thức thể hiện và trả về giá trị boolean true hay sai tùy thuộc vào việc đối tượng chuỗi có chứa đối tượng chuỗi được chỉ định hay không. Lưu ý rằng chuỗi Python chứa phương thức [] là trường hợp nhạy cảm. Hãy cùng xem một ví dụ đơn giản cho chuỗi __Contains __ [] phương thức.s = 'abc'
print['s contains a =', s.__contains__['a']]
print['s contains A =', s.__contains__['A']]
print['s contains X =', s.__contains__['X']]
Output:
s contains a = True
s contains A = False
s contains X = False
Chúng ta cũng có thể sử dụng chức năng __Contains __ [] như phương thức lớp str.
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
Output:
True
False
Hãy cùng xem xét một ví dụ khác, nơi chúng tôi sẽ yêu cầu người dùng nhập cả hai chuỗi và kiểm tra xem chuỗi thứ nhất có chứa chuỗi thứ hai hay không.
input_str1 = input['Please enter first input string\n']
input_str2 = input['Please enter second input string\n']
print['First Input String Contains Second String? ', input_str1.__contains__[input_str2]]
Đầu ra: Vui lòng nhập Chuỗi đầu vào đầu tiên Tạp chí Có đẹp, vui lòng nhập chuỗi đầu vào thứ hai Dev Chuỗi đầu vào đầu tiên chứa chuỗi thứ hai không? ĐÚNG VẬY
Bạn có thể kiểm tra thêm các ví dụ chuỗi Python từ kho GitHub của chúng tôi.
Python có một chuỗi chứa phương thức phụ không?
99% trường hợp sử dụng sẽ được đề cập bằng từ khóa,
0, trả về print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
1 hoặc print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
2: of use cases will be covered using the keyword, print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0, which returns print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
1 or print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
2:'substring' in any_string
Đối với trường hợp sử dụng nhận chỉ mục, hãy sử dụng
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
3 [trả về -1 về thất bại và có các đối số vị trí tùy chọn]:start = 0
stop = len[any_string]
any_string.find['substring', start, stop]
hoặc
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
4 [như print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
5 nhưng làm tăng giá trị khi sử dụng thất bại]:start = 100
end = 1000
any_string.index['substring', start, end]
Giải trình
Sử dụng toán tử so sánh
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0 vì- ngôn ngữ dự định sử dụng nó và
- Các lập trình viên Python khác sẽ mong đợi bạn sử dụng nó.
>>> 'foo' in '**foo**'
True
Điều ngược lại [bổ sung], mà câu hỏi ban đầu đã yêu cầu, là
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
7:>>> 'foo' not in '**foo**' # returns False
False
Điều này về mặt ngữ nghĩa giống như
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
8 nhưng nó dễ đọc hơn và được cung cấp rõ ràng hơn trong ngôn ngữ như là một cải tiến khả năng đọc.Tránh sử dụng print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
9
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
Phương pháp "Chứa" thực hiện hành vi cho
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0. Ví dụ này,s contains a = True
s contains A = False
s contains X = False
0trả về
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
1. Bạn cũng có thể gọi chức năng này từ thể hiện của SuperString:s contains a = True
s contains A = False
s contains X = False
1Nhưng đừng. Các phương pháp bắt đầu với dấu gạch dưới được coi là không công khai về ngữ nghĩa. Lý do duy nhất để sử dụng điều này là khi thực hiện hoặc mở rộng chức năng
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0 và print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
7 [ví dụ: nếu phân lớp con True
False
4]:s contains a = True
s contains A = False
s contains X = False
2và bây giờ:
s contains a = True
s contains A = False
s contains X = False
3Không sử dụng print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
5 và True
False
6 để kiểm tra "chứa"
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
True
False
Không sử dụng các phương thức chuỗi sau để kiểm tra "chứa":
s contains a = True
s contains A = False
s contains X = False
4Các ngôn ngữ khác có thể không có phương pháp để kiểm tra trực tiếp cho các chất nền, và do đó bạn sẽ phải sử dụng các loại phương thức này, nhưng với Python, việc sử dụng toán tử so sánh
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0 sẽ hiệu quả hơn nhiều.Ngoài ra, đây không phải là sự thay thế thả vào cho
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0. Bạn có thể phải xử lý các trường hợp ngoại lệ hoặc True
False
9 và nếu họ trả lại input_str1 = input['Please enter first input string\n']
input_str2 = input['Please enter second input string\n']
print['First Input String Contains Second String? ', input_str1.__contains__[input_str2]]
0 [vì họ đã tìm thấy chất nền lúc đầu], cách giải thích boolean là print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
2 thay vì print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
1.Nếu bạn thực sự có nghĩa là
input_str1 = input['Please enter first input string\n']
input_str2 = input['Please enter second input string\n']
print['First Input String Contains Second String? ', input_str1.__contains__[input_str2]]
3 thì hãy nói nó.So sánh hiệu suất
Chúng ta có thể so sánh nhiều cách khác nhau để hoàn thành cùng một mục tiêu.
s contains a = True
s contains A = False
s contains X = False
5Và bây giờ chúng ta thấy rằng sử dụng
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0 nhanh hơn nhiều so với những người khác. Ít thời gian hơn để thực hiện một hoạt động tương đương là tốt hơn:s contains a = True
s contains A = False
s contains X = False
6Làm thế nào print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0 có thể nhanh hơn print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
9 nếu print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
0 sử dụng print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
9?
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
print[str.__contains__['ABC', 'A']]
print[str.__contains__['ABC', 'D']]
Đây là một câu hỏi tiếp theo tốt.
Chúng ta hãy tháo rời các chức năng với các phương pháp quan tâm:
s contains a = True
s contains A = False
s contains X = False
7Vì vậy, chúng tôi thấy rằng phương pháp
input_str1 = input['Please enter first input string\n']
input_str2 = input['Please enter second input string\n']
print['First Input String Contains Second String? ', input_str1.__contains__[input_str2]]
9 phải được tra cứu riêng và sau đó được gọi từ máy ảo Python - điều này sẽ giải thích đầy đủ sự khác biệt.