Skip to content

Latest commit

 

History

History
56 lines (45 loc) · 2.76 KB

File metadata and controls

56 lines (45 loc) · 2.76 KB

Phpy 操作符映射列表

该文档整理了 Phpy 扩展中 PHP 运算符与 Python 运算符及 Python 特殊方法之间的映射关系。

算术运算符

PHP 运算符 Python 运算符 Python 特殊方法 说明
+ 加法 __add__ 两个 Python 对象相加
- 减法 __sub__ Python 对象相减
* 乘法 __mul__ Python 对象相乘
/ 除法 __floordiv__ Python 对象地板除
% 取模 __mod__ Python 对象取余
** 幂运算 __pow__ Python 对象幂运算

位运算符

PHP 运算符 Python 运算符 Python 特殊方法 说明
<< 左移 __lshift__ Python 对象左移
>> 右移 __rshift__ Python 对象右移
& 按位与 __and__ Python 对象按位与
| 按位或 __or__ Python 对象按位或
^ 按位异或 __xor__ Python 对象按位异或
~ 按位取反 __invert__ Python 对象按位取反

比较运算符

PHP 运算符 Python 运算符 Python 特殊方法 说明
== 等于 __eq__ Python 对象相等比较
!= 不等于 __ne__ Python 对象不等比较
< 小于 __lt__ Python 对象小于比较
<= 小于等于 __le__ Python 对象小于等于比较

赋值运算符

PHP 运算符 Python 运算符 Python 特殊方法 说明
+= 原地加法 __iadd__ Python 对象原地加法
-= 原地减法 __isub__ Python 对象原地减法
*= 原地乘法 __imul__ Python 对象原地乘法
/= 原地除法 __ifloordiv__ Python 对象原地地板除
%= 原地取模 __imod__ Python 对象原地取余
**= 原地幂运算 __ipow__ Python 对象原地幂运算
<<= 原地左移 __ilshift__ Python 对象原地左移
>>= 原地右移 __irshift__ Python 对象原地右移
&= 原地按位与 __iand__ Python 对象原地按位与
|= 原地按位或 __ior__ Python 对象原地按位或
^= 原地按位异或 __ixor__ Python 对象原地按位异或

说明

  • 原地操作: 赋值运算符(如 +=, -=, *=, 等)对应 Python 的原地修改方法(__iadd__, __isub__, __imul__, 等)
  • 字符串连接: 当遇到字符串连接操作时会输出警告信息,因为 Python 对象不支持字符串连接操作
  • 类型检查: 只有当操作数是 Python 对象时才会使用这些特殊方法,否则使用 PHP 的默认处理方式