Coding养成--Python(10)

本文讲述了Python面向对象编程中实例属性与类属性的区别,实例属性优先级高于类属性,并通过实例化和属性赋值展示了如何影响类的name属性。练习部分涉及导入模块和理解难度层次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#The diary of a Python learner

Date:08.03.2024


Focus:OOP中的实例和类的属性

Key:self.name创建的是实例的属性,直接在class下面写name=xxx定义的是类的某个属性,通过Student.name可以直接调用。

>> class Student(object):
...     name = 'Student'
...
>>> s = Student() # 创建实例s
>>> print(s.name) # 打印name属性,因为实例并没有name属性,所以会继续查找class的name属性
Student
>>> print(Student.name) # 打印类的name属性
Student
>>> s.name = 'Michael' # 给实例绑定name属性
>>> print(s.name) # 由于实例属性优先级比类属性高,因此,它会屏蔽掉类的name属性
Michael
>>> print(Student.name) # 但是类属性并未消失,用Student.name仍然可以访问
Student
>>> del s.name # 如果删除实例的name属性
>>> print(s.name) # 再次调用s.name,由于实例的name属性没有找到,类的name属性就显示出来了
Student


Practice:

1.

# -*- coding: utf-8 -*-
import 

2.

# -*- coding: utf-8 -*-
import


Difficulty?


Addition:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值