Hướng dẫn how do i check if a string is not in python? - làm cách nào để kiểm tra xem một chuỗi không có trong python?

Tôi thấy mã hóa cứng (sic) "" Mỗi lần kiểm tra một chuỗi trống không tốt.

Phương pháp tiếp cận mã sạch

Làm điều này:

if csvfield == CSV_NONE:
    csvfield = None
6 là thực hành rất tệ.
if csvfield == CSV_NONE:
    csvfield = None
7 là một giá trị kỳ diệu. Bạn không bao giờ nên kiểm tra chống lại các giá trị ma thuật (thường được gọi là số ma thuật)

Những gì bạn nên làm là so sánh với một tên biến mô tả.

Tên biến mô tả

Người ta có thể nghĩ rằng "trống_string" là một tên biến mô tả. Nó không phải là.It isn't.

Trước khi bạn đi và làm

if csvfield == CSV_NONE:
    csvfield = None
8 và nghĩ rằng bạn có một tên biến tuyệt vời để so sánh với. Đây không phải là những gì "Tên biến mô tả" có nghĩa là.

Một tên biến mô tả tốt dựa trên bối cảnh của nó. Bạn phải suy nghĩ về chuỗi trống là gì.is.

  • Nó đến từ đâu.
  • Tại sao nó ở đó.
  • Tại sao bạn cần kiểm tra nó.

Ví dụ trường mẫu đơn giản

Bạn đang xây dựng một biểu mẫu nơi người dùng có thể nhập các giá trị. Bạn muốn kiểm tra xem người dùng có viết gì đó hay không.

Một tên biến tốt có thể là

if csvfield == CSV_NONE:
    csvfield = None
9

Điều này làm cho mã rất dễ đọc

if formfields.name == not_filled_in:
    raise ValueError("We need your name")

Ví dụ phân tích cú pháp CSV kỹ lưỡng

Bạn đang phân tích các tệp CSV và muốn chuỗi trống được phân tích cú pháp là

if csvfield == EMPTY_STRING:
    csvfield = None
0

(Vì CSV hoàn toàn dựa trên văn bản, nên nó không thể biểu thị

if csvfield == EMPTY_STRING:
    csvfield = None
0 mà không sử dụng từ khóa được xác định trước)

Một tên biến tốt có thể là

if csvfield == EMPTY_STRING:
    csvfield = None
2

Điều này làm cho mã dễ dàng thay đổi và điều chỉnh nếu bạn có tệp CSV mới đại diện cho

if csvfield == EMPTY_STRING:
    csvfield = None
0 với một chuỗi khác so với
if csvfield == CSV_NONE:
    csvfield = None
7

if csvfield == CSV_NONE:
    csvfield = None

Không có câu hỏi về việc nếu đoạn mã này là chính xác. Rõ ràng là nó làm những gì nó nên làm.

So sánh điều này với

if csvfield == EMPTY_STRING:
    csvfield = None

Câu hỏi đầu tiên ở đây là, tại sao chuỗi trống xứng đáng được đối xử đặc biệt?

Điều này sẽ nói với các lập trình viên tương lai rằng một chuỗi trống phải luôn luôn được coi là

if csvfield == EMPTY_STRING:
    csvfield = None
0.

Điều này là do nó kết hợp logic kinh doanh (giá trị CSV nên là

if csvfield == EMPTY_STRING:
    csvfield = None
0) với việc triển khai mã (chúng ta thực sự so sánh với điều gì)

Cần phải có một sự tách biệt của mối quan tâm giữa hai người.

Kiểu dữ liệu chuỗi trong Python là bất biến; Điều đó có nghĩa là bạn không thể thay đổi một chuỗi một lần được xác định. Một chuỗi có khoảng trắng là một chuỗi trống nhưng có kích thước khác không. Vì vậy, khi bạn kiểm tra chuỗi trống với len () & nbsp; hoặc & nbsp; không phải & nbsp; toán tử, nó sẽ tính không gian như một ký tự trong chuỗi, và do đó nó đã giành được một chuỗi có một chuỗi với một chuỗi trống.len() or not operator, it counts space as a character in the string, and hence it won’t count a string with space as an empty string.

