Python 魔法方法

视频版教程 Python3零基础7天入门实战视频教程

Python的魔法方法,也称为特殊方法或双下划线方法,是一种特殊的方法,用于在类中实现一些特殊的功能。这些方法的名称始终以双下划线开头和结尾,例如__init__,repr,__add__等

在这里插入图片描述

__str__方法,定义对象的显示字符串,默认是对象内存地址,我们可以通过重写str方法,显示我们需要的数据。

# 定义人类
class Person:# 属性 姓名name = None# 属性 年龄age = Nonedef __init__(self, name, age):self.name = nameself.age = agezhangsan = Person("张三", 21)
print(zhangsan)
print(str(zhangsan))

运行输出:

<__main__.Person object at 0x00000202E61AF950>
<__main__.Person object at 0x00000202E61AF950>

重写str方法:

    def __str__(self):return f"姓名:{self.name},年龄:{self.age}"

运行输出:

姓名:张三,年龄:21
姓名:张三,年龄:21

eq 定义对象间的等于操作,当使用==比较两个对象时被调用。

# 定义人类
class Person:# 属性 姓名name = None# 属性 年龄age = Nonedef __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"姓名:{self.name},年龄:{self.age}"def __eq__(self, other):return self.age == other.agezhangsan = Person("张三", 21)
print(zhangsan)# 在创建一个对象 lisi
lisi = Person("李四", 21)
print(lisi)
print(zhangsan == lisi)

作业,通过重写魔法方法,实现 zhangsan < lisi 以及 zhangsan >=lisi 这两个对象通过属性age来判断大小,返回布尔类型。

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

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

相关文章

linux拨号上网

在Linux上进行拨号上网通常需要使用PPPoE&#xff08;Point-to-Point Protocol over Ethernet&#xff09;协议&#xff0c;这是一种用于通过以太网连接进行拨号上网的常见协议。以下是在Linux上设置PPPoE连接的一般步骤&#xff1a; 请注意&#xff0c;这些步骤可能会因你使用…

uniapp实现大气质量指标图(app端小程序端均支持,app-nvue不支持画布)

效果图如下&#xff1a; 思路&#xff1a; 1.首先我想到的就是使用图标库echarts或ucharts&#xff0c;可是找了找没有找到类似的。 2.其次我就想用画布来实现这个效果&#xff0c;直接上手。&#xff08;app-vue和小程序均可以实现&#xff0c;但是在app-nvue页面不支持画布…

成绩统计(蓝桥杯)

成绩统计 题目描述 小蓝给学生们组织了一场考试&#xff0c;卷面总分为 100 分&#xff0c;每个学生的得分都是一个 0 到 100 的整数。 如果得分至少是 60 分&#xff0c;则称为及格。如果得分至少为 85 分&#xff0c;则称为优秀。 请计算及格率和优秀率&#xff0c;用百分数…

033:跨域,vue端和 Nignx反向代理的配置详细解析

第033个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

Linux调试器-gdb使用

目录 一、gdb的使用 二、查看可执行程序的信息&#xff08;readelf&#xff09; 三、gdb常用的指令 1. 显示源代码&#xff08;list/l&#xff09; 2. 运行程序&#xff08;r或run&#xff09; 3. 在某一行设置断点&#xff08;b指令&#xff09; 4. 显示断点&#xff0…

Logstash介绍

Logstash介绍 Logstash是一个开源数据收集引擎&#xff0c;具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来&#xff0c;并将数据标准化到你所选择的目的地。 集中、转换和存储你的数据 Logstash是一个开源的服务器端数据处理管道&#xff0c;可以同时从多…

0.UML

1.图 1.1类图含义 第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号, ,表示public,-,表示private,#,表示protected。 1.2接口图 与类图的区别主要是顶端有<< interface >…

【Flink实战系列】Hash collision on user-specified ID “Kafka Source”

Hash collision on user-specified ID “Kafka Source” 在使用 fromSource 构建 Kafka Source 的时候,遇到下面的报错,下面就走进源码,分析一下原因。 Exception in thread "main" java.lang.IllegalArgumentException: Hash collision on user-specified ID &…

esp32-S3-electric-vehicle-expansion(EVE_V2)硬件分享

