zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Java学习之路----计算圆形的面积和周长
    数据库系统的基本组成内容
    软件测试的含义以及测试的对象
    wg sync.WaitGroup执行顺序
    go channel
    字符串操作
    scanf
    py停止工作
    jira索引失败
    py kafka
  • 原文地址:https://www.cnblogs.com/Meanwey/p/9788853.html
Copyright © 2011-2022 走看看