【Python零基础入门篇 · 15】:面向对象基础(类和对象)、类属性和实例属性的访问、构造函数

简介: 【Python零基础入门篇 · 15】:面向对象基础(类和对象)、类属性和实例属性的访问、构造函数

一、面向对象基础


1、面向过程和面向对象:


面向过程:自己动手洗衣服、拧衣服、晾衣服


面向对象:放入洗衣机、从开始到结束、晾衣服


2、类和对象


类:就是具有相同属性和功能的一类事物,抽象概念的东西。


对象:就是类的具体表现,是面向对象编程的核心,是实实在在的东西。


举例:


狗(类)、大黑狗(类)、九歌家的狗(对象) 水果(类)、苹果(类)、红富士苹果(类) 我正在吃的苹果(对象)


3、类的写法和使用--Class


  • 类的定义


定义格式一:   class 类名:                          

                               pass

定义格式二:                

                     class 类名:                          

                               成员

类名用大驼峰命名法,首字母大写。



类的三要素类名、属性(对对象特征的描述)、方法(对对象具有的的行为)


例:类名:人类    属性:黄色的头发、戴眼镜  方法:吃饭、说话

262f0575bc9f4b4486902e93d0848cc6.png


  • 增删改查类中的属性


增删改查类中的单个属性,通过万能的点方式去操作

01bff6959cb248ff8f4c28c6fed28593.png


4、创建对象(实例化对象)


  • 实例化对象的格式

变量名 = 类名()


注意:创建对象不限制数量

a28c149c7b214685a99f23aa872a4da6.png


  • 实例方法


实例方法:由对象来调用,至少一个self参数,执行实例方法时,自动调用该方法的对象并赋值给self

7780ea8f00e5479eb7af867176407363.png


一个类可以实例化多个对象

7331c33e7ffe4311bebe3b4a2fd1a014.png


  • 实例属性--self.属性名


79f59104d92e4375ab4c377cead5acc3.png


二、构造函数


1、构造方法


构造方法__init__方法(通常用来做属性初始化或赋值操作)


1a145384ba054c41bbf48d9d579f3124.png


用构造函数实现英雄攻击


fb13b3ec3d3b4266bf5e96e570739006.png



三、类属性和实例属性的访问


  • 类属性属于类,实例属性属于对象


  • 类属性在内存中只保存一份,实例属性在每个对象中都保留一份


  • 对于类属性,类可以访问到,实例对象也可以访问到;对于实例属性,类访问不到,实例对象可以访问到


1、代码演示


  • 类名访问类属性,对象访问类属性

833ec45a1d6a4275aa020240734cf852.png


  • 通过类名查看实例属性会报错

912251add11d4df28d1a468bb5c0c693.png


  • 通过对象查看实例属性

0c89fc0dcdda4b68ba8553d4009a6157.png



相关文章
|
2月前
|
存储 应用服务中间件 开发工具
对象存储OSS-Python设置代理访问请求
通过 Python SDK 配置 nginx 代理地址请求阿里云 OSS 存储桶服务。示例代码展示了如何使用 RAM 账号进行身份验证,并通过代理下载指定对象到本地文件。
105 15
|
2月前
|
存储 数据处理 Python
Python如何显示对象的某个属性的所有值
本文介绍了如何在Python中使用`getattr`和`hasattr`函数来访问和检查对象的属性。通过这些工具,可以轻松遍历对象列表并提取特定属性的所有值,适用于数据处理和分析任务。示例包括获取对象列表中所有书籍的作者和检查动物对象的名称属性。
40 2
|
2月前
|
缓存 监控 算法
Python内存管理:掌握对象的生命周期与垃圾回收机制####
本文深入探讨了Python中的内存管理机制,特别是对象的生命周期和垃圾回收过程。通过理解引用计数、标记-清除及分代收集等核心概念,帮助开发者优化程序性能,避免内存泄漏。 ####
61 3
|
4月前
|
存储 缓存 Java
深度解密 Python 虚拟机的执行环境:栈帧对象
深度解密 Python 虚拟机的执行环境:栈帧对象
90 13
|
5月前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
94 6
基于Python访问Hive的pytest测试代码实现
|
4月前
|
索引 Python
Python 对象的行为是怎么区分的?
Python 对象的行为是怎么区分的?
41 3
|
4月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
70 3
|
4月前
|
缓存 Java 程序员
一个 Python 对象会在何时被销毁?
一个 Python 对象会在何时被销毁?
69 2
|
4月前
|
API Python 容器
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
33 2
|
4月前
|
API Python
当调用一个 Python 对象时,背后都经历了哪些过程?
当调用一个 Python 对象时,背后都经历了哪些过程?
36 2