表面上的Python类属性和PHP静态类属性看起来功能相同(不包括PHP中添加公开/保护/私有可见性的能力)。
使用静态或属性:
我的问题是我是否有任何重大差异。
答案 0 :(得分:1)
当查找python实例以查找与类变量同名的属性时,它将提供类变量。
在PHP中......
class C
{
static $foo = 42;
}
$i = new C();
var_dump($i->foo); // null, plus a notice
在Python中......
class C:
foo = 42
i = C()
print(i.foo) # 42
更有趣......
class C:
foo = []
a = C()
b = C()
c = C()
a.foo = ['hello']
b.foo.append('world')
print(C.foo) # ['world']
print(a.foo) # ['hello']
print(b.foo) # ['world']
print(c.foo) # ['world']
换句话说,要非常小心Python中的类变量。