在Python的世界里,类就像是一个神奇的“魔法工厂”,可以创造出各种各样的“魔法道具”(对象)。这些“魔法道具”不仅可以存储数据,还可以通过方法(魔法咒语)来改变自己的状态。接下来,让我们一起探索Python的“魔法工厂”,看看它是如何创造出这些神奇的“魔法道具”的!
9.1 关于名字和对象:魔法道具的标识
在Python的世界里,每个对象都有自己的身份,就像每个“魔法道具”都有自己的名字一样。你可以用多个名字来引用同一个对象,这在其他语言中被称为“别名”。对于不可变的基本类型(如数字、字符串、元组),别名通常不会引起问题。但对于可变对象(如列表、字典),别名可能会带来一些有趣的效果。
例如,当你传递一个对象时,Python只会传递一个指向该对象的“指针”,这意味着如果你在函数中修改了这个对象,调用者也会看到这个变化。这种行为在某些情况下非常有用,因为它避免了需要两种不同的参数传递机制。
9.2 Python的作用域和命名空间:魔法工厂的规则
在介绍类之前,我们需要先了解Python的作用域和命名空间的规则。类的定义在命名空间中玩了一些巧妙的把戏,