【随手记】python语法:类属性和实例属性

简介: 【随手记】python语法:类属性和实例属性

python中,在init函数外边跟在init函数里边赋值有什么不同?


类的定义中,类属性(在类的初始化方法之外定义的属性)和实例属性(在初始化方法中定义的属性)之间有一些重要的区别:


  1. 作用范围:


  • 类属性:属于类本身,被所有实例共享,对所有实例来说是相同的。可以通过类名或实例访问。


  • 实例属性:属于类的实例,每个实例都有自己的一份,各个实例之间互相独立。


  1. 默认值:


  • 类属性:可以在类的定义中直接赋值,作为类的默认属性值。


  • 实例属性:通常在初始化方法中赋值,根据实例的不同可以有不同的初始值。


  1. 修改方式:


  • 类属性:通过类名直接修改,会影响到所有实例。


  • 实例属性:通过实例名或方法修改,只会影响到当前实例。


  1. 访问方式:


  • 类属性:可以通过类名或实例名直接访问。


  • 实例属性:只能通过实例名访问,无法通过类名访问。


  1. 存储位置:


  • 类属性:存储在类的命名空间中,类一旦被加载,就会分配内存。


  • 实例属性:存储在每个实例的命名空间中,在实例创建时才会分配内存。


总的来说,类属性适合用于表示类的特征或共享的状态信息,而实例属性适合用于表示实例的个性化状态或特定实例的信息。

目录
相关文章
|
7天前
|
缓存 监控 程序员
Python中的装饰器是一种特殊类型的声明,它允许程序员在不修改原有函数或类代码的基础上,通过在函数定义前添加额外的逻辑来增强或修改其行为。
【6月更文挑战第30天】Python装饰器是无侵入性地增强函数行为的工具,它们是接收函数并返回新函数的可调用对象。通过`@decorator`语法,可以在不修改原函数代码的情况下,添加如日志、性能监控等功能。装饰器促进代码复用、模块化,并保持源代码整洁。例如,`timer_decorator`能测量函数运行时间,展示其灵活性。
16 0
|
4天前
|
存储 JSON 测试技术
python中json和类对象的相互转化
针对python中类对象和json的相关转化问题, 本文介绍了4种方式,涉及了三个非常强大的python库jsonpickle、attrs和cattrs、pydantic,但是这些库的功能并未涉及太深。在工作中,遇到实际的问题时,可以根据这几种方法,灵活选取。 再回到结构化测试数据的构造,当需要对数据进行建模时,也就是赋予数据业务含义,pydantic应该是首选,目前(2024.7.1)来看,pydantic的生态非常活跃,各种基于pydantic的工具也非常多,建议尝试。
|
11天前
|
算法 Python
Python新式类和经典类
Python新式类和经典类
|
1天前
|
设计模式 Python
深度揭秘!Python元类:掌握它,让你的代码拥有创造类的能力
【7月更文挑战第6天】Python元类探秘:**元类是类的类,用于控制类的创建。通过定义元类,可自定义类的行为,如动态添加方法或改变继承结构。示例中,`my_metaclass`在创建类时添加`new_method`。元类强大且适用于高级编程,如动态修改、注册类或实现设计模式。理解并善用元类能提升Python编程技巧。
6 0
|
11天前
|
Python
经验大分享:python类函数,实例函数,静态函数
经验大分享:python类函数,实例函数,静态函数
12 0
|
11天前
|
索引 Python
|
Python
【Python零基础入门篇 · 23】:类的继承(单继承和多继承)、继承重写
【Python零基础入门篇 · 23】:类的继承(单继承和多继承)、继承重写
120 0
【Python零基础入门篇 · 23】:类的继承(单继承和多继承)、继承重写
|
Python 开发者 C语言
python类的继承
通过代码来显示python的继承有什么特性
2309 0
|
Python Ubuntu
python 类的继承
python 类的继承
1372 0