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

时间:2020-9-6 作者:admin


实例属性、类属性

实例属性是对象独有的,每个对象与每个对象之间各不相同
实例属性的声明在__init__()初始化方法中,使用self关键字将属性绑定到当前对象上
类属性,不是写在__init__()方法中,而是在类中定义
例:
Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)
用实例化的对象修改不了类属性,只是在该对象的属性中添加了一个实例属性,类属性没有变化

总结:

类属性:

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

实例属性:

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

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

实例方法

实例方法是指对象的行为方法
实例方法声明在类型内部的普通方法,实例方法在执行过程中可以访问当前对象的所有属性和方法,实例方法在使用过程中只能被对象的变量调用执行
例:
Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)

类方法

类方法是声明在类内部,方法上使用@classmethod声明的方法,第一个参数是当前类本身,约定俗成使用cls表示,类方法只能访问当前类的类属性,不能访问任何对象的实例属性,类方法能被当前类调用,也能被实例化对象调用
例:
Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)

静态方法

静态方法相当于将函数写到了类中
声明格式:@staticmethod
静态方法本质上是被统一管理在类中的函数,声明在类的内部,方法上使用装饰器@staticmethod声明的方法,静态方法是独立的方法,不能访问类中的任何信息,静态方法可以被类名直接调用,也可以被对象的变量调用执行
例:
Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)

魔术方法

构造和初始化

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

对象打印

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

魔法属性

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

例:
Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)
输出结果:
Python基础(实例属性、类属性、实例方法、类方法、静态方法、魔术方法)

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。