首页 > 编程语言 >python 字符串格式化

python 字符串格式化

时间:2023-11-03 23:47:31浏览次数:57  
标签:格式化 name format python 18 2018 字符串 hello

Python字符串的格式化分为两种:1)% 方式    2)str.format()  方式。

str.format() 是比 % 较新的方式, 大多数的 Python 代码仍然使用 % 操作符。但最终会被str.format()代替,推荐使用str.format()

====================================================================================================

1、% 方式

1)用法

            %[(name)][flags][width].[precision]typecode

2)说明

          (name)     可选,用于选择指定的key
         flags      可选,主要用于数字类型
         width       可选,显示宽度,width大于显示的长度用空格填充,小于则原样输出
         .precision     可选,,显示长度,字符类型:.precision大于显示长度原样输出,小于则显示前precision位字符。数字类型:小数点后保留的位数
         typecode    必选,字符串格式化符号

flags 的选项有:

         +     右对齐;在正数前面显示加号“+”
         -      左对齐
         <sp>    右对齐;正数前用空格填充
         0     显示的数字前面填充'0'
         #     在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是%x或%X)

typecode 符串格式化符号:

         c   格式化字符及其ASCII码
         s   格式化字符串
         d   格式化整数
         u   格式化无符号整型
         o   格式化无符号八进制数
         x   格式化无符号十六进制数
         X   格式化无符号十六进制数(大写)
         f    格式化浮点数字,可指定小数点后的精度(默认保留6位小数)
         e   用科学计数法格式化浮点数
         E   作用同%e,用科学计数法格式化浮点数
         g   %f和%e的简写
         G   %f和%E的简写
         p   十六进制数格式化变量的地址
         %  显示一个 "%"

3)实例

         >>> "hello %s" % "world"
         'hello world'
         >>> "%s %d" % ("hello world", 2018)
         'hello world 2018'
         >>> "hello %10.2s" % "world"    #"world"的显示宽度 10,只显示两位字符
         'hello        wo'
         >>> "%(name)s, %(age)d" % {"name":"LaoWang", "age":18}    # 通过(name)指定显示的内容
         'LaoWang, 18'
         >>> "%.2f" % 123.456    # 数字类型,保留两位小数(默认四舍五入)
         '123.46'
         >>> "%(num).2f" % {"num":123.456}
         '123.46'

====================================================================================================

2、str.format()  方式    (可参考PEP 3101)

1)、用法

         :[[fill]align][sign][#][0][minimumwidth][.precision][type]

2)、说明

         fill          [可选] 填充字符,默认为 " "  (空格)
         #           [可选] 对于二进制、八进制、十六进制,如果加上#,会显示0b/0o/0x,否则不显示
         ,            [可选] 为数字添加分隔符,如:1,000,000
         minimumwidth      [可选] 格式化位所占宽度
         .precision        [可选] 小数位保留精度
         type         [可选] 格式化类型,与 % 的一样

         align  [可选] 对齐方式(需配合width使用)

         <  内容左对齐
         >  内容右对齐(默认)
         =  内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效
         ^  内容居中

         sign  [可选] 有无符号数字

         +    在正数前面显示加号"+"
         -    在正数前面不显示加号"+"
          <ap>  正数前用空格填充

3)实例

         >>> "{} {}".format("hello", 2018)
         'hello 2018'
         >>> "{0} {1}".format("hello", 2018)
         'hello 2018'

         >>> l1 = ["hello",2018]
         >>> "{0} {1}".format(*l1)    #通过列表设置参数
         'hello 2018'

         >>> "{0[0]} {0[1]} {1[1]} {1[0]}".format(l1, "abc") #通过索引设置参数
         'hello 2018 b a'

         >>> "{age} {name}".format(name="zhangsan",age=18)
         '18 zhangsan'
         >>> d1 = {"name":"zhangsan", "age":18}
         >>> "{name} {age}".format(**d1)  #通过字典设置参数
         'zhangsan 18'

         >>> "{0:-^15}".format("aa")            #居中显示,用"-"填充
         '------aa-------'

         >>> "{name:<10}".format(name="aa", age=18)    #居左显示
         'aa        '
         >>> "{age:>10}".format(name="aa", age=18)    #居右显示
         '        18'
         >>> "{:^10},{:<10.2f}".format("aa", 123.456)    #"aa"居左显示,宽度10;123.456居左显示,宽度10,保留两位小数
         '    aa    ,123.46    '

