Groovy có một nhà điều hành tốt đẹp cho dereferencing an toàn, giúp tránh NullPointerExceptions:dereferencing an toàn bằng Python
variable?.method()
Các method
sẽ chỉ được gọi là, nếu không phải là variable
null
.
Có cách nào để thực hiện tương tự trong Python không? Hay tôi phải viết if variable: variable.method()
?
@deamon: trước hết tôi không biết Groovy và tôi không muốn tranh luận về những gì tôi không biết nhưng tính năng này (sau khi tôi đọc về nó ngay bây giờ) dường như không hữu ích cho tôi (và tôi có thể là sai và hầu hết thời gian tôi) bởi vì ngay cả khi tôi làm một cái gì đó như thế này __variable.?method()__ có chắc chắn nếu biến là NULL nó không nâng cao một lỗi nhưng làm thế nào tôi biết rằng phương pháp này được gọi, bởi vì nó nhìn tôi như một lỗi im lặng (thực ra tôi không bao giờ cần một cái gì đó như thế này trước đây) và nếu tôi làm một cái gì đó như thế này __a = variable.?method()__ vì vậy sau khi tôi nên làm __if (a) __ vậy ..., tôi có bỏ lỡ điều gì đó không :) – mouad
Tôi đồng ý với sự kỳ dị; Tôi không thấy điều này có thể hữu ích như thế nào. Nó trông giống như một cái gì đó bạn sẽ rắc trên mã của bạn để ẩn lỗi. – adw
@ Johnson Johnson: bạn có thể cụ thể hơn không, tôi đã nói điều gì đó sai và nếu đó là về tiếng Anh của tôi thì điều đó có tệ không? nó không phải là ngôn ngữ đầu tiên của tôi :) – mouad