魔术方法----php与python

2023-07-08 16:09:58 浏览数 (1)

简介

在很多脚本类语言中都是有魔术方法的,就比如php、python。虽然之前也知道,但是并不是专业的所以并不了解。 在typecho插件开发过程中又用到魔术方法,故将常用的魔术方法记录于此。

详解

php魔术方法

__construct()

类的构造方法,在创建对象时自动调用。

__destruct()

类的析构方法,在对象即将被销毁时自动调用。

__get($property)

获取类中不存在或不可访问属性时自动调用。

__set($property, $value)

给类中不存在或不可访问属性赋值时自动调用。

__isset($property)

当对不可访问属性使用 isset() 或 empty() 函数时自动调用。

__unset($property)

当对不可访问属性使用 unset() 函数时自动调用。

__call($method, $arguments)

调用类中不存在或不可访问方法时自动调用。

__toString()

将对象作为字符串使用时自动调用。

__clone()

对象复制时自动调用。

python魔术方法

__init__(self, ...)

类的构造方法,在创建对象时自动调用。

__del__(self)

对象被销毁时自动调用的析构方法。

__str__(self)

将对象转换为字符串时自动调用。

__repr__(self)

返回对象的字符串表示形式,主要用于调试目的。

__len__(self)

返回对象的长度。

__getitem__(self, key)

获取指定键值的元素。

__setitem__(self, key, value)

设置指定键值的元素。

__delitem__(self, key)

删除指定键值的元素。

__iter__(self)

返回一个可迭代对象,用于在循环中迭代。

__next__(self)

在迭代器中返回下一个元素。

__contains__(self, item)

判断某个元素是否存在于对象中。

__call__(self, ...)

当对象被调用时触发,使对象可像函数一样使用。

0 人点赞