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
2 là thực hành rất tệ. if csvfield == CSV_NONE:
csvfield = None
3 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
4 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
5Đ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 == CSV_NONE:
csvfield = None
6[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 == CSV_NONE:
csvfield = None
6 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 == CSV_NONE:
csvfield = None
8Đ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 == CSV_NONE:
csvfield = None
6 với một chuỗi khác so với if csvfield == CSV_NONE:
csvfield = None
3if 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 == CSV_NONE:
csvfield = None
6.Điều này là do nó kết hợp logic kinh doanh [giá trị CSV nên là
if csvfield == CSV_NONE:
csvfield = None
6] 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.
Chuỗi Python là chuỗi các ký tự Unicode. Một nhân vật chỉ đơn giản là một biểu tượng. Để tạo một chuỗi, hãy sử dụng các ký tự bên trong một trích dẫn duy nhất [phạm] hoặc các trình điều khiển kép [phạm vi].A character is simply a symbol. To create a string, use the characters inside a single quote[”] or double-quotes[“”].
Để tạo một chuỗi trống trong Python, khởi tạo một chuỗi không chứa ký tự. Điều này có nghĩa là gán cho các trò chơi cho một biến để khởi tạo một chuỗi trống.
empty_string = ""
Xem ví dụ sau.
empty_string = "" print[empty_string]
Đầu ra
python app.py
Và nó trả về một chuỗi trống. Bản thân str [] đặt giá trị tham số mặc định của phạm vi.
Đó là nó cho hướng dẫn này.
Làm thế nào để bạn điền vào một chuỗi trống trong Python?
Python str. Phương thức LJUST [LEGN, FILLCHAR] trả về một chuỗi được thay đổi bên trái bằng cách nối thêm các ký tự điền lên một độ dài nhất định. Mỗi mặc định, Fillchar được đặt thành không gian trống, vì vậy str.ljust [n] tạo ra một chuỗi mới bằng cách nối thêm các khoảng trống lên đến chiều dài n.
empty_string = "" print[len[empty_string]]
Đầu ra
0
Và nó trả về một chuỗi trống. Bản thân str [] đặt giá trị tham số mặc định của phạm vi.
Đó là nó cho hướng dẫn này.falsy“, which means they are considered False in a Boolean context.
Làm thế nào để bạn điền vào một chuỗi trống trong Python?
Python str. Phương thức LJUST [LEGN, FILLCHAR] trả về một chuỗi được thay đổi bên trái bằng cách nối thêm các ký tự điền lên một độ dài nhất định. Mỗi mặc định, Fillchar được đặt thành không gian trống, vì vậy str.ljust [n] tạo ra một chuỗi mới bằng cách nối thêm các khoảng trống lên đến chiều dài n.
empty_string = "" print["Check if the string is empty : ", end=""] if[not empty_string]: print["The string is empty"] else: print["No it is not empty"]
Đầu ra
Check if the string is empty : The string is empty
Và nó trả về một chuỗi trống. Bản thân str [] đặt giá trị tham số mặc định của phạm vi.space in the String. So that is why it returns as empty.
Đó là nó cho hướng dẫn này.False or True in a Boolean context if they are empty or not. They are not equal to False or True.
Làm thế nào để bạn điền vào một chuỗi trống trong Python?
Không có trong Python có không phải là không. Không có gì được sử dụng để chỉ ra không phải là đặt.
Các trò chơi trực tuyến chỉ ra một giá trị mặc định của người Viking.“” indicates a “default” value.
Nếu bạn muốn khởi tạo các chuỗi trống và thích nó như một giá trị mặc định, hãy sử dụng các loại trực tuyến.“”.
Nếu bạn muốn kiểm tra xem biến có được đặt không, không sử dụng.None.
Có một cách khác để tạo một chuỗi trống.
if csvfield == CSV_NONE:
csvfield = None
0Đầu ra
if csvfield == CSV_NONE:
csvfield = None
1Và nó trả về một chuỗi trống. Bản thân str [] đặt giá trị tham số mặc định của phạm vi.
Đó là nó cho hướng dẫn này.