Toán tử không trong Python kiểm tra chuỗi chỉ với khoảng trống là không trống, thực tế không nên đúng.not operator in Python checks the string with just spaces to be non-empty, which should not practically be True.

Check if the strA is empty : The string is empty

Chuỗi trống và một điều cần lưu ý là chúng tôi thậm chí không đặt khoảng trống vào chuỗi. Đó là lý do tại sao nó trở lại như trống rỗng. Mặt khác, nếu chúng ta đặt một khoảng trống vào chuỗi, nó sẽ không được tính là trống và người không vận hành & nbsp; return & nbsp; false.space in the string. That is why it returns as empty. On the other hand, if we put a space in the string, it will not count as empty, and the not operator returns False.

# app.py

strA = " "

# checking if string with space is empty
print("Check if the strA with space is empty : ", end="")
if(not strA):
    print("The string is empty")
else:
    print("No it is not empty")

Đầu ra

Check if the strA with space is empty : No it is not empty

Sử dụng hàm len ()

Để kiểm tra một chuỗi trống trong Python, hãy sử dụng hàm Len (); Nếu nó trả về 0, điều đó có nghĩa là chuỗi trống; Nếu không, nó không phải là.

Vì vậy, nếu chuỗi có một cái gì đó, nó sẽ được tính là một chuỗi không trống; Nếu không, nó là một chuỗi trống.

strA = ""

# checking if string with space is empty
print("Check if the string is empty : ", end="")
if(len(strA)):
    print("The string is not empty")
else:
    print("The string is empty")

Đầu ra

Check if the string is empty : The string is empty

Ở đây, nếu điều kiện trở thành sai & nbsp; vì nó trả về 0, điều đó có nghĩa là điều kiện khác trở thành đúng và chuỗi trống.False because it returns 0, that means else condition becomes True, and the string is empty.

Nếu chuỗi chứa khoảng trắng, nó không được tính là một chuỗi trống.

strA = " "

# checking if string with space is empty
print("Check if the string is empty : ", end="")
if(len(strA)):
    print("The string is not empty")
else:
    print("The string is empty")

Đầu ra

Check if the string is empty : The string is not empty

Không gian trong chuỗi được tính là một ký tự. Đó là lý do tại sao khi bạn kiểm tra trống, nó trả về sai.False.

Sử dụng Len () + String.Strip ()

Để kiểm tra một chuỗi trống thuần túy trong python, hãy sử dụng phương thức Len () + String.Strip (). Phương thức chuỗi.Strip () loại bỏ khoảng trắng khỏi chuỗi. Vì vậy, nếu nó chứa bất kỳ không gian nào, hàm dải () sẽ xóa và kiểm tra xem chuỗi có trống hoặc không sử dụng hàm Len ().string.strip() method. The string.strip() method removes the whitespace from the string. So if it contains any space, the strip() function removes and checks if the string is empty or not using the len() function.

if csvfield == CSV_NONE:
    csvfield = None
0

Đầu ra

Check if the string is empty : The string is empty

Ở đây, cho dù bạn sẽ thêm bao nhiêu khoảng trắng vào chuỗi, nó sẽ dải tất cả các không gian và kiểm tra độ dài của chuỗi và nếu nó trả về 0, điều đó có nghĩa là chuỗi trống; Nếu không, không.

if csvfield == CSV_NONE:
    csvfield = None
2

Đầu ra

Check if the string is empty : The string is not empty

Trong ví dụ này, bạn có thể thấy rằng chuỗi không trống vì nó có một số ký tự nhất định. Vì vậy, phương thức Len () trả về độ dài của chuỗi và nếu điều kiện trả về đúng.True.

