Python__32--对象

简介: 对象

1 什么是对象?

对象(Object)是一个应用系统中的用来描述客观事物的实体,是有特定属性和行为(方法)的基本运行单位。是类的一个特殊状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有自己标识的任何东西,可以概括来说:万物皆对象。

2 面向对象的三大特征

封装、继承、多态

2.1 封装:

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

提高程序的安全性在方法内部对属性进行操作,在类对象的外部调用方法。无需关心方法内部的具体实现细节,从而隔离了复杂度。

2.1.1 君子协议

伪私有属性,君子协议不希望在类对象外部被访问,却可以强制访问

2.1.2 伪装

使用__双下划线伪装

def__init__(self,name,age):
sef.name=nameself.__age=age


2.1.3 强制访问

通过print(dir(实例对象名))查找属性名,后强制访问

2.2 继承:

面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。

目的:提高代码的复用性。

2.2.1 继承实例

classPerson (object):
def__init__(self,name,age):
self.name=nameself.age=ageclassStudent(Person):
def__init__(self,name,age,no):
super().__init__(name.age):
self.stu_no=stu_noclassStudent(Person):
def__init__(self,name,age,teacheryear):
super().__init__(name.age):
self.teacheryear=teacheryearstu.info()
teacher.info()



2.2.2 方法重写

对父类的方法不满意,可在子类中对方法体重写。

definfo(self):           #重写super().info()          #调用父类方法print('学号:{0}').format(self.score)


2.2.3 object类

object类是所有类的父类,因此所有类都有object类的属性和方法。

如内置函数dir()可以查看指定对象所有属性

如object有一个__str__()方法,用于返回一个对于“对象的描述”,对应于内置函数str()经常用于print()方法,帮我们查看对象的信息,所以我们经常会对_str_()进行重写

网络异常,图片无法展示
|

2.3 多态:

多态指同一个实体同时具有多种形式。同字面意思,及一个对象在不同的情况下会有不同的体现。

提高程序的可扩展性和可维护性,动态语言只关心类中有没有这个方法,有就可以执行,不关心父子关系

相关文章
|
3月前
|
Python
python对象模型
这篇文章介绍了Python中的对象模型,包括各种内置对象类型如数字、字符串、列表、字典等,以及如何使用`type()`函数来查看变量的数据类型。
|
3月前
|
Python
探索Python中的魔法方法:打造你自己的自定义对象
【8月更文挑战第29天】在Python的世界里,魔法方法如同神秘的咒语,它们赋予了对象超常的能力。本文将带你一探究竟,学习如何通过魔法方法来定制你的对象行为,让你的代码更具魔力。
45 5
|
1月前
|
存储 缓存 Java
深度解密 Python 虚拟机的执行环境:栈帧对象
深度解密 Python 虚拟机的执行环境:栈帧对象
62 13
|
1月前
|
索引 Python
Python 对象的行为是怎么区分的?
Python 对象的行为是怎么区分的?
26 3
|
1月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
34 3
|
1月前
|
Python
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
深入解析 Python 中的对象创建与初始化:__new__ 与 __init__ 方法
19 1
|
1月前
|
缓存 Java 程序员
一个 Python 对象会在何时被销毁?
一个 Python 对象会在何时被销毁?
41 2
|
1月前
|
API Python 容器
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
20 2
|
1月前
|
API Python
当调用一个 Python 对象时,背后都经历了哪些过程?
当调用一个 Python 对象时,背后都经历了哪些过程?
22 2
|
1月前
|
存储 API C语言
当创建一个 Python 对象时,背后都经历了哪些过程?
当创建一个 Python 对象时,背后都经历了哪些过程?
21 2
下一篇
无影云桌面