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使用基於類的繼承而不是基於原型的繼承。 –