Hướng dẫn how do you check if a variable is of a certain type in python? - làm cách nào để kiểm tra xem một biến có thuộc một loại nào đó trong python không?
Câu trả lời được chấp nhận trả lời câu hỏi trong đó nó cung cấp câu trả lời cho các câu hỏi đã hỏi. Show
Tuy nhiên, vì các câu trả lời và bình luận khác nhanh chóng chỉ ra, có rất nhiều ý tưởng về "kiểm tra loại" so với trong Python. Kể từ khi bổ sung Python 3 và gợi ý loại, nhiều điều cũng đã thay đổi. Dưới đây, tôi đi qua một số khó khăn với việc kiểm tra loại, gõ vịt và xử lý ngoại lệ. Đối với những người nghĩ rằng kiểm tra loại không phải là những gì cần thiết (thường thì không, nhưng chúng tôi ở đây), tôi cũng chỉ ra cách sử dụng gợi ý loại. Kiểu kiểm traKiểm tra loại không phải lúc nào cũng là một điều thích hợp để làm trong Python. Xem xét ví dụ sau:
Để kiểm tra xem đầu vào có phải là một số nguyên không, chúng tôi gặp phải một vấn đề lớn. Cách duy nhất để kiểm tra xem mọi phần tử là số nguyên sẽ là lặp qua để kiểm tra từng phần tử. Nhưng nếu chúng ta lặp qua toàn bộ trình lặp, thì sẽ không còn gì cho mã dự định. Chúng tôi có hai lựa chọn trong loại tình huống này.
Tùy chọn 1 có nhược điểm của việc làm phức tạp mã của chúng tôi, đặc biệt nếu chúng tôi cần thực hiện kiểm tra tương tự ở nhiều nơi. Nó buộc chúng tôi phải di chuyển kiểm tra loại từ đầu hàm sang mọi nơi chúng tôi sử dụng có thể sử dụng được trong mã của chúng tôi. Tùy chọn 2 có nhược điểm rõ ràng là nó phá hủy toàn bộ mục đích của người lặp. Toàn bộ điểm là không lưu trữ dữ liệu vì chúng ta không cần phải. Người ta cũng có thể nghĩ rằng việc kiểm tra xem việc kiểm tra tất cả các yếu tố là quá nhiều thì có lẽ chúng ta chỉ có thể kiểm tra xem bản thân đầu vào có phải là loại không thể sử dụng được hay không, nhưng thực sự không có lớp cơ sở nào. Bất kỳ loại thực hiện Xử lý ngoại lệ và gõ vịtMột cách tiếp cận khác sẽ là từ bỏ kiểm tra loại hoàn toàn và tập trung vào xử lý ngoại lệ và gõ vịt thay thế. Điều đó có nghĩa là, bọc mã của bạn trong một khối Excet thử và bắt bất kỳ lỗi nào xảy ra. Ngoài ra, đừng làm bất cứ điều gì và để các ngoại lệ tăng tự nhiên từ mã của bạn. Đây là một cách để bắt gặp một ngoại lệ.
So với các tùy chọn trước đây, điều này chắc chắn là tốt hơn. Chúng tôi đang kiểm tra khi chúng tôi chạy mã. Nếu có Hơn nữa, phương pháp này cho phép gõ vịt. Thay vì kiểm tra 0).Tuy nhiên, những lý do chính xác làm cho việc xử lý ngoại lệ tốt đẹp cũng có thể là sự sụp đổ của họ.
Lúc đầu, những điều này có vẻ không giống như vấn đề, nhưng đây là một số lý do có thể thay đổi suy nghĩ của bạn.
Để khắc phục xử lý ngoại lệ để đáp ứng với các điểm trên, mã của chúng tôi sau đó sẽ trở thành ... abomination.
Bạn có thể thấy nơi này sẽ đi. Chúng ta càng cố gắng "kiểm tra" đúng cách, mã của chúng ta càng tệ hơn. So với mã gốc, điều này không thể đọc được chút nào. Chúng ta có thể tranh luận có lẽ đây là một chút cực đoan. Nhưng mặt khác, đây chỉ là một ví dụ rất đơn giản. Trong thực tế, mã của bạn có lẽ phức tạp hơn nhiều so với điều này. Loại gợi ýChúng tôi đã thấy những gì xảy ra khi chúng tôi cố gắng sửa đổi ví dụ nhỏ của mình để "Kích hoạt kiểm tra loại". Thay vì tập trung vào việc cố gắng buộc các loại cụ thể, loại gợi ý cho phép một cách để làm cho các loại rõ ràng cho người dùng.
Dưới đây là một số lợi thế để sử dụng các loại phụ kiện.
Nhược điểm để loại gợi ý?
Nói cách khác, nó không thực sự trả lời câu hỏi vì nó không cung cấp kiểm tra loại. Tuy nhiên, bất kể, nếu bạn ở đây để kiểm tra loại, thì bạn cũng nên gõ gợi ý. Tất nhiên, nếu bạn đi đến kết luận rằng việc kiểm tra loại không thực sự cần thiết nhưng bạn muốn một số ngữ nghĩa của việc gõ, thì các gợi ý loại là dành cho bạn. Kiểm tra () làm gì trong Python?Đây là cách đơn giản nhất để kiểm tra sự tồn tại của phần tử trong danh sách. Python là cách thông thường nhất để kiểm tra xem một yếu tố có tồn tại trong danh sách hay không. Cách cụ thể này trả về đúng nếu một phần tử tồn tại trong danh sách và sai nếu phần tử không tồn tại trong danh sách.returns True if an element exists in the list and False if the element does not exist in the list.
Làm thế nào tôi có thể kiểm tra xem một giá trị là loại python số nguyên?Sử dụng isInstance () để kiểm tra xem một biến có phải là một cuộc gọi số nguyên (biến, int) để trả về giá trị boolean cho biết liệu biến có thuộc loại int hay không. to check if a variable is an integer
Call isinstance(variable, int) to return a boolean value indicating whether variable is of type int . |