Python magic methodPython magic method is defined as the special method which adds “magic” to a class. It starts and ends with double underscores, for example, _init_ or _str_. The built-in classes define many magic methods. The dir() function can be used to see the number of magic methods inherited by a class. It has two prefixes, and suffix underscores in the method name. It is most frequently used to define the overloaded behaviors of predefined operators. __init__ The _init_ method is called after the instance of the class has been created but before it returned to the caller. It is invoked without any call, when an instance of the class is created like constructors in other programming languages such as C++, Java, C#, PHP, etc. These methods are also known as initialize and are called after _new_. Its where you should initialize the instance variables. __str__ This function computes “informal” or a nicely printable string representation of an object and must return a string object. __repr__ This function is called by the repr() built-in function to compute the “official” string representation of an object and returns a machine-readable representation of a type. The goal of the _repr_ is to be unambiguous. __len__ This function should return the length of an object. __call__ We can make an object callable by adding the _call_ magic method, and it is another method that is not needed quite as often is _call_. If defined in a class, then that class can be called. But if it was a function, instance itself rather than modifying. __del__ Just as _init_, which is a constructor method, _del_ is like a destructor. If you have opened a file in _init _, then _del_ can close it. __bytes__ It offers to compute a byte-string representation of an object and should return a string object. __ge__ This method gets invoked when >= operator is used and returns True or False. __neg__ This function gets called for the unary operator. __ipow__ This function gets called on the exponents with arguments. e.g. a**=b. __le__ This function gets called on comparison using <= operator. _nonzero_ This function returns the Boolean value of the object. It gets invoked when the bool (self) function is called. |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/263666.html