Python3 面向对象

2023-11-01

Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。

如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程。

接下来我们先来简单的了解下面向对象的一些基本特征。

面向对象技术简介
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
方法:类中定义的函数。
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
局部变量:定义在方法中的变量,只作用于当前实例的类。
实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
实例化:创建一个类的实例,类的具体对象。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
和其它编程语言相比,Python 在尽可能不增加新的语法和语义的情况下加入了类机制。

Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。

对象可以包含任意数量和类型的数据。

类定义
语法格式如下:

class ClassName:

.
.
.

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。

类对象
类对象支持两种操作:属性引用和实例化。

属性引用使用和 Python 中所有的属性引用一样的标准语法:obj.name。

类对象创建后,类命名空间中所有的命名都是有效属性名。所以如果类定义是这样:

实例(Python 3.0+)

#!/usr/bin/python3
 
class MyClass:
    """一个简单的类实例"""
    i = 12345
    def f(self):
        return 'hello world'

实例化类

x = MyClass()

访问类的属性和方法

print(“MyClass 类的属性 i 为:”, x.i)
print(“MyClass 类的方法 f 输出为:”, x.f())
以上创建了一个新的类实例并将该对象赋给

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python3 面向对象 的相关文章

随机推荐

  • 学生没有教育邮箱如何享受Jetbrains全家桶优惠(白嫖)

    学生没有教育邮箱如何享受Jetbrains全家桶优惠 白嫖 Lan 2020 04 26 10 05 351 人阅读 0 条评论 首先来一波成功图 提交申请一个星期之后终于发来了这封邮件 每次申请可以使用一年 一年之后还是学生可以继续申请
  • Vue 使用 mockjs (返回数据、get、post 请求)

    1 安装 mockjs axios 一般默认自带 没有就安装下 附 mockjs 官网 mockjs github npm install mockjs axios 一般默认自带 npm install axios 2 启动项目 根据项目环
  • C/C++

    文章目录 2 2 C语言常用关键字及运算符操作 关键字 参考 麦子学院 嵌入式C语言高级 2 2 C语言常用关键字及运算符操作 重点 掌握C语言的常用关键宇及其应用场景 使用技巧 关键字 编译器 预先定义了一定意义的字符串 32个 size
  • qt安装到指定目录

    qt everywhere src 5 12 3安装到指定目录 默认情况下 QT会自动安装到 usr local Qt目录 这对于项目工具的归类来说 总是感觉很别扭 本文仅记录自己安装的过程 同时原理可借鉴给其他的工具归类 下载qt eve
  • 传感器课程作业 车载激光雷达

    高分辨率车载3D激光雷达介绍 1 车载3D激光雷达的背景 化石能源的日渐枯竭以及气候环境的恶化使得绿色节能可持续发展理念普世流行 其中交通减排是节能减排的主要途径 加之碳中和目标的提出 新能源汽车替代传统燃油车已然成为不可逆转的趋势 各国大
  • 特别篇 :从 0 开始创作云原生应用 (殷达)

    本节内容的分享主要围绕以下两方面 介绍云原生应用是什么 介绍 Helm 和如何创作一个 Helm 应用 一 云原生应用是什么 首先我们来思考一个问题 云原生应用是什么 在生活中我们会和各种各样的应用打交道 有时候会在移动端上使用淘宝购物 使
  • 关于windows下gcc+cmake指定elf文件到特定section中

    1 map 文件中 glue 7 glue 7t是什么 Those stub sections are generated by the linker not by gcc itself so any documentation would
  • Spring Boot +JWT +MybatisPlus,使用Token登录详细教程,附源码!

    一 新建Spring Boot项目 1 File New Module 2 点击下一步 3 写完这些 点击下一步 4 选择插件 5 选择项目地址 选择完成后点击Finish 二 1 创建完成后 修改pom xml文件 添加以下依赖
  • Linux服务——nginx重写功能与反向代理

    目录 一 nginx重写功能 if指令 return指令 set指令 break指令 rewrite指令 防盗链 二 反向代理 反向代理参数 反向代理 缓存功能 反向代理 ip穿透 反向代理 动静分离 反向代理 负载均衡 一 nginx重写
  • STM32都学什么

    一 什么是STM32 对于STM32 从字面意思上来理解 ST是意法半导体 M是Microelectronics的缩写 其中32表示的是32位 那么整合起来理解就是 STM32就是指的ST公司开发的32位微控制器 在如今的32位控制器中 S
  • ChatGLM-6B微调,P-Tuning,LoRA,Full parameter

    官方教程 ChatGLM 6B 微调 P Tuning LoRA Full parameter 哔哩哔哩 bilibili我们详细介绍了GLM的技术背景 以及ChatGLM 6B的微调方案 包括P tuning LoRA Full Para
  • innodb简单优化

    innodb flush log at trx commit sync binlog 双1标准 innodb flush log at trx commit 1 sync binlog 1 innodb flush log at trx c
  • 怎么在网页中添加一个AI机器人且点击后还会讲话

    效果如下 该页面是本人参加人工智能比赛的一个项目页面展示 页面可以悬浮一个机器人 鼠标点击他就能够智能语音播报 目前只能通过360浏览器访问 等参加完比赛再写具体实现步骤 如有需要源码可以评论联系本人
  • 量化投资学习-32:每一波调整的本质

    在每一轮牛市中 都会经历大致三波的上涨 每一波上涨中间都会经历1 2个月的时间调整 调整的深度在20 左右 为什么经历这种调整的 调整的目的是什么 常听到的观点就是 涨久了 就会跌 调制的目的是洗盘 洗掉浮筹 为了后期更好的上涨 所以散户最
  • gw在计算机网络里面_GW 是什么意思?

    GW是Gateway的英文缩写 即网关 又称网间连接器 协议转换器 网关在网络层以上实现网络互连 是最复杂的网络互连设备 仅用于两个高层协议不同的网络互连 网关既可以用于广域网互连 也可以用于局域网互连 是一种充当转换重任的计算机系统或设备
  • Tone Mapping中luma滤波(降噪)对噪声放大的定性分析

    Tone Mapping中luma滤波对噪声放大的定性分析 在tone mapping过程中 通常经过统计之后得到一条mapping曲线 记这条曲线为 f x f x f x mapping过程中 对于给定的点 假定其亮度为
  • Oracle GoldenGate 将 SQLServer 数据实时同步到 ORACLE

    Oracle GoldenGate 简称 OGG 使在不同关系型数据库之间能进行实时同步复制可谓非常强大 OGG 支持 oracle sql server mysql db2 Sybase 等关系数据库直接的数据复制 OGG 这种灵活特性能
  • 计算机网络基础知识总结

    计算机网络学习的核心内容就是网络协议的学习 网络协议是为计算机网络中进行数据交换而建立的规则 标准或者说是约定的集合 因为不同用户的数据终端可能采取的字符集是不同的 两者需要进行通信 必须要在一定的标准上进行 一个很形象地比喻就是我们的语言
  • Arduino学习模拟输出

    1 实现效果 通过两个按键可以控制led变亮或者变暗 boolean pushButton1 定义布尔型变量存储按键1的状态 boolean pushButton2 定义布尔型变量存储按键2的状态 int ledPin 9 LED引脚号 i
  • Python3 面向对象

    Python从设计之初就已经是一门面向对象的语言 正因为如此 在Python中创建一个类和对象是很容易的 本章节我们将详细介绍Python的面向对象编程 如果你以前没有接触过面向对象的编程语言 那你可能需要先了解一些面向对象语言的一些基本特