Python编程基础20:实例成员与类成员
Posted howard2005
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python编程基础20:实例成员与类成员相关的知识,希望对你有一定的参考价值。
文章目录
零、本讲学习目标
- 掌握类属性和实例属性的使用
- 掌握类方法和静态方法的使用
一、类属性和实例属性
(一)类属性
1、概念
- 类属性是类所拥有的属性,它需要在类中进行显示地定义(位于类内部,方法的外面),它被所有类的实例对象所共有,在内存中只存在一个副本。
2、语法格式
class Person(object):
# 类属性
country = '中国'
(二)实例属性
1、概念
- 通过“实例.属性”添加属性的属性都是实例属性,不同对象的实例属性值是不同的。
2、语法格式
def __init__(self, name):
# 实例属性
self.name = name
(三)案例演示
- 编写程序 - 演示类属性和实例属性.py
- 运行程序,查看结果
- 将Person的类属性country重新赋值为“韩国”,三个实例对象的国家属性值一起变成“韩国”
- 修改某个对象的实例属性值,不会其它对象的该实例属性值
二、类方法
(一)概念
使用修饰器@classmethod
来标识类方法。要想调用类方法,既可以通过对象名调用类方法,又可以通过类名调用类方法,这两种方法没有任何区别。
(二)语法格式
class 类名:
@classmethod
def 类方法名(cls):
方法体
(三)案例演示
- 编写程序 - 演示类方法.py
- 运行程序,查看结果
三、静态方法
(一)概念
- 使用修饰器
@staticmethod
来标识静态方法 - 静态方法是没有self参数,在
静态方法中无法访问实例变量
- 静态方法中不可以直接访问类属性,但是可以
通过类名引用类属性
- 静态方法跟定义它的类没有直接关系,只是起到了类似函数的作用
- 可以通过类名或实例访问静态方法,效果完全相同
(二)语法格式
class 类名:
@staticmethod
def 静态方法名():
方法体
(三)案例演示
- 编写程序 - 演示静态方法.py
- 运行程序,查看结果
-
- 注意:静态方法里访问类属性college,必须加上类名前缀:School.college,否则要报错
- 注意:静态方法里访问类属性college,必须加上类名前缀:School.college,否则要报错
以上是关于Python编程基础20:实例成员与类成员的主要内容,如果未能解决你的问题,请参考以下文章