Đối với tất cả các đối tượng Python tích hợp [như chuỗi, danh sách, ký tự, hàm, v.v. ], nếu x là y thì x==y cũng đúng
Không phải luôn luôn. NaN là một phản ví dụ. Nhưng thông thường, bản sắc [
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]7] ngụ ý bình đẳng [
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]8]. Chuyện này là không đúng sự thật. Hai đối tượng riêng biệt có thể có cùng giá trị
Ngoài ra, việc chỉ sử dụng '==' theo mặc định có được coi là tốt hơn không, ngay cả khi so sánh các giá trị int hoặc Boolean?
Bạn sử dụng
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]8 khi so sánh giá trị và
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]7 khi so sánh danh tính
Khi so sánh ints [hoặc các loại bất biến nói chung], bạn luôn muốn cái trước. Có một tối ưu hóa cho phép so sánh các số nguyên nhỏ với
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]7, nhưng đừng dựa vào nó
Đối với các giá trị boolean, bạn hoàn toàn không nên so sánh. Thay vì
if x == True:
# do something
viết
if x:
# do something
Để so sánh với
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]2,
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]3 được ưu tiên hơn
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]4
Tôi luôn thích sử dụng 'is' bởi vì tôi thấy nó đẹp hơn về mặt thẩm mỹ và phong cách Pythonic [đó là lý do tôi rơi vào cái bẫy này. ], nhưng tôi tự hỏi liệu nó có dự định chỉ được dành riêng khi bạn quan tâm đến việc tìm hai đối tượng có cùng id không
Trong bài viết này, chúng ta sẽ xem xét các cách khác nhau để thực hiện kiểm tra chuỗi bằng trong Python
So sánh chuỗi về cơ bản là so sánh hai chuỗi i. e. nó là thủ tục mà qua đó chúng ta kiểm tra sự bằng nhau của các chuỗi bằng cách so sánh các chuỗi theo từng ký tự
Kỹ thuật 1. Toán tử '==' trong Python để kiểm tra sự bằng nhau của hai chuỗi
Toán tử so sánh Python có thể được sử dụng để so sánh hai chuỗi và kiểm tra sự bằng nhau của chúng trong một
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]7 i. e. chữ hoa và chữ thường sẽ được xử lý khác nhauPython
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]8 so sánh chuỗi theo cách từng ký tự và trả về True nếu hai chuỗi bằng nhau, ngược lại, nó trả về Saicú pháp
string1 == string2Thí dụ
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]đầu ra
True FalseKỹ thuật 2. con trăn ‘. =' toán tử để so sánh chuỗi
con trăn ‘. Toán tử =’ cũng có thể được sử dụng để thực hiện kiểm tra chuỗi bằng trong python
The
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]9 so sánh hai chuỗi và trả về True nếu các chuỗi không bằng nhau, ngược lại, nó trả về Saicú pháp
________số 8
Thí dụ
str1 = "Python" str2 = "Python" str3 = "Java" if[str1 != str3]: print["str1 is not equal to str3"] if[str1 != str2]: print["str1 is not equal to str2"] else: print["str1 is equal to str2"]đầu ra
0if x: # do something
Kỹ thuật 3. Toán tử 'is' của Python để thực hiện kiểm tra chuỗi bằng trong python
Toán tử "is" trong Python có thể được sử dụng để kiểm tra hiệu quả sự bằng nhau của hai đối tượng chuỗi.
True False0 trả về True nếu hai biến trỏ đến cùng một đối tượng dữ liệu, ngược lại, nó trả về Falsecú pháp
2if x: # do something
Thí dụ
3if x: # do something
đầu ra
0if x: # do something
Kỹ thuật 4. Hàm __eq__[] để thực hiện kiểm tra chuỗi bằng trong python
Phương thức __eq__[] dựng sẵn trong Python có thể được sử dụng để so sánh hai đối tượng chuỗi. Phương thức ____61 về cơ bản so sánh hai đối tượng và trả về True nếu tìm thấy bằng nhau, nếu không, nó trả về False
cú pháp
6if x: # do something
Thí dụ
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]0đầu ra
0if x: # do something
Chuỗi bằng kiểm tra trong Python. so sánh không vỏ
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]2đầu ra
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]3Như đã thấy trong ví dụ trên, kết quả hóa ra là SAI, vì phép so sánh là
True False2Để có một so sánh chuỗi caseless, tôi. e. theo cách
True False3, thì chúng ta có thể sử dụng chuỗi Python. casefold[] chức năng để phục vụ mục đíchPhương thức
True False4 chuyển đổi chuỗi thành chữ thường ngay lập tứcTrong kịch bản so sánh chuỗi, chúng ta có thể chuyển cả hai chuỗi đầu vào cho hàm casefold[]. Do đó, cả hai chuỗi sẽ được chuyển đổi thành chữ thường và do đó, chúng ta có thể so sánh không phân biệt chữ hoa chữ thường
cú pháp
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]4ví dụ 2
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]5đầu ra
str1 = "Python" str2 = "Python" str3 = "Java" print[str1 == str2] print[str1 == str3]6Sự kết luận
Như vậy, trong bài viết này, chúng ta đã tìm hiểu các kỹ thuật so sánh String có hoa và không có hoa trong Python
Tôi có thể sử dụng == để so sánh các chuỗi trong Python không?
"==" là một phương pháp so sánh chuỗi python để kiểm tra xem cả hai giá trị của toán hạng có bằng nhau hay không . Toán tử này là phương pháp được sử dụng phổ biến nhất để kiểm tra đẳng thức trong python. Toán tử trả về True và False tương ứng.Bạn có thể sử dụng == để so sánh các chuỗi không?
Bạn không nên sử dụng == [toán tử đẳng thức] để so sánh các chuỗi này vì chúng so sánh tham chiếu của chuỗi, i. e. liệu chúng có phải là cùng một đối tượng hay không. Mặt khác, phương thức equals[] so sánh xem giá trị của các chuỗi có bằng nhau hay không và không phải chính đối tượng.== so sánh trong Python là gì?
Toán tử == so sánh giá trị hoặc đẳng thức của hai đối tượng , trong khi toán tử is của Python kiểm tra xem hai biến có trỏ đến cùng một đối tượng hay không . Trong phần lớn các trường hợp, điều này có nghĩa là bạn nên sử dụng các toán tử đẳng thức == và. = , trừ khi bạn đang so sánh với Không.