MST

星途 面试题库

面试题:Python类属性默认值设定基础问题

在Python中,定义一个类`Person`,类中有一个类属性`country`,默认值为'China',请写出该类的定义代码,并解释类属性默认值在类的不同实例间是如何共享或区分的。
19.2万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
class Person:
    country = 'China'

类属性country的默认值在类的不同实例间是共享的。当定义类时,类属性会在类的命名空间中创建,所有实例都可以访问和修改这个类属性。如果某个实例修改了类属性,会影响到所有其他实例对该类属性的访问,因为它们共享的是同一个类属性。但是,如果实例通过实例属性赋值(例如instance.country = 'USA'),这只是在实例的命名空间中创建了一个新的实例属性,不会影响类属性,其他实例访问的仍然是类属性的原始值。