Python字符串格式化

一、%占位操作符

格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Python用一个tuple将多个值传递给模板,每个值对应一个格式符。 字符串格式化方法:在字符串中需要格式化的地方一律用%s来表示。然后输出的时候在%的左侧放置一个字符串(需要格式化的字符串),右侧放置需要用来格式化字符串的值(可以是一个数字或者一个字符串,也可以是包含多个值的元组或者字典)。

格式化字符串中的%s 部分称为转换说明符,它标记了需要插入转换值的位置。如果要格式化实数(浮点数),可以使用f说明符,同时提供需要的精度:一个句点再加上希望保留的小数位数。

基本形式:%[转换标记][宽度[.精度]]转换类型 常见转换类型:

def format_str():
""" 格式化字符串 """
name = "张三"
print('欢迎您,%s' % name)

# 整型,float类型
num = 12.33
  print('您输入的数字是:%.4f' % num)
num2 = 54
print('您的编号是: %04d' % num2)

t = (1,2,3,5)
print('您输入的元组是:%s' % str(t))

print('您的姓名:%(name)s' % {'name':name})

二、使用str.format()进行高级操作

它通过{}和:来代替%。

Demo

In [1]: '{0},{1}'.format('kzc',18) 
Out[1]: 'kzc,18'
In [2]: '{},{}'.format('kzc',18) 
Out[2]: 'kzc,18'
In [3]: '{1},{0},{1}'.format('kzc',18) 
Out[3]: '18,kzc,18'

//字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次
In [5]: '{name},{age}'.format(age=18,name='kzc') 
Out[5]: 'kzc,18'


def format_str_2():
    # 使用位置
    print('欢迎您, {0}, {1},---{0}说'.format('张三', '好久不见'))
    # 使用名称
    d = {
        'username': '李四',
        'num': 45
    }
    print('您好,{username}, 您的编号是{num}'.format(**d))

    # 格式化元组
    point = (1, 6)
    print('坐标位置:{0[0]}:{0[1]}'.format(point))

    # 格式化类
    user = User('李四', 23)
    # print(user.show())
    print(user)

三、格式化类

class User(object):

    def __init__(self, username, age):
        self.username = username
        self.age = age

    def show(self):
        return '用户名:{self.username}, 年龄: {self.age}'.format(self=self)

    def __str__(self):
        return self.show()       

除特别注明外,本站所有文章均为慕白博客原创,转载请注明出处来自https://geekmubai.com/programming/790.html

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

C++面向对象作业1

1324
来自专栏python3

python for循环

当range执行完之后,代码执行else部分代码。如果遇到break,终止循环,不会走else代码

2931
来自专栏DannyHoo的专栏

Block

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

1262
来自专栏蜕变

Python 数据类型

Python主要数据类型包括list(列表)、tuple(元组)、dict(字典)和set(集合)等对象,下面逐一介绍这些Python数据类型。

850
来自专栏九彩拼盘的叨叨叨

JavaScript 字符串练习题

如果对字符串的 API 不是很熟悉,可查阅 W3School JavaScript String API。

891
来自专栏C/C++基础

CC++变参函数

C语言中,有时需要变参函数来完成特殊的功能,比如C标准库函数printf()和scanf()。C中提供了省略符“…”能够帮主programmer完成变参函数的书...

901
来自专栏大闲人柴毛毛

稳扎稳打JavaScript(一)——作用域链内存模型

几个概念 在开始之前,先了解几个概念。 1.1. 作用域 作用域是指当前正在执行的代码能够访问到变量的范围; 每个函数都有各自的作用域,存储函数所有的局部变量...

4788
来自专栏java一日一条

Java常量池解析与字符串intern简介

  在Java应用程序运行时,Java虚拟机会保存一份内部的运行时常量池,它区别于class文件的常量池,是class文件常量池映射到虚拟机中的数据结构。 关于...

1032
来自专栏全沾开发(huā)

搞懂JavaScript中的连续赋值

搞懂JavaScript中的连续赋值 前段时间老是被一道题刷屏,一个关于连续赋值的坑。 遂留下一个笔记,以后再碰到有人问这个题,直接...

4056
来自专栏北京马哥教育

Python for 循环语句

? 文 | 糖豆 来源 | 菜鸟教程 糖豆贴心提醒,本文阅读时间4分钟,文末有秘密! Python for循环可以遍历任何序列的项目,如一个列表或者一...

4315

扫码关注云+社区

领取腾讯云代金券