Py学习  »  Python

Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)

新手未出村 • 3 年前 • 233 次点击  

实例属性、类属性

实例属性是对象独有的,每个对象与每个对象之间各不相同
实例属性的声明在__init__()初始化方法中,使用self关键字将属性绑定到当前对象上
类属性,不是写在__init__()方法中,而是在类中定义
例:
在这里插入图片描述
用实例化的对象修改不了类属性,只是在该对象的属性中添加了一个实例属性,类属性没有变化

总结:

类属性:

声明位置:在类的内部,方法的外部
访问数据:当前类的名称,当前类创建的所有对象
修改数据:通过当前类名去修改
  • 1
  • 2
  • 3

实例属性:

声明位置:声明在__init__(self)中
访问数据:只能被当前对象访问
修改数据:只能被当前对象修改
  • 1
  • 2
  • 3

实例方法、类方法、静态方法

实例方法

实例方法是指对象的行为方法
实例方法声明在类型内部的普通方法,实例方法在执行过程中可以访问当前对象的所有属性和方法,实例方法在使用过程中只能被对象的变量调用执行
例:
在这里插入图片描述

类方法

类方法是声明在类内部,方法上使用@classmethod声明的方法,第一个参数是当前类本身,约定俗成使用cls表示,类方法只能访问当前类的类属性,不能访问任何对象的实例属性,类方法能被当前类调用,也能被实例化对象调用
例:
在这里插入图片描述

静态方法

静态方法相当于将函数写到了类中
声明格式:@staticmethod
静态方法本质上是被统一管理在类中的函数,声明在类的内部,方法上使用装饰器@staticmethod声明的方法,静态方法是独立的方法,不能访问类中的任何信息,静态方法可以被类名直接调用,也可以被对象的变量调用执行
例:
在这里插入图片描述

魔术方法

构造和初始化

__new__(cls)
    创建对象的魔术方法
__init__(self)
    初始化对象数据的方法
__del__(self)
    析构方法
__call__(self)
    当对象被当做函数调用时,执行这个方法里的代码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

对象打印

__str__(self)
    返回的必须是字符串,用来打印展示对象信息
__repr__(self)
    当对象被放在列表中的时候,我们打印列表时,显示的信息,输出展示对象的信息
  • 1
  • 2
  • 3
  • 4

魔法属性

__dict__
    将对象中的属性以字典的形式返回
__doc__
    查看类或者对象的说明信息
  • 1
  • 2
  • 3
  • 4

例:
在这里插入图片描述
输出结果:
在这里插入图片描述

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/73189
 
233 次点击