Python进阶-----通过类的内置方法__format__自定制格式化字符串
Posted Meanwey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python进阶-----通过类的内置方法__format__自定制格式化字符串相关的知识,希望对你有一定的参考价值。
__format__方法可以自定格式化字符串,不定义的话会执行默认格式
format(obj) 等同于--> obj.__format__
format_dic = { ‘y-m-d‘:‘{obj.year}-{obj.mon}-{obj.day}‘, ‘d/m/y‘:‘{obj.day}/{obj.mon}/{obj.year}‘ } class Date: def __init__(self,year,mon,day): self.year = year self.mon = mon self.day = day def __format__(self, format_spec): #自定制格式化 if not format_spec or format_spec not in format_dic: #用于判断用于是否输入格式信息或者输入的不在格式信息字典内 format_spec = ‘y-m-d‘ #制定默认格式 fm = format_dic[format_spec] #通过格式字典取到对应的值 return fm.format(obj = self) #‘{obj.year}-{obj.mon}-{obj.day}‘.format(obj) obj应是实例化对象 d = Date(2018,10,14) x = format(d,‘y-m-d‘) print(x) #2018-10-14
以上是关于Python进阶-----通过类的内置方法__format__自定制格式化字符串的主要内容,如果未能解决你的问题,请参考以下文章
Python进阶-----通过类的内置方法__str__和__repr__自定制输出(打印)对象时的字符串信息