专栏首页sktjpython 自定义格式化__format__

python 自定义格式化__format__

为了自定义字符串的格式化,我们需要在类上面定义 format() 方法。例如:

_formats = { 'ymd' : '{d.year}-{d.month}-{d.day}', 'mdy' : '{d.month}/{d.day}/{d.year}', 'dmy' : '{d.day}/{d.month}/{d.year}' }

class Date: def init(self, year, month, day): self.year = year self.month = month self.day = day

def __format__(self, code):
    if code == '':
        code = 'ymd'
    fmt = _formats[code]
    return fmt.format(d=self)

现在 Date 类的实例可以支持格式化操作了,如同下面这样:

d = Date(2012, 12, 21) format(d) '2012-12-21' format(d, 'mdy') '12/21/2012' 'The date is {:ymd}'.format(d) 'The date is 2012-12-21' 'The date is {:mdy}'.format(d) 'The date is 12/21/2012'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • flask 局部模板与宏(flask 16)

    {% macro qux(amount=1) %} {% if amount == 1 -%} I am qux. {%- elif amount > 1...

    用户5760343
  • python __slots__节省内存占用

    对于主要是用来当成简单的数据结构的类而言,你可以通过给类添加 slots 属性来极大的减少实例所占的内存。比如:

    用户5760343
  • flask dropzone带上传按钮(flask 73)

    from flask import Flask, render_template, request from flask_dropzone import Dr...

    用户5760343
  • canvas 鼠标位置缩放图形

    最近再做 webcad , 需要在 canvas  上对图形进行缩放,主要分为以下几个步骤:

    用户2434869
  • LeetCode 112 Minimum Depth of Binary Tree

    ShenduCC
  • iOS学习——UIPickerView的实现年月选择器

      最近项目上需要用到一个选择器,选择器中的内容只有年和月,而在iOS系统自带的日期选择器UIDatePicker中却只有四个选项如下,分别是时间(时分秒)、日...

    mukekeheart
  • 10年可视化:A股春节效应

    14亿、99.0865万亿、1万美元,这三个数字标志着我们向着联合国划定的高收入国家标准又迈进了一步!

    量化投资与机器学习微信公众号
  • Q110 Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced. For this problem, a hei...

    echobingo
  • 无人驾驶汽车系统入门——基于Frenet优化轨迹的无人车动作规划方法

    基于 Frenet 坐标系的动作规划方法由于是由 BMW 的 Moritz Werling 提出的,为了简便,我们在后文中也会使用 Werling 方法简称。在...

    AI科技大本营
  • CSS魔法堂:Box-Shadow没那么简单啦:)

    前言  说起box-shadow那第一个想法当然就是用来实现阴影,其实它还能用于实现其他好玩的效果的,本篇就打算说说box-shadow的那些事。 二话不说看效...

    ^_^肥仔John

扫码关注云+社区

领取腾讯云代金券