python的__str__()和__repr__()方法
__str__()和__repe__()方法定义一个值通过print打印时返回时的显示样式
l=list('hello')
print(l) #['h', 'e', 'l', 'l', 'o']
class animal:
pass
cat=animal()
print(cat) #<__main__.animal object at 0x0000021035247748>
上面例子,cat实例的返回不具有可读性,下面通过__str__()和__repr__()方法自定义显示样式。
class animal:
def __init__(self,name,age):
self.name=name
self.age=age
def __str__(self):
return 'From __str__(),%s is %s'%(self.name,self.age)
def __repr__(self):
return 'From __repr__(),%s is %s'%(self.name,self.age)
cat=animal('cat',10)
print(cat) #From __str__(),cat is 10
print打印时,先寻找__str__()方法,如果该方法不存在则再寻找__repr__()方法,即两个同时存在时执行__str__()方法。
python的__str__()和__repr__()方法的更多相关文章
- Python中__str__和__repr__的区别
Python有一个内置的函数叫repr,它能把一个对象用字符串的形式表达出来以便辨认,这就是“字符串表示形式”.repr就是通过__repr__这个特殊方法来得到一个对象的字符串表示形式.如果没有实现 ...
- 浅谈python中__str__和__repr__的区别
很多时候我们在创建一个类的时候,在终端打印类或者查看的时候一般都不会得到一个太满意的结果 class T: def __init__(self): self.color="red" ...
- python中的__str__和__repr__方法
如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class A(object): def __init__(self,name,age): self.name=name se ...
- python __str__ 和__repr__方法
看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): self.data = value >> ...
- python 中的__str__ 和__repr__方法
看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): self.data = value >> ...
- python中__str__与__repr__的区别
__str__和repr __str__和__repr__都是python的内置方法,都用与将对象的属性转化成人类容易识别的信息,他们有什么区别呢 来看一段代码 from math import hy ...
- python中__str__与__repr__
(1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: class adder: def __init__(self,value=0): self.data ...
- python特殊函数__str__、__repr__和__len__
1.__str__ 首先介绍__str__ class Students(object): def __init__(self, *args): self.names = args # def __s ...
- 面向对象(__str__和__repr__方法)
#Author : Kelvin #Date : 2019/1/21 16:19 class App: def __init__(self,name): self.name=name # def __ ...
随机推荐
- 部分还款-还款试算接口-python
一.swagger-ui中 二.python中调用接口,出现的问题: 解决办法: import requests # 还款试算接口 ur1='http://10.253.43.83:8399/repa ...
- node使用 log4js
log4js //配置日志的输出级别,共ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF八个级别,defau ...
- 如何打印一棵树(Java)
1.有一棵多叉树,将它打印出来. import java.util.LinkedList; /** * 需求:按层打印一棵树 * 说明:树是保存在一个链表中 * created by wangjunf ...
- mysql 延迟添加唯一索引
MySQL [test]> create table tbl_keyword ( -> id int not null auto_increment primary key, -> ...
- 前端基础进阶(五):全方位解读this
https://segmentfault.com/a/1190000012646488 https://yangbo5207.github.io/wutongluo/ 说明:此处只是记录阅读前端基础 ...
- iOS 内存管理分析
内存分析 静态分析(Analyze) 不运行程序, 直接检测代码中是否有潜在的内存问题(不一定百分百准确, 仅仅是提供建议) 结合实际情况来分析, 是否真的有内存问题 动态分析(Profile == ...
- Tortoisegit和GitHub使用入门
作为一个Code人对于github并不陌生吧,记录下使用说明: gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub. 工具: git: ...
- 使用mysqlbinlog从二进制日志文件中查询mysql执行过的sql语句 (原)
前提MySQL开启了binlog日志操作1. 查看MySQL是否开启binlog(进mysql操作) mysql> show variables like 'log_bin%'; 2 ...
- node.js初识10
post请求 form.html <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- Python_summary
Q: python中出现IndentationError:unindent does not match any outer indentation levelA:复制代码的时候容易出现缩进错误,虽然 ...