python之类属性

1.创建对象的过程以及实例的概念

1.使用面向对象开发,第1步是设计类
2.使用类名()创建对象,创建对象的动作有两步

1.在内存中为对象分配空间
2.调用初始化方法__init__为对象初始化

3.对象创建后,内存中就有了一个对象的实实在在的存在 -----实例
在这里插入图片描述
因此,通常也会把:
1.创建出来的对象叫做实例
2.创建对象的动作叫做实例化
3.对象的属性叫做实例属性
4.对象调用的方法叫做实例方法

在程序执行时:
1.对象各自拥有自己的实例属性
2.调用对象方法,可以通过self,

访问自己的属性
调用自己的方法

结论
每一个对象都有自己独立的内存空间保存各自不同的属性
多个对象的方法在内存中只有一份,在调用方法时,需要把对象的引用传递到方法内部

2.类是一个特殊的对象

python中一切皆对象

class AAA:定义的类属于类对象
obj1 = AAA()	属于实例对象

在程序运行时,类同样会被加载到内存
在python中,类是一个特殊的对象 -------类对象
在程序运行时,类对象在内存中只有一份,使用一个类可以创建出很多个对象实例
除了封装实例的属性和方法外,类对象还可以拥有自己的属性和方法

1.类属性
2.类方法

通过类名. 的方式可以访问类的属性或者调用类的方法
在这里插入图片描述

3.类属性和实例属性

概念:
类属性就是给类对象中定义的属性,通常用来记录与这个类相关的特征,类属性不会用于记录具体对象的特征

示例需求

定义一个工具类
每个工具都有自己的name
需求 ------知道使用这个类,创建了多少个工具对象?

在这里插入图片描述

class Tool(object):

    # 使用赋值语句定义类属性,记录所有工具对象的数量
    count = 0

    def __init__(self, name):
        self.name = name

        # 让类属性的值+1
        Tool.count += 1


# 1.创建工具对象
tool1 = Tool("斧头")
tool2 = Tool("榔头")
tool3 = Tool("水桶")
# 2.输出工具对象的总数
print(tool1.count)

运行结果

3

4.属性的获取机制

在python中属性的获取存在一个向上查找机制
在这里插入图片描述

注意
如果使用 对象.类属性= 值 赋值语句,只会给对象添加一个属性,而不会影响到类属性的值

class Tool(object):

    # 使用赋值语句定义类属性,记录所有工具对象的数量
    count = 0

    def __init__(self, name):
        self.name = name

        # 让类属性的值+1
        Tool.count += 1


# 1.创建工具对象
tool1 = Tool("斧头")
tool2 = Tool("榔头")
tool3 = Tool("水桶")

# 2.输出工具对象的总数
tool3.count = 99
print("工具对象总数 %d " % tool3.count)
print("====> %d" % Tool.count)

运行结果

工具对象总数 99 
====> 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值