Tôi muốn tạo ra một lớp mà không đưa ra một Attribute Error
theo yêu cầu của bất kỳ phương pháp mà có thể hoặc không thể tồn tại:Python: Cách chặn cuộc gọi phương thức không tồn tại?
lớp của tôi:
class magic_class:
...
# How to over-ride method calls
...
Dự kiến Output:
ob = magic_class()
ob.unknown_method()
# Prints 'unknown_method' was called
ob.unknown_method2()
# Prints 'unknown_method2' was called
Hiện tại, unknown_method
và unknown_method2
không thực sự tồn tại trong lớp học, nhưng cách thực hiện chúng ta chặn cuộc gọi phương thức trong python?
thể trùng lặp của [phương pháp Intercept gọi bằng Python] (http://stackoverflow.com/questions/2704434/intercept -method-calls-in-python) – jamylak
Lưu ý phụ FYI: PEP8 nói nó nên được đặt tên như 'class MagicClass:' và kiểu mới ít nhất phải thừa kế đối tượng có lẽ: 'class MagicClass (object):' – mVChr