目录

1. 创建类与对象示例

1.1 __init__ 初始化器:

1.2 __new__构造器

1.3 什么时候需要重写 __new__?

1.4 init和new对比

2. 属性

2.1 实例属性

2.2 类属性

3. 作用域命名约定

3.1 非公共属性

3.2 公共属性

3.3 名称修饰

3.4 一眼看懂三种“可见性”

4. 方法

4.1 实例方法

4.2 类方法

4.3 静态方法

4.4 普通方法、实例方法、类方法、静态方法区别

5. 特性(property)

6. 特殊方法或魔法方法

6.1 解释器偷偷调用的钩子函数

6.2 示例 __call__ 

6.3 示例__eq__

7. 类装饰器

7.1 示例和原理

7.2 主要使用场景

8. 对象结构模式匹配

8.1 示例

8.2 结构模式匹配 3 个维度


Python采用基于类的面向对象编程范式。在面向对象中,代码被组织成类,可以从中创建对象。

我们可以把“类”和“对象”想成 模具产品

  1. 类(class) = 模具
    定义了产品长什么样、能做什么,但本身还不是实物。

  2. 对象(object / instance) = 用模具倒出来的具体产品
    每个对象拥有独立的数据,却共享同一套行为。

1. 创建类与对象示例

class Dog:                       # 模具def __init__(self, name):    # 初始化(构造)方法self.name = name         # 属性def bark(sel

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95216.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95216.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/95216.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【js】Promise.try VS try-catch

前言JavaScript 正为 Promise 添加一个新的方法,使得处理异步函数更加清晰和安全。Promise.try 允许将任何函数包装在 Promise 中,无论它是否异步。使用 Promise.try 可避免传统 try/catch 结构与 Promise 链的混合使用,代码更简洁。try-catc…

MySQL-表的约束(上)

