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
  • 相关阅读:
    easyui
    mvc
    Servlet简单计算器 2.0
    简易Servlet计算器1.0
    javaBean 练习—封装学生信息
    application和javaBean练习
    远程存储程序
    通讯录
    黑名单管理代码总结
    DAO
  • 原文地址:https://www.cnblogs.com/Meanwey/p/9788853.html
Copyright © 2011-2022 走看看