原文链接Python 字符串的格式化两种方式_Linux编程_Linux公社-Linux系统门户网站 (linuxidc.com)

标签:格式化,name,format,python,18,2018,字符串,hello
From: https://www.cnblogs.com/kitesong/p/17808738.html

相关文章

  • python——基础学习篇(3)
    【列表的加法和乘法】加法:s=[1,2,3], t=[4,5,6,], s+t=[1,2,3,4,5,6]乘法:s×3=重复三次【嵌套列表(二维列表)】matrix=[]直接应用访问嵌套循环(可用循环):is (同一性运算符)——字符串不变,列表可变 copy:y=x.copy() ——列表的一个copy方法,  y=copy.copy(列表,字......
  • python——基础学习篇(6)
    【字典】关键符号:{} 创建字典:1.直接使用大括号冒号的方法 2. 使用dict函数使用列表作用元素,每个元素又用元组包裹增:fromkeys(iterable[,  values]) :suchas:——d=dict.fromkeys("fish",250)——{“f”:250,“i”:250,“s”:250 ,“h”:250......
  • python——基础学习篇(5)
    【拆分和拼接】partition(从左往右找分割符)——rpartition(从右往左)split(sep=none,maxsplit=-1)——可把分割为一个一个·jion(iterable)——尽量用jion少用加法【格式化字符串的方法】format使用{}替换字段align:"<"左对齐(默认)   “>” 右对齐 ......
  • python——基础学习篇(4)
    【字符串】大小写字母换来换去:capitalize:首字母大写(其他小写)                   casefold:返回所有的字母都是小写的字符串                   title:字符串每个单词的首字母变成大写单词其他字......
  • python——基础学习篇(1)
    divmod(3,2)——(1,1)地板除布尔类型ture/flaseflase情况很少{none和flase,值为0的数字类型(0,0.0,0j),空集和空序列(){},}fraction(0,1)分子为0,分母为1 (1=true,0=flase)ture-flase=1逻辑运算and:得满足左右都是ture        or:只需要一个为true        no......
  • python_猜数字小游戏
    #需求:根据用户输入的数字进行猜数字游戏,要求:数字的范围(1,100),且最多有7次机会fromrandomimportrandintanswer=randint(0,100)foriinrange(7):you_answer=input("请输入一个整数:")ifyou_answer.isdigit():you_answer=int(you_answer)......
  • Python 利用pandas和matplotlib绘制饼图
    制作店铺销量占比圆环图在数据分析中,数据可视化是非常重要的一环。在可视化的过程中,圆环图是一种常用的方式,特别适合于展示各类别占比情况。本文将介绍如何使用Python中的pandas和matplotlib库,来制作一个店铺销量占比的圆环图。数据准备我们假设现在有一份销售数据的Exc......
  • 全网首发 Python3 实现快读(按字符读入(省内存专用
    全网首发Python3实现快读(按字符读入(省内存专用来源:https://www.luogu.com.cn/discuss/724761此题卡内存,如果按照Python常用的input().split()方法会MLE。因为input()一次读入大量字符串,占用内存极大。于是打算按照C++的快读逻辑写一个Python3的快读。然而并没有......
  • Python 包管理器入门指南
    什么是PIP?PIP是Python包管理器,用于管理Python包或模块。注意:如果您的Python版本是3.4或更高,PIP已经默认安装了。什么是包?一个包包含了一个模块所需的所有文件。模块是您可以包含在项目中的Python代码库。检查是否安装了PIP在命令行中导航到Python脚本目录的位......
  • Python 包管理器入门指南
    什么是PIP?PIP是Python包管理器,用于管理Python包或模块。注意:如果您的Python版本是3.4或更高,PIP已经默认安装了。什么是包?一个包包含了一个模块所需的所有文件。模块是您可以包含在项目中的Python代码库。检查是否安装了PIP在命令行中导航到Python脚本目录的......