当前位置: 首页 > news >正文

python进阶--魔法方法之类的表示

下面的魔法方法都可以用了描述类

1、__str__

该方法一般返回字符串,也许不会返回一个有效的 Python 表达式,但可以使用更方便或更准确的描述信息。在类中重写该方法,用来输出类的属性值等信息

调用:str(object)或者内置函数format()或者print()都会调用__str__()方法

class Person:def __init__(self, name, age):self.name = nameself.age = agedef describe(self):print('名字:'+self.name + ',年龄:' + str(self.age))#重写_str__函数def __str__(self):return 'str:'+'名字:'+self.name + ',年龄:' + str(self.age)if __name__ == '__main__':p = Person('Joy', 25)print(p)#print(str(p))p.describe()输出:
str:名字:Joy,年龄:25
名字:Joy,年龄:25

2、__repr__

用来输出一个对象的“官方”字符串表示。返回值必须是字符串对象此方法通常被用于调试。内置类型 object 所定义的默认实现会调用 object.__repr__()
调用:通过repr()调用

class Person:def __init__(self, name
http://www.lryc.cn/news/147146.html

相关文章:

  • JVM 创建对象时分配内存的几种方法、分配方法的选择
  • 08-Vue基础之组件
  • Kotlin学习之密封类
  • opencv鼠标事件函数setMouseCallback()详解
  • 硬件知识积累 USB 接口 type - A type - B type - C 的介绍与功能说明 (简单介绍)
  • 【LeetCode】290. 单词规律
  • 研磨设计模式day12迭代器模式
  • Python3不支持sqlite3的解决方法
  • Qt应用开发(基础篇)——消息对话框 QMessageBox
  • ETC reset
  • 2023年8月30日-[SWPUCTF 2021 新生赛]jicao
  • MariaDB数据库服务器
  • Nat. Mach. Intell 2023 | DrugBAN+:域自适应的可解释双线性插值网络改进药物-靶标预测(DTI)
  • org.springframework.web.reactive.function.server.ServerResponse设置响应头
  • 高频面试题:如何分别用三种姿势实现三个线程交替打印0到100
  • 【git】Idea撤回本地分支、或远程分支提交记录的各种实际场景操作步骤
  • FPGA SPI 驱动程序
  • 【实战】十一、看板页面及任务组页面开发(五) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十七)
  • mac m1 docker 安装kafka和zookeeper
  • 宏观经济和风电预测误差分析(Matlab代码实现)
  • GO学习之 搜索引擎(ElasticSearch)
  • Sentinel —实时监控
  • 接口优化通用方案
  • 用Visual Studio 2022的.map文件来查看C++变量在内存中的布局情况
  • 使用代理突破浏览器IP限制
  • HuggingFace中的 Files and versions 如何优雅下载到本地?(Python requests,tqdm)
  • 三、原型模式
  • transformer实现词性标注
  • Java中异或操作和OTP算法
  • K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(下)