zoukankan      html  css  js  c++  java
  • 自定制format

    '''format字符串格式化'''
    m = '{0}{0}{0}'.format('ok')
    print(m)
    
    class Date:
       def __init__(self, year, mon, day):
          self.year = year
          self.mon = mon
          self.day = day
    
    d1 = Date(2021, 4, 29)
    n = '{}{}{}'.format(d1.year, d1.mon, d1.day)
    n1 = '{0}{0}{0}'.format(d1) # <__main__.Date object at 0x0000021F8C078490> <__main__.Date object at 0x0000021F8C078490> <__main__.Date object at 0x0000021F8C078490>
    n2 = '{0.year}{0.mon}{0.day}'.format(d1)
    print(n)
    print(n1)
    print(n2)
    
    
    '''自定制format'''
    # 先定制一个格式字典
    format_dic = {
       'ymd': '{0.year}/{0.mon}/{0.day}',
       'm-y-d': '{0.mon}-{0.year}-{0.day}',
       'y:m:d': '{0.year}:{0.mon}:{0.day}'
    }
    
    class Date_one:
       def __init__(self, year, mon, day):
          self.year = year
          self.mon = mon
          self.day = day
    
       def __format__(self, format_spec): # 参数为定制格式字典的key
          if not format_spec or format_spec not in format_dic: # 判断format_spec参数为空和不等于format_dic的key值的情况
             format_spec = 'ymd'
          fm = format_dic[format_spec] # 取到key对应的value,即格式本身
          return fm.format(self) # __format__必须要有返回值,且返回值必须为字符串类型
    
    d2 = Date_one(2021, 4, 30)
    print(format(d2))
    print(format(d2, 'm-y-d'))
    print(format(d2, 'y:m:d'))
    while True: print('studying...')
  • 相关阅读:
    C语言与水仙花数
    C语言break和continue
    C语言中常量
    C语言中计算变量占用内存空间
    C语言中if语句
    JavaScript放置位置区别
    单选按钮中实现点击文字选中
    C语言(4)
    C语言(3)
    【第四课】kaggle案例分析四
  • 原文地址:https://www.cnblogs.com/xuewei95/p/14718875.html
Copyright © 2011-2022 走看看