Python基础:类属性和类方法

1. 类属性

类属性:类对象拥有的属性,被类对象和实例对象共有,内存中只存在一份副本,如果是公有类属性,可以通过类对象和实例对象访问。
类属性:在类的内部,方法外面定义,所有对象共享,占一份内存。
注:

  1. 类属性的分类:共有类属性、私有类属性、保护类属性。
  2. 私有雷属性不可以再类的外部访问,包括实例对象和类对象都不行。
  3. 在类的内部,实例方法中,可以通过类对象和实例对象访问。

2. 实例

class BmwCar(object):
    brand = 'BMW'
    def __init__(self, style, color):
        self.style = style
        self.color = color

if __name__ == '__main__':
    print(BmwCar.brand)
    car1 = BmwCar('x1', 'white')
    print(car1.brand)

注:

  1. 类属性通过类对象来修改。
  2. 不可以通过实例对象来修改,否则增加的只是一个动态属性而已(init里面如果有这个字段就覆盖)。

3. 类方法

  1. 类方法的格式
@class method
def 方法名(cls):
		pass
  1. 可以修改类属性。
  2. 可以通过类对象或实例对象访问。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当我们需要在派生中新增私有属性并重写基方法时,可以使用以下步骤: 1. 定义一个派生,并在定义的开头使用基名称和圆括号,以便将基与派生联系起来。 2. 在派生中定义一个新的私有属性。 3. 在派生中重写基方法,可以使用 super() 函数调用基方法,并在其基础上添加新的功能。 下面是一个示例代码,演示了如何在 Python 中实现派生的私有属性和重写基方法: ```python class BaseClass: def __init__(self, name): self.name = name def display(self): print("BaseClass Name:", self.name) class DerivedClass(BaseClass): def __init__(self, name, age): super().__init__(name) self.__age = age # 新增私有属性 def display(self): super().display() # 调用基方法 print("DerivedClass Age:", self.__age) # 添加新功能 d = DerivedClass("Tom", 20) d.display() ``` 在这个例子中,我们创建了一个基 BaseClass,其中包含一个属性和一个方法。然后我们创建了一个派生 DerivedClass,它继承了 BaseClass,并添加了一个新的私有属性。最后,我们重写了基方法,并在其中添加了新的功能。 需要注意的是,在派生中新增私有属性时,需要在属性的名称前加上两个下划线,这样属性就变成了私有属性,只能在内部访问。另外,当我们重写基方法时,可以使用 super() 函数调用基方法,并在其基础上添加新的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值