一. 简介 本次将给大家分享一个QSPI圆形屏幕DIY的小项目&#xff0c;这是我做的第二个版本的&#xff0c;相较于第一个版本有了比较大的改动(第一版就不放出来了&#xff0c;需要的可以私聊)&#xff0c;可以在上面实现更多的功能&#xff0c;做些更有趣的项目 &#xff0c;也…

淘宝开店装修教程 (2023新版)

一、下载千牛 1. 浏览器打开淘宝 https://www.taobao.com/ 2. 进入 - 千牛卖家中心 3. 进入 - 关于千牛 4. 下载千牛 5. 下载页面 6. 下载安装桌面 二、登录千牛 1. 登录页面 2. 进入 - 千牛工作台 三、pc店铺装修 1. 进入 - pc店铺 2. 进入 - 装修页面 3. 删除没用的模块 从…

SQL优化--分页优化(limit)

在数据量比较大时&#xff0c;如果进行limit分页查询&#xff0c;在查询时&#xff0c;越往后&#xff0c;分页查询效率越低。 通过测试我们会看到&#xff0c;越往后&#xff0c;分页查询效率越低&#xff0c;这就是分页查询的问题所在。 因为&#xff0c;当在进行分页查询时&…

linux内核分析:探究x86

CPU工作模式&#xff1a;执行程序的三种模式 - 知乎 一口气看完45个寄存器 ——x86/x64架构 - 知乎 现代操作系统内存管理到底是分段还是分页&#xff0c;段寄存器还有用吗&#xff1f; - 知乎

springboot压测并发设置/nginx关于限制请求数和连接数

4core/8G springboot压测并发设置 server.tomcat.max-threads800 server.tomcat.accept-count200 允许同时并发达到8002001000 配置等比缩小&#xff0c;并发设置参数等比缩小&#xff0c;同时并发数等比缩小 JVM优化&#xff1a;指定并发GC线程数&#xff0c;docker容器在…

都2023年了你还不学ts (一)

TypeScript基础语法入门 TypeScript究竟是什么&#xff1f; 他主要就是想把JavaScript里面不完美的一些语法来进行一个提升 就像官网中所说的 TypeScript is JavaScript with syntax for types. 例如我们看下面的这段代码 if ("" 0) {console.log(hello) }在Jav…

X3E伺服转矩模式参数设置

X3E伺服速度控制模式参数设置,请查看下面文章链接: 外部模拟量速度控制模式(禾川X3E伺服驱动器)_RXXW_Dor的博客-CSDN博客比例随动专栏有系列文章介绍,大家可以查看相关文章,链接如下:绕线机-排线伺服比例随动功能块(梯形图+SCL代码)_RXXW_Dor的博客-CSDN博客S7-200 SM…

嵌入式-原码、补码,反码的存储

目录 一.原码 1.1简介 1.2存储规则 二.补码 2.1简介 2.2存储规则 三.反码 3.1简介 3.2存储规则 一.原码 1.1简介 原码是一种表示带符号整数的编码方式。在原码表示中&#xff0c;最高位表示符号位&#xff0c;0表示正数&#xff0c;1表示负数&#xff0c;其余位表示数…

实现按钮悬停动画

知识点与技巧 伪元素 使用伪元素来作为按钮悬停效果动画展示的元素 z-index 的使用技巧 使用z-index属性来控制按钮和伪元素的层次关系 transform、transition 复习 使用transform、transition两个属性来实现动画的展示 按钮边框动画 切换效果 核心代码 .btn.btn-border-…

Linux隐藏文件及含义

写在前面&#xff1a; Linux隐藏文件是非常重要的内容&#xff0c;创建、处理和管理隐藏文件的方法与非隐藏文件基本相同。针对常用的Linux隐藏文件&#xff0c;用户需要了解其作用和用途&#xff0c;以便于更好地使用Linux系统。 一、隐藏文件的概念 Linux系统下的隐藏文件&…

4.开放-封闭原则

这个原则其实是有两个特征&#xff0c;一个是说‘对于扩展是开放的(Open for extension)&#xff0c;另一个是说‘对于更改是封闭的(Closed for modification)[ASD]。

Valine表白动态心跳源码

动态心跳源码 给前女友表白写的网页现在用不着喽 &#xff08;主要功能&#xff09; 记录在一起的时长QQ头像自动同步集成随机古诗词Valine留言评论&#xff08;Valine是一款快速、简洁且高效的无后端评论系统&#xff09; 出售源码&#xff1a;50&#xff08;联系方式在图中…