Python类属性,类方法,静态方法解释,及实际演练

Flower ·
更新时间:2024-11-13
· 842 次阅读

类属性

类属性:python中一切皆为对象,首先要明白两个概念类对象和实例对象。

class Tool(object): count = 0 def __init__(self,name): self.name = name # 让类属性的值+1 Tool.count += 1 print(id(Tool("锤子"))) # 打印类对象的内存地址 a = Tool("锤子") print(id(a)) # 打印实例属性

通过以上可以发现:

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

由上差不多知道类属性是个什么东东,类属性的调用一般分为内部调用和外部调用,内部调用方位为:

类名.类属性

外部调用为:

类名.类属性 实例名.类属性

那么使用对象名访问类属性会不会直接修改了类属性呢?

class Tool(object): count = 0 def __init__(self,name): self.name = name # 让类属性的值+1 Tool.count += 1 # 1.创建工具对象 tool1 = Tool("斧头") tool2 = Tool("锄头") tool3 = Tool("镰刀") #对象名修改类方法 tool3.count = 99 print("工具对象总数 %d" % tool3.count) print("===> %d" % Tool.count) 输出: 工具对象总数 99 ===> 3

可以看出那怕访问了类属性并且做出了修改,也不会真正改变了类属性,其实只是创建了一个实例属性。

属性获取机制

Python中有一个向上查找机制:
原创文章 11获赞 8访问量 1897 关注 私信 展开阅读全文
作者:Cuinn_CK



方法 类方法 属性 python类 静态 静态方法 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号