码迷,mamicode.com
首页 > 编程语言 > 详细

Python进阶-----通过类的内置方法__format__自定制格式化字符串

时间:2018-10-15 00:39:02      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:int   方法   nbsp   orm   格式   输入   elf   span   class   

__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__自定制格式化字符串

标签:int   方法   nbsp   orm   格式   输入   elf   span   class   

原文地址:https://www.cnblogs.com/Meanwey/p/9788853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!