类中的类变量、实例变量、局部变量

文章详细阐述了Python类中的三种变量类型:类变量(类属性)可通过类名或实例对象调用,且所有实例共享;实例变量只能通过对象名访问,不会影响其他对象;局部变量仅在类方法内部有效,执行完毕后销毁。类变量和实例变量同名时,实例变量会优先被调用。
摘要由CSDN通过智能技术生成

类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;
类体中,所有函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;
类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量。

1、类变量(类属性)

  • 所有实例化对象都共享类变量
  • 可以使用类名调用也可以使用类的实例化对象调用
  • 使用类名调用也可以修改类变量的值,因为类变量是共有所以会影响所有实例化对象,其他对象调用的该值也会改变
  • 通过类名.变量名也可以为类新添加类变量
  • 通过类的实例化对象修改类变量的值是指定义了新的实例变量,而不是在给类变量重新赋值

2、实例变量(实例属性)

  • 实例变量指的是在任意类方法内部,以“self.变量名”的方式定义的变量
  • 实例变量只能通过对象名访问,无法通过类名访问
  • 通过对象名.变量名是指添加实例变量
  • 对象名.类变量名也是指添加了和类变量同名的实例变量,而不是在修改类变量的值,但不会影响其他对象调用该变量的值
  • 类中实例变量和类变量可能会同名,这时如果使用类对象就会无法调用类变量,而是优先调用实例变量,所以不推荐类变量名使用对象名调用

3、局部变量

  • 类方法中的局部变量直接以“变量名=值”的方式进行定义
  • 局部变量只作用于类方法中,方法执行完成后局部变量也被销毁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值