表的约束在 MySQL 中,表的约束(Constraints)用于确保数据库中数据的完整性和一致性。它们定义了对表中数据的规则和限制,防止无效或不一致的数据被插入、更新或删除。常见的 MySQL 表约束包括主键约束(PRIMARY KEY&…

Frida + FART 联手:解锁更强大的 Android 脱壳新姿势

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ Frida FART 联手能带来什么提升? 增强 FART 的脱壳能力:解决对抗 FART 的壳、动态加载的 dex 的 dump 和修复; 控制 FART…

TLS/SSL(传输层安全协议)

文章目录一、核心概念二、为什么需要 TLS/SSL?三、工作原理与详细流程握手步骤详解:1.ClientHello & ServerHello:2.服务器认证 (Certificate, ServerKeyExchange):3.客户端响应 (ClientKeyExchange, Finished):4.…

什么是 AWS 和 GCE ?

AWS 和 GCE 是两种不同厂商提供的云计算服务,主要区别在于提供商和产品定位。AWS全称:Amazon Web Services提供商:亚马逊 (Amazon)简介:全球最大的云计算平台之一,提供完整的云服务,包括: 计算&…

水电站电动机绝缘安全 “不掉线”!在线监测方案筑牢发电保障

对水电站而言,消防水泵、深井水泵等辅助电动机是安全运行的 “关键配角”—— 它们常年处于备用状态,又受潮湿环境影响,绝缘值降低易引发烧毁故障,而传统定期检测难以及时捕捉绝缘劣化趋势,一旦启动时出问题&#xff0…

【Datawhale之Happy-LLM】3种常见的decoder-only模型——Github最火大模型原理与实践教程task07

Task07:第三章 预训练语言模型PLM (这是笔者自己的学习记录,仅供参考,原始学习链接,愿 LLM 越来越好❤) 本篇介绍3种很典的decoder-only的PLM(GPT、LlaMA、GLM)。目前火&#x1f52…

【卷积神经网络】卷积神经网络的三大核心优势:稀疏交互、参数共享与等变表示

1. 引言 卷积神经网络(CNN)之所以在计算机视觉、语音识别等领域取得突破性进展,并非偶然。相比传统的全连接神经网络,CNN通过三个重要的思想来帮助改进机器学习系统:稀疏交互(sparse interactions)、参数共享(parameter sharing)、等变表示(equivariant representations)。…

网络共享协议

网络共享协议是用于在计算机网络中实现资源共享和数据传输的规则或标准。常见的共享协议包括文件共享、打印机共享、互联网连接共享等。SMB(Server Message Block 服务器消息块)SMB是一种网络共享协议,主要用于局域网中实现不同设备之间的文件…

MD5加密算法详解与实现

MD5加密算法详解与实现 什么是MD5加密? MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,可以产生一个128位(16字节)的哈希值,通常用32位的十六进制数表示。MD5由Ronald Rivest在…

(nice!!!)(LeetCode 每日一题) 3025. 人员站位的方案数 I (排序)

题目:3025. 人员站位的方案数 I 思路:排序,时间复杂度0(n^2)。 将数组points里的元素先按横坐标x升序排序,纵坐标y降序排序。第一层for循环枚举左上角的点,第二层for循环枚举右下角的点。细节看注释。 C版本&#xff…

可可图片编辑 HarmonyOS(4)图片裁剪

可可图片编辑 HarmonyOS(4)图片裁剪-canvas 前言 可可图片编辑 实现了图片的裁剪功能,效果如图所示。这里的核心技术是使用了canvas。 Canvas 入门 Canvas提供画布组件,用于自定义绘制图形,开发者使用CanvasRenderi…

怎么用PS制作1寸证件照(已解决)

方法/步骤一、按住键盘上的“Ctrl”“O”打开你要制作的照片二、点击裁剪工具 (调整为宽:2.5cm,高:3.5cm,分辨率:300像素),设置之后直接框选出需要剪切保留的位置(使人物居正中), 然后按上面的“√”,以便确认剪裁三、…

Qt libcurl的下载、配置及简单测试 (windows环境)

Qt libcurl的下载、配置及简单测试引言一、libcurl下载二、在Qt Creator中配置三、简单测试引言 curl(Client URL)是一个开源的命令行工具和库,用于传输数据支持多种协议(如HTTP、HTTPS、FTP、SFTP等)。其核心库libcur…

【Python语法基础学习笔记】竞赛常用标准库

前言此系列笔记是拨珠自己的学习笔记,自用为主,学习建议移步其他大佬的专门教程。math库Python 的 math 库是标准库之一,提供了大量数学运算相关的函数,适用于基础数学计算、科学计算等场景。下面详细介绍其使用方法及常用功能&am…

我的项目我做主:Focalboard+cpolar让团队协作摆脱平台依赖

文章目录前言1. 使用Docker本地部署Focalboard1.1 在Windows中安装 Docker1.2 使用Docker部署Focalboard2. 安装Cpolar内网穿透工具3. 实现公网访问Focalboard4. 固定Focalboard公网地址前言 “项目管理软件又涨价了!“小团队负责人小林发愁——刚习惯操作逻辑&…

【3D 入门-4】trimesh 极速上手之 3D Mesh 数据结构解析(Vertices / Faces)

【3D入门-指标篇上】3D 网格重建评估指标详解与通俗比喻【3D入门-指标篇下】 3D重建评估指标对比-附实现代码【3D 入门-3】常见 3D 格式对比,.glb / .obj / .stl / .ply Mesh 数据结构解析 1. Vertices(顶点) original_vertices mesh_ful…

无需服务器,免费、快捷的一键部署前端 vue React代码--PinMe

作为前端的开发,有时候想部署一个项目真的是很“受气”,要不就是找运维,或者后端,看别人的时间,或者走流程。 现在,有这么一个神器PinMe, 以前部署项目:自己买服务器?域名、 SSL、N…

【LeetCode_26】删除有序数组中的重复项

刷爆LeetCode系列LeetCode26题:github地址前言题目描述题目与思路分析代码实现算法代码优化LeetCode26题: github地址 有梦想的电信狗 前言 本文介绍用C实现leetCode第26题题目链接:https://leetcode-cn.com/problems/remove-duplicates-…

CMake构建学习笔记23-SQLite库的构建

1. 构建思路 在前文中构建了大量的库包程序(参看CMake构建学习笔记-目录)之后,可以总结一下在Windows下使用脚本构建程序的办法: 使用CMake构建。这是目前最通用最流行的构建方式,大部分C/C程序都在逐渐向这个方向转…