Python类class和实例instance

1 问题

python是动态语言,面向对象最重要的概念就是类(class)和实例(instance),用于创建和组织代码。那么,这两者的定义和使用的区别是什么呢?

2 方法

  1. 在python中,定义类是通过class关键字,class后面紧接着是类名,即Student。

    类属性是绑定到类的属性,它们是共享的,所有实例都可以访问类属性。

    类属性可以通过点号运算符访问,不需要创建类的实例。

    类属性通常在类定义时直接定义在类内部。

    |-----------------------------------------------------------------------------------------------------|
    | #如果Student类本身需要绑定一个属性的话,可以直接在class中定义属性,这种属性就是类属性,归Student类所有 class Student(object): name='Student' |

  2. 实例属性是每个类实例都具有的属性,每个对象的实例属性可以不同,且不会被其他对象所共享。

    在创建实例的时候,可以把我们认为必须绑定的属性强制填写进去,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑定上去。

|------------------------------------------------------------------------------------------------------------------------------------------------|
| #给实例绑定属性的方法是通过实例变量,或者通过self变量 class Student(object): def__init__(self,name,score): self.name=name self.score=score s=Student('Bob') s.score=90 |

3 结语

综上所述,类属性是类对象所拥有的属性,被所有类的实例共享这一个属性;实例属性是每个类实例(对象)都具有的属性,互不干扰,每个对象的实例属性可以不同。其中需要注意的是,不要对实例属性和类属性使用相同的名字,否则将产生错误。

相关推荐
先知后行。3 分钟前
线程的创建.销毁
开发语言·c++·算法
这里有鱼汤7 分钟前
为什么指数涨你却亏钱?80%的人忽略的市场宽度指标揭晓,我用Python实现了(附源码)
后端·python
鱼嘻7 分钟前
西嘎嘎学习 - C++ 继承 - Day 10
开发语言·c++·学习·算法
王琦031812 分钟前
Python 0909
前端·javascript·python
孤廖13 分钟前
从 “模板” 到 “场景”,用 C++ 磨透拓扑排序的实战逻辑
开发语言·c++·程序人生·算法·贪心算法·动态规划·学习方法
念念010717 分钟前
Flask 博客系统(Flask Blog System)
后端·python·flask
我有火的意志22 分钟前
Liunx执行source /etc/profile 报错, -bash: HISTTIMEFORMAT: readonly variable
开发语言·bash·histtimeformat·readonly
tianyuanwo24 分钟前
pyproject.toml 的历史背景和原理
python·pyproject·setup.py
蒋星熠40 分钟前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
枫叶丹441 分钟前
【Qt开发】显示类控件(二)-> QLCDNumber
开发语言·qt