python类属性定义_python中的面向对象(类的定义和类属性)

f636afc379310a5519f89611bd818aac80261044.jpeg?token=1a1004175c5aeb182eb6421e2e297379&s=04BE78325999FFEB091252E403007026

类的定义

1.使用class

class ClassName: /ClassName(object):

(缩进)'类文档字符串' <-可以省略

(缩进)类属性

(缩进)类方法

(缩进)cls.类变量,方法的变量/局部变量

(缩进)静态方法

(缩进)方法的变量/局部变量

(缩进)实例方法

(缩进)self.实例变量,方法的变量/局部变量

(缩进)其它语句(在类对象定义时会执行一次,之后不在执行)

2.使用元类type()

type()函数依次传入3个参数:

>类对象名<字符串>

>继承的父类集合<必须为元组形式>

>实例方法名称与函数绑定<必须为字典>

* 如{‘实例方法名’:function},’类属性’:属性值...或dict(实例方法名=function,类属性=属性值,...) *

类的属性

1.分类

>定义类时为类静态添加的类属性

·在类的内部,方法的外部定义 属性名=属性值

·类生成后由系统自动赋值的部分内置类属性

>定义类后为类动态添加的类属性

·添加类属性:类对象.新属性=属性值

·初始化类静态属性:使用 类对象.静态属性 即可初始化类静态属性

2.内置的类属性

>在类生成后由系统自动赋值

·类的属性/方法集

属性名:__dict__

属性值:一个map对象,包含一个字典,由类的属性/方法名组成

说明: 可以操作该字典从而改变实例属性和动态添加方法

·类名

属性名:__name__

属性值:类名

·类定义所在的模块

属性名:__module__

属性值:类所在模块(在本模块属性值为__main__,在其它模块属性值为其它模块名

·类的所有父类

属性名:__bases__

属性值:包含了一个由所有父类组成的元组

>特殊赋值方式

·类的文档字符串

属性名:__doc__

属性值:该类的文档说明

赋值方法:* 该属性先会被赋值为类体下的说明字符串,若之后再类体中重新赋给该属性值,则以后者为最终属性值

>主动在类体中赋值

·限制类的实例属性/方法

属性名:__slots__

属性值:__slots__=(sx,sx..)<属性/方法名必须为字符串>

说明:

* 用于限制给该类的实例添加属性/方法,但不限制类

* 类中有__slots__属性时,类不能使用__slot__元组中的属性/方法名作为类属性/方法,而其实例只能使用__slot__元组中的属性/方法名作为实例属性/方法.

* 该属性对其子类的实例无作用,除非子类也有__slots__属性,则子类实例允许定义的属性/方法就是自身的__slots__加上父类的__slots__

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值