东莞网站建设 石化,浅析社区网站的建设,手机苗木网站源码,江西省建设厅教育网站上查询前言#xff1a;
我们通过上篇文章学习了Python的基础语法#xff0c;接下来我们来学习Python的高阶语法
1.初识对象
在Python中我们可以做到和生活中那样#xff0c;设计表格、生产表格、填写表格的组织形式的
面向对象包含 3 大主要特性#xff1a; 封装 继承 …前言
我们通过上篇文章学习了Python的基础语法接下来我们来学习Python的高阶语法
1.初识对象
在Python中我们可以做到和生活中那样设计表格、生产表格、填写表格的组织形式的
面向对象包含 3 大主要特性 封装 继承 多态
内容靠后
1.1使用对象组织数据 在程序中设计表格我们称之为设计类class 在程序中打印生产表格我们称之为创建对象 在程序中填写表格我们称之为对象属性赋值 2.成员方法
2.1类的定义和使用 类的语法 创建类对象的语法 类 2.2成员变量和成员方法 我们可以看出类中 • 不仅可以定义属性用来记录数据 • 也可以定义函数用来记录行为 其中 • 类中定义的属性变量我们称之为成员变量 • 类中定义的行为函数我们称之为成员方法 注意 定义在类内部的函数我们称之为方法 2.3成员方法的定义语法 在类中定义成员方法和定义函数基本一致但仍有细微区别 我们可以看到在方法定义的参数列表中有一个 self 关键字 self 关键字是成员方法定义的时候必须填写的 • 它用来表示类对象自身的意思 • 当我们使用类对象调用方法的时候 self 会自动被 python 传入 注意 在方法内部想要访问类的成员变量必须使用 self 例如 不过self 关键字尽管在参数列表中但是传参的时候可以忽略它 可以看到在传入参数的时候 self 是透明的可以不用理会它 3.类和对象
3.1面向对象编程 类只是一种程序内的“设计图纸”需要基于图纸生产实体对象才能正常工作 这种套路称之为面向对象编程 3.2语法 基于类创建对象的语法 3.3在程序中通过类来描述 3.4基于类创建对象 4.构造方法
4.1属性成员变量的赋值 这种方法略显繁琐 4.2 __init__()构造方法 • 构建类时传入的参数会自动提供给 __init__ 方法 • 构建类的时候 __init__ 方法会自动执行 注意 构造方法也是成员方法不要忘记在参数列表中提供 self 5.魔术方法 5.1 __str__ 字符串方法 当类对象需要被转换为字符串之时会输出如下结果内存地址 我们可以通过 __str__ 方法控制类转换为字符串的行为 5.2 __lt__ 小于符号比较方法 直接对 2 个对象进行比较是不可以的 但是在类中实现 __lt__ 方法即可同时完成小于符号 和 大于符号 2 种比较 比较大于的魔术方法是__gt__ 5.3__le__ 小于等于比较符号方法 用法跟上面一样 5.4 __eq__ 比较运算符实现方法 注意 不实现 __eq__ 方法对象之间可以比较但是是比较内存地址也即是不同对象 比较一定是 False 结果 6. 封装 6.1对用户隐藏的属性和行为 现实世界中的事物有属性和行为 但是不代表这些属性和行为都是开放给用户使用的 苹果越狱、安卓 root 也是为了突破权限使用这些对用户隐藏的属性和行为 6.2私有成员 类中提供了私有成员的形式来支持。 • 私有成员变量 • 私有成员方法 定义私有成员的方式非常简单只需要 • 私有成员变量变量名以 __ 开头 2 个下划线 • 私有成员方法方法名以 __ 开头 2 个下划线 6.3使用私有成员 私有方法无法直接被类对象使用 私有变量无法赋值也无法获取值 私有成员无法被类对象使用但是可以被其它的成员使用 7.继承
7.1什么是继承 继承表示将从父类那里继承复制来成员变量和成员方法不含私有 代码的实现 并且继承分为单继承和多继承 7.2单继承 语法 操作 7.3多继承 Python 的类之间也支持多继承即一个类可以继承多个父类 如下 语法 操作 注意: 多个父类中如果有同名的成员那么默认以继承顺序从左到右为优先级 即先继承的保留后继承的被覆盖 7.4复写 子类继承父类的成员属性和成员方法后如果对其“不满意”那么可以进行复写 即在子类中重新定义同名的属性或方法即可 7.5调用父类同名成员 一旦复写父类成员那么类对象调用成员的时候就会调用复写后的新成员 如果需要使用被复写的父类的成员需要特殊的调用方式 方式1 • 调用父类成员 使用成员变量父类名 . 成员变量 使用成员方法父类名 . 成员方法 (self) 方式 2 • 使用 super() 调用父类成员 使用成员变量 super(). 成员变量 使用成员方法 super(). 成员方法 () 注意 只能在子类内调用父类的同名成员 子类的类对象直接调用会调用子类复写的成员