Python交互式控制台直接输入变量与print输出结果不同的示例请求
满足要求的
myvar实现示例 Python交互环境中直接输入变量名调用的是对象的__repr__()方法返回值,print()函数调用的是对象的__str__()方法返回值,只要让两个方法返回不同内容即可实现需求。
示例1:自定义类实现
先在交互控制台执行以下代码定义变量:
class CustomObj: def __repr__(self): return "<CustomObj object at 0x100abcdef>" def __str__(self): return "自定义对象的可读内容" myvar = CustomObj()
运行效果:
- 输入
>>> myvar得到的输出:<CustomObj object at 0x100abcdef> - 输入
>>> print(myvar)得到的输出:自定义对象的可读内容
示例2:内置类型极简实现
用带转义字符的字符串即可快速实现:
myvar = "第一行\n第二行"
运行效果:
- 输入
>>> myvar得到的输出:'第一行\n第二行' - 输入
>>> print(myvar)得到的输出:
第一行 第二行
内容的提问来源于stack exchange,提问作者hainabaraka
相关产品推荐
相关产品推荐

