导图社区 类编码风格、BIF、内置类属性知识点学习
类编码风格、BIF、内置类属性知识点学习,可收藏,亦可使用后补充知识点,完善属于自己的知识框架。
网店详情页排版方法分享~包括中心页面组成,优质详情必备,详情页的排版参考方法。感兴趣的小伙伴可以看看哦~
喷绘色彩基础培训方案,内容涵盖色彩基础,喷绘写真。框架清晰,内容丰富,希望对小伙伴有所帮助哦~
酒窖营销计划方案,包括结果目标,过程目标。框架清晰,内容丰富,有需要的小伙伴可以看看哦~ 可供大家参考,借鉴,交流。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
类编码风格、BIF、内置类属性知识点学习
基本概念
面对对象
分类
要符合人类思维
把 对象 作为
程序的基本单元
特点
一组「 对象 」 的集合
每个「 对象 」 都可以
接收/处理
其他 「 对象 」发过来的消息
面向过程
依次执行语句
更多是机器思维
一系列命令的集合
即
一组函数的顺序执行
把大块函数「 切割」 成 小块函数
降低系统的复杂度
数据成员
类变量
定义
在 类 中且在「 函数体」 之外
在这个类的所有「 实例」 之间共享
通常不作为 「实例变量」 使用
访问
内部类 or 外部类
className.classVar
实例变量
在「方法」中
只作用于
当前实例的类
类编码风格
vs
类名
驼峰命名法
每个单词的「 首字母 」 大写
不使用下划线
实例名 & 模块名
小写格式
单词之间加上下划线
对于每个
类
模块
应包含 文档字符串
用 「空行」 来组织代码
一个空行
分隔「 方法」
标准库模块 & 自己模块
两个空行
分隔「 类」
自定义工作流程
先尽可能在一个文件中
完成所有工作
再将 类 移到
独立的「 模块」 中
BIF
布尔函数
issubclass(sub ,sup )
sub 是(否)sup的子类 /子孙类
issubclass(obj, Class)
obj 是 (否) Class (或其子类)的一个实例
Class
可以是多个类的「 元组」
*attr() 系列
使用范围
各种对象
使用方法
*attr(obj ,'attr' ...)
系列 BIF
hasattr (obj, name)
检查属性是否存在
getattr (obj, name[ , default])
获取属性的值
可提供默认值
setattr (obj, name,value)
设置一个属性
不存在则新建
delattr (obj, name)
删除属性
dir ()
获得一个对象的所有属性和方法
super()
获取相应 「父类」
vars()
字典
属性 -值
内置类属性
_ _ name _ _
直接运行
_ _main _ _
作为导入模块
导入模块名
_ _doc _ _
类的文档字符串
_ _ bases _ _
所有 「 父类」 构成的元组
多重继承
_ _dict _ _
属性
_ _ module _ _
类定义所在的模块
_ _class_ _
对象属于哪个类
其他话题
运算符
本质上是
定义在 「类内部」 的「特殊方法」
_ _ add_ _ ()
可自定义
根据目的
修改对象运算
接口
内涵
对外暴露的方法 & 属性
检查
hasattr/ callable/_ _dict_ _
抽象基类
抽象类
不能实例化
包含 「抽象方法」 的类
职责
定义子类应实现的一组抽象方法
abc
使用
from abc import ABC, abstractmethod
class Talker(ABC) : @ abstractmethod def talk (self) : pass
@abstractmethod
将方法标记为抽象的
子类中必须实现的方法
talk()
模型草图
程序需要做什么?
名词
可能的「 类」
动词
可能的「方法」
形容词
可能的 「属性」
分配给 「 各个类」
考虑
类 & 对象
之间的关系
继承
协作
各自的职责
改进模型
设想
一系列「 用例」
确保涵盖所有功能
不断重复、修改