JavaScript的Object.create()功能的Python等价物是什么?等效于Python的Object.create()
例如,在JS这是可能的:
var s = { 'pots': 5, 'cups': 2 };
var t = Object.create(s);
console.log(t['pots']); // 5
t['pots'] = 9000;
console.log(t['pots']); // 9000
console.log(t['__proto__']['pots']); // 5, unchanged
s['pots'] = 33;
console.log(t['pots']); // 9000, unchanged
console.log(t['__proto__']['pots']); // 33
我能想到的最接近的是使用copy:
s = { 'pots': 5, 'cups': 2 }
t = copy.copy(s)
它的工作原理,但它似乎很浪费,以创建一个新的每次我想要继承它的属性时引用对象的副本。
另外我正在使用上面看到的类型的简单对象...不是类实例。
“简单对象”和类实例之间没有区别 - 所有对象的行为方式都是相同的。 Python使用基于类的继承而不是基于原型的继承。 –