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

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

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


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


  1. 作用范围:


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


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


  1. 默认值:


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


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


  1. 修改方式:


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


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


  1. 访问方式:


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


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


  1. 存储位置:


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


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


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

目录
相关文章
|
16小时前
|
Python
Python 练习实例21
Python 练习实例21
|
16小时前
|
算法 Python
Python新式类和经典类
Python新式类和经典类
|
1天前
|
存储 数据库 数据安全/隐私保护
Python基础语法及使用方法
Python基础语法及使用方法
|
1天前
|
自然语言处理 Java API
Python之:Python中的类
Python之:Python中的类
|
1天前
|
存储 Python
Python的高端语法
Python的高端语法
|
1天前
|
Python
Python 练习实例18
Python 练习实例18
|
1天前
|
Python
Python 练习实例17
Python 练习实例17
|
5天前
|
自然语言处理 JavaScript 前端开发
Python高级语法与正则表达式(二)
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
|
5天前
|
安全 算法 Python
Python高级语法与正则表达式(一)
Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
|
1月前
|
Python
Python的高级语法及许多特性
Python的高级语法及许多特性
30 0