Sử dụng không + String.isspace ()

Chức năng chuỗi.isspace () kiểm tra xem chuỗi có chứa bất kỳ không gian nào hay không. Nếu chuỗi chứa bất kỳ không gian, thì nó sẽ trả về true. Nếu không, nó trả về sai.True. Otherwise, it returns False.

Chúng tôi sử dụng kết hợp & nbsp; chuỗi & nbsp; và & nbsp; không phải chuỗi.isspace () & nbsp; phương thức để kiểm tra xem chuỗi có trống hay không bất kể không gian.string and not string.isspace() method to check if the string is empty or not regardless of the space.

Phương thức này hiệu quả hơn phương thức dải () vì nó yêu cầu thực hiện hoạt động dải, cần thời gian tải tính toán nếu chuỗi chứa nhiều khoảng trống.

if csvfield == CSV_NONE:
    csvfield = None
4

Đầu ra

Check if the string is empty : The string is empty

Ở đây, chúng tôi đang kiểm tra điều kiện tiêu cực của hàm ISSpace () với & nbsp; và toán tử. & Nbsp;isspace() function with and operator. 

Nếu một trong các điều kiện trở thành sai, thì do một nhà điều hành và một nhà điều hành nếu điều kiện trở lại sai, điều kiện & nbsp; điều kiện sẽ được thực thi.False, then due to an “and operator” if condition returns False, the condition will be executed.

Đây là cách tốt hơn để kiểm tra một chuỗi trống tinh khiết trong Python.

Đó là nó cho hướng dẫn này.

Xem thêm

Cách cắt khoảng trắng từ một chuỗi

Chuỗi python startswith ()

Chuỗi python endswith ()

Làm cách nào để xác minh một chuỗi trong Python?

Trong chương trình Python, chúng ta có thể kiểm tra xem các chuỗi có bằng hay không sử dụng hàm ==, hay bằng cách sử dụng chức năng .__ EQ__ EQ__. Ví dụ: S1 = 'String' S2 = 'String' S3 = 'String' # Case Sensitive bằng kiểm tra nếu S1 == S2: In ('S1 và S2 bằng nhau.using the “==” or by using the “. __eq__” function. Example: s1 = 'String' s2 = 'String' s3 = 'string' # case sensitive equals check if s1 == s2: print('s1 and s2 are equal.

Làm thế nào để bạn biết nếu một chuỗi không phải là không?

Phương pháp số 1: Sử dụng len () sử dụng len () là phương pháp chung nhất để kiểm tra chuỗi có độ dài bằng không.Mặc dù nó bỏ qua thực tế là một chuỗi chỉ có khoảng trắng cũng nên được coi là chuỗi trống ngay cả không có số 0 của nó.Using len() Using len() is the most generic method to check for zero-length string. Even though it ignores the fact that a string with just spaces also should be practically considered as empty string even its non zero.

Làm thế nào để bạn kiểm tra xem một biến có phải là chuỗi hay không?

Hàm is_String () kiểm tra xem một biến có thuộc loại loại hay không.Hàm này trả về true (1) nếu biến thuộc loại loại, nếu không nó sẽ trả về sai/không có gì.is_string() function checks whether a variable is of type string or not. This function returns true (1) if the variable is of type string, otherwise it returns false/nothing.

Làm thế nào để bạn kiểm tra xem một giá trị có trong một chuỗi trong Python không?

Sử dụng phương thức chuỗi isDigit () để kiểm tra đầu vào của người dùng là số hoặc chuỗi.Lưu ý: Hàm isDigit () sẽ chỉ hoạt động cho các số nguyên dương.tức là, nếu bạn vượt qua bất kỳ số float nào, nó sẽ không hoạt động.Vì vậy, tốt hơn là sử dụng phương pháp đầu tiên. to check user input is number or string. Note: The isdigit() function will work only for positive integer numbers. i.e., if you pass any float number, it will not work. So, It is better to use the first approach.