开发者

Python学习之字符串格式化

开发者 https://www.devze.com 2022-12-04 09:24 出处:网络 作者: 小瑀1987
目录一、这种占位符有很多二、具体的使用方式1、可以一次多插入几个数值2、打印浮点数(小数)3、打印百分数4、调用字典进行拼接5、sep 设置分割符号6、flags 格式符号三、format1、默认使用 拼接2、使用索引以及切片
目录
  • 一、这种占位符有很多
  • 二、具体的使用方式
    • 1、可以一次多插入几个数值
    • 2、打印浮点数(小数)
    • 3、打印百分数
    • 4、调用字典进行拼接
    • 5、sep 设置分割符号
    • 6、flags 格式符号
  • 三、format
    • 1、默认使用 拼接
    • 2、使用索引以及切片进行拼接
    • 3、调用元祖进行拼接
    • 4、使用字典作为format的元素库
    • 5、使用列表作为format的元素库
    • 6、占位计算符
  • 总结

    字符串拼接 %s % (%s表示将插入一个字符串类型的数据 str)

    就相当于 %s 是一个占位符,而句子后面的 %后面就是 要填入前面的值

    a = '我是%s 我16岁了' %'adam'
    print(a) #我是adam 我16岁了

    一、这种占位符有很多

    1、%s (str)这个是万能的 能接受各种数据 它写浮点数的时候 不进行四舍五入

    2、%d (int)插入整型数字

    3、%f 浮点数 打印浮点数(小数)

    最好将他们区分使用 不要只使用 %s

    二、具体的使用方式

    1、可以一次多插入几个数值

    b = 'adam'
    a = '我是%s 我%d岁了' %(b,16)
    print(a) #我是adam 我16岁了

    2、打印浮点数(小数)

    这里 f 前面 2 指的是 保留小数点后2位

    a = '我%.2f岁了YdjsYYf' %16.53333 #保留小数点后两位 会进行四舍五入
    print(a) #我16.53岁了

    3、打印百分数

    f 后面 添加2个% 是在插入值后面显示一个%的意思

    a = '含量%.2f%%' %16.53333
    print(a) #含量16.53 %

    4、调用字典进行拼接

    它通过索引key的方式进行填充占位的值

    a = '我是%(name)s 我%(age)d岁了' %{'name':'adam','age':16}
    print(a) #我是adam 我16岁了

    5、sep 设置分割符号

    sep的赋值 就是 分割符号,会被依次填入每个元素之间 引号里面的空格也算

    print('a','b','c','d',sep = ' = ' ) #a = b = c = d

    6、flags 格式符号

    这并不太常用

    +,右对齐 可以设置算上插入字符的总长度,缺少的位用空格不上

    a =YdJSYYf '我是%(name)+20s 我%(age)d岁了' %{'name':'adam','age':16}
    print(a) #我是                adam 我16岁了

    - ,左对齐 可以设置算上插入字符的总长度,缺少的位用空格不上

    a = '我是%(name)-20s 我%(age)d岁了' %{'name':'adam','age':16}
    print(a) #我是adam                 我16岁了

    空格,右对齐

    0,右对齐

    三、format

    1、默认使用 拼接

    format也是通过占位符把元素填入字符串内部的

    使用 { }大括号进行占位 默认将元素依次填入前面的大括号里面

    如果填入的元素数量不足则会报错

    a = '我是{},我{}岁了'.format('adam',16)
    print(a) #我是adam,我16岁了

    2、使用索引以及切片进行拼接

    使用元素的索引位,进行拼接,可以重复取一个元素 但是不能超出元祖的 索引位范围

    a = '我是{1},我{0}岁了'.format('adam',16)
    print(a) #我是16,我adam岁了

    使用切片的方式 进行拼接

    a = '我是{0[1]},我{1}岁了'.format([1,2,3],16)
    print(a) #我是2,我16岁了

    3、调用元祖进行拼接

    用变量名的形式进行占位

    a = '我是{a},我{b}岁了,我喜欢吃{c}'.format(a='adam',b = 16,c='卤煮')
    print(a) #我是adam,我16岁了,我喜欢吃卤煮

    4、使用字典作为format的元素库

    只需要在format 元素库的前面 加上** 两个星号

    a = '我是{a},我{b}岁了,我喜欢吃{c}'.format(**{"a":"adam","b":16,"c":"卤煮"})
    print(a) #我是adam,我16岁了,我喜欢吃卤煮

    5、使用列表作为format的元素库

    只需要在format 元素库的前面 加上* 两个星号

    而且还可以结合 索引拼接

    a = '我是{2},我{1}岁了,我喜欢吃{0}'.format(*['adam',16,'卤煮'])
    print(a) #我是卤煮,我16岁了,我喜欢吃adam

    6、占位计算符

    也可在占位符号的位置放入 插入符号如

    这些符YdJSYYf号会对插入的赋值进行相应的转换计算

    {:b} 2进制

    {:o} 8进制

    {:d} 整型

    {:x} 16进制且字母部分小写

    {:X} 16进制且字母部分大写

    {:%} 显示百分比默认显示小数点后6位

    a = '数字:{:b},{:o},{:d},{:x},{:X},{:%}'.format(15,15,15,15,15,0编程客栈.23789546777)
    print(a) #数字:1111,17,15,f,F编程客栈,23.789547%

    PS:

    #*和**的意思就是

    1、* 把列表中的元素 按顺序一次取出

    2、** 就是把字典的 键值 依次取出 并且变成 变量赋值的形式 :(a='adam',b = 16,c='卤煮')

    PS

    输出背景 字体格式以及 字体背景颜色是可以通过以下命令设置的

    从\033[43;1m 到 \033[0m 之间的字符全部被加上了背景色,43控制字体背景填充的颜色 字体格式等

    a = '我是\033[45;1m%(name)s\033[0m 我\033[42;1m%(age)d\033[0m岁了' %{'name':'adam','age':16}
    print(a) #我是adam 我16岁了

    总结

    本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号