精华内容
下载资源
问答
  • Python格式化输出

    万次阅读 多人点赞 2019-07-20 14:47:00
    Python格式化输出 格式化输出最常用的是format方法和占位符输出的方法 format方法 下面是使用format方法格式化输出字符串 print('{}{}{}'.format('小明','小红','小蓝')) 小明小红小蓝 下面是使用format方法格式化...

    Python格式化输出

    格式化输出最常用的是format方法和占位符输出的方法

    format方法

    下面是使用format方法格式化输出字符串

    print('{}{}{}'.format('小明','小红','小蓝'))
    
    小明小红小蓝
    

    下面是使用format方法格式化输出数字

    #对于整数
    print('{}'.format(2))
    
    2
    
    #对于小数   输出时只输出前n位小数位,不够时补0  冒号的作用就是让后面的部分生效
    print('{:.2f}'.format(2))
    print('{:.2f}'.format(2.344))
    print('{:.2f}'.format(2.355))
    
    2.00
    2.34
    2.35
    

    有时候需要对多个括号赋值

    print('{a:.2f},{b:.2f},{c:.2f}'.format(b = 2,c = 1,a = 0))
    
    0.00,2.00,1.00
    

    这里赋值要注意若前面大括号没有变量名,则后面也不需要,只要括号与数字一一对应即可,若前面大括号有变量名,则后面也需要标出变量名。

    print('{:.2f},{:.2f},{:.2f}'.format(2,1,0))
    
    2.00,1.00,0.00
    

    在使用format方法进行格式化输出大量数字时可能会有位数要求,还可以使用以下方法

    print('{:-<10}'.format(12.3))
    print('{:*<10}'.format(12.3))
    
    12.3------
    12.3******
    

    10表示输出的字符的长度,小数点也算一个长度, { : − &lt; 10 } \{:-&lt;10\} {:<10}的意思就是输出的数字长度为10,若不足10则用-代替,也可以用0或者空格代替不够的位数

    print('{:0<10}'.format(12.3))
    
    12.3000000
    
    print('{:<10}'.format(12.3))
    
    12.3 
    

    输出的字符默认左对齐,若要求右对齐使用下面的方法

    print('{:0>10}'.format(12.3))
    print('{:>10}'.format(12.3))
    
    00000012.3
          12.3
    

    若使用居中对齐,使用下面的方法

    print('{:-^10}'.format(12.3))
    
    ---12.3---
    

    若format后面的是一个str、list或者tuple时使用下面的方法进行格式化输出

    print('{0[0]}{0[1]}{0[2]}'.format(('小明','小红','小蓝')))
    print('{0[0]}{0[1]}{0[2]}'.format(['小明','小红','小蓝']))
    print('{0[0]}{1[1]}{2[1]}'.format('小明','小红','小蓝'))
    
    小明小红小蓝
    小明小红小蓝
    小红蓝
    

    { 0 [ 0 ] } \{0[0]\} {0[0]}中第一个0表示format方法括号内的是一个整体,是format匹配的第0个索引,第二个0表示是str、list或者tuple中的第0个元素

    下面是使用占位符方式进行格式化输出

    首先明确使用占位符输出时,%s表示字符串输出,%d表示整数输出,%f表示浮点数输出

    整数占位符输出

    print('%d,%d,%d'%(1,2,3))
    
    1,2,3
    

    字符串占位符输出

    print('%s,%s,%s'%('apple','banana','strawberry'))
    
    apple,banana,strawberry
    

    浮点数占位符输出

    print('%f,%f,%f'%(1,2,3))
    
    1.000000,2.000000,3.000000
    

    使用占位符输出浮点数时默认输出6位小数,有特别需要可以指定输出的小数位数

    print('%.2f'%3.445)
    
    3.44
    

    特别注意python3.7.3中,使用%.nf输出浮点数会进行五舍六入

    print('%.2f'%3.446)
    
    3.45
    
    展开全文
  • python 格式化输出 json 数据

    万次阅读 2018-03-08 12:26:04
    python 格式化输出 json 数据# -*- coding: utf-8 -*- import jsondata= { "msg": { "crc": 0, "msg_body": "How are you ?", "msg_len": 88, "recv_id": 319371, "send_id": 319371, "send_time":

    python 格式化输出 json 数据

    # -*- coding: utf-8 -*-
    import json
    
    data= {
    "msg": {
        "crc": 0,
        "msg_body": "How are you ?",
        "msg_len": 88,
        "recv_id": 319371,
        "send_id": 319371,
        "send_time": 0,
        "type": 96
      },
    "msgLen":90
    }
    
    
    print json.dumps(data, sort_keys=True, indent=2) # 排序并且缩进两个字符输出
    

    运行结果:

    {
      "msg": {
        "crc": 0, 
        "msg_body": "How are you ?", 
        "msg_len": 88, 
        "recv_id": 319371, 
        "send_id": 319371, 
        "send_time": 0, 
        "type": 96
      }, 
      "msgLen": 90
    }
    
    Process finished with exit code 0
    展开全文
  • python格式化字符串的三种方法(%,format,f-string)

    万次阅读 多人点赞 2019-07-18 23:25:51
    到目前为止,我所知道的,python格式化字符串有三种方法,第一是早期就有的%,其次是2.5之后的format(),还有就是3.6添加的f字符串调试 7.1 %格式化字符串 %格式化字符串是python最早的,也是能兼容所有版本的一种...

    DAY 7. 格式化字符串

    到目前为止,我所知道的,python格式化字符串有三种方法,第一是早期就有的%,其次是2.5之后的format(),还有就是3.6添加的f字符串调试

    7.1 %格式化字符串

    %格式化字符串是python最早的,也是能兼容所有版本的一种字符串格式化方法,在一些python早期的库中,建议使用%格式化方式,他会把字符串中的格式化符按顺序后面参数替换,格式是

    "xxxxxx %s xxxxxx" % (value1, value2)
    
    • 其中 %s就是格式化符,意思是把后面的值格式化为字符类型,类似的格式化符还有%d,%f等,具体参考文章Python字符串格式化
    • 后面的value1,value2就是要格式化的值,不论是字符还是数值,都会被格式化为格式化符对应的类型
    • 当然可以不用以元组的形式传值,你可以直接写这样:"xxxxx %s" % value,不过不建议这样写,一是应为这样只能传递一个参数,二是如果value是元组或列表等类型,这样会触发TypeErrer
    • 如果只传一个参数,并且很确定参数类型不会触发异常,可以使用上面的写法,否则,我建议你提供一个单元素元组,就像"xxxx %s " % (value,)
    value1 = (7, 8)
    value2 = [9, 0]
    print("DAY %s 格式化字符串 %s " % (value1,value2))
    value3 = 1
    s = "xxxix %s" % value3  # 不推荐
    print(s)
    s1 = "xxxx %s " % value1
    print(s1)  # TypeError: not all arguments converted during string formatting
    

    7.2 format()

    %虽然强大,但用起来难免有些麻烦,代码也不是特别美观,因此,在python 2.5 之后,提供了更加优雅的str.format()方法。

        def format(self, *args, **kwargs): # known special case of str.format
            """
            S.format(*args, **kwargs) -> str
    
            Return a formatted version of S, using substitutions from args and kwargs.
            The substitutions are identified by braces ('{' and '}').
            """
            pass
    
    • format()的常用用法
    # 使用名称占位符
    s2 = "xxxx {age} xxxx {name}".format(age=18, name="hangman")
    print(s2)  # xxxx 18 xxxx hangman
    
    # 使用序号占位符,为空默认从左到右01234.。。
    s3 = "xxxx {1} xxx{0}".format(value1,value2)
    print(s3)  # xxxx [9, 0] xxx(7, 8)
    
    # 也可以混合使用
    s4 = "xxxx {} XXX {name} xxx {}".format(value2,value1,name="s4")
    print(s4)  # xxxx [9, 0] XXX s4 xxx (7, 8)
    

    7.3 f-string

    f-string是2015年python 3.6 根据PEP 498新添加的一种字符串格式化方法,f-string实际上是在运行时计算的表达式,而不是常量值。在Python源代码中,f-string是一个文字字符串,前缀为’f’,其中包含大括号内的表达式。表达式会将大括号中的内容替换为其值。例如

    import datetime
    name = "zings"
    age = 17
    date = datetime.date(2019,7,18)
    print(f'my name is {name}, this year is {date:%Y},Next year, I\'m {age+1}')  # my name is zings, this year is 2019,Next year, I'm 18
    

    7.3.2 格式规范迷你语言

    “格式规范”用于格式字符串中包含的替换字段中,以定义各个值的显示方式

    标准格式说明符的一般形式是:

    format_spec     ::=  [[fill]align][sign][#][0][width][grouping_option][.precision][type]
    fill            ::=  <any character>
    align           ::=  "<" | ">" | "=" | "^"
    sign            ::=  "+" | "-" | " "
    width           ::=  digit+
    grouping_option ::=  "_" | ","
    precision       ::=  digit+
    type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
    
    (1) 对齐 align
    align(对齐方式)作用
    <左对齐(字符串默认对齐方式)
    >右对齐(数值默认对齐方式)
    =填充时强制在正负号与数字之间进行填充,只支持对数字的填充
    ^居中
    • 除非定义了最小字段宽度,否则字段宽度将始终与填充它的数据大小相同,因此在这种情况下,对齐选项没有意义。
    • 如果指定了align值,则可以在其前面加上可以是任何字符的填充字符,如果省略则默认为空格。 无法使用文字大括号(“{”或“}”)作为格式化字符串文字中的填充字符或使用str.format()方法。 但是,可以插入带有嵌套替换字段的大括号。
    print(f'{name:^18}')  # |      zings     |
    
    (2) sign

    sign只对数字起作用

    sign作用
    +强制对数字使用正负号
    -仅对负数使用前导负号(默认)
    空格对正数使用一个’ ‘作前导,负数仍以’-'为前导
    print(f'{money:+}')  # +19999999877
    
    (3) #选项

    '#'选项使“替代形式”用于转换。 对于不同类型,替代形式的定义不同。 此选项仅对integer,float,complex和Decimal类型有效。 对于整数,当使用二进制,八进制或十六进制输出时,此选项将前缀“0b”,“0o”或“0x”添加到输出值。 对于浮点数,复数和十进制,替换形式会导致转换结果始终包含小数点字符,即使后面没有数字也是如此。 通常,只有在跟随数字的情况下,这些转换的结果中才会出现小数点字符。 此外,对于“g”和“G”转换,不会从结果中删除尾随零。

    (4) ,选项

    ','被用来对数字整数部分进行千分位分隔

    描述符作用
    ,使用,作为千位分隔符
    _使用_作为千位分隔符
    • , 仅适用于浮点数、复数与十进制整数:对于浮点数和复数,, 只分隔小数点前的数位。
    • _ 适用于浮点数、复数与二、八、十、十六进制整数:对于浮点数和复数,_ 只分隔小数点前的数位;对于二、八、十六进制整数,固定从低位到高位每隔四位插入一个 _(十进制整数是每隔三位插入一个 _)。
    print(f'{money:,}')  # 19,999,999,877
    
    (5) width

    width是定义最小字段宽度的十进制整数。 如果未指定,则字段宽度将由内容确定。

    当然,format还有很多彪悍的特性,还可以看这位大佬的文章:Python字符串格式化

    (6) .precision

    .precision对于数字对象,用来指定数字的小数位数,如果有小数;对于非数字对象,用来指定最终返回的格式化字符的最大长度,即格式化完成后,以这个precision参数对结果进行截取

    (7) type

    [外链图片转存失败(img-AtydwvFj-1563463465332)(…/…/image/python_总结_01.png)]

    **注意:**格式规范迷你语言对format一样适用(本来就是format的)

    7.4 总结

    python最先的格式化字符串方法是%,但他的致命缺点是支持的类型有限,只支持int,str,double,其他所有类型只能转换为这几个类型,还有如果传递的是元组,那么必须还要传入一个单值元组,为此,添加了str.format()以解决%-formatting中的一些问题,特别是,它使用普通函数调用语法(并因此支持多个参数),并且可以通过__format __()方法在被转换为字符串的对象上进行扩展。但str.format()又存在代码冗余的问题,例如

    v = 6*8
    print("the value is {}".format(v))
    

    而使用f-string只需要

    print(f'the value is{6*8}')
    

    F字符串提供了一种简洁易读的方式,可以在字符串中包含Python表达式的值。包括lambda表达式(要放在括号里)

    参考文章

    PEP 498

    python doc

    Python字符串格式化

    Python格式化字符串f-string概览

    GitHub python 面试题

    展开全文
  • python 格式化输出 json 数据 # -*- coding: utf-8 -*- import json data= { "msg": { "crc": 0, "msg_body": "How are you ?", "msg_len": 88, "recv_id": 319371, "send_id": 319371, "send_tim...

    python 格式化输出 json 数据

    # -*- coding: utf-8 -*-
    import json
    
    data= {
    "msg": {
        "crc": 0,
        "msg_body": "How are you ?",
        "msg_len": 88,
        "recv_id": 319371,
        "send_id": 319371,
        "send_time": 0,
        "type": 96
      },
    "msgLen":90
    }
    
    
    print(json.dumps(data, sort_keys=True, indent=2)) # 排序并且缩进两个字符输出
    
    

    运行结果

    {
      "msg": {
        "crc": 0, 
        "msg_body": "How are you ?", 
        "msg_len": 88, 
        "recv_id": 319371, 
        "send_id": 319371, 
        "send_time": 0, 
        "type": 96
      }, 
      "msgLen": 90
    }
    
    展开全文
  • 4.Python格式化输出及列表

    千次阅读 2019-07-26 08:31:16
    4.Python格式化输出及列表 4.1format格式化输出 {} 起到占位符的功能,格式:print('我今天吃了{}个苹果,今天收入{}元'.format(2,300)) 在{}中输入 :.2f 表示对传到{}中的值保留两位小数。冒号左边可设置传入的...
  • Python格式化字符 %s %d %f %g实例讲解

    千次阅读 2019-05-17 21:56:35
    Python格式化字符 %s %d %f %g实例讲解 格式 描述 %% 百分号标记 #就是输出一个% %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六...
  • python格式化输出

    万次阅读 多人点赞 2014-12-31 17:13:15
    python相对格式化输出,包含format函数的简单实用
  • python格式化输出对齐补充填充 1、%占位符格式化字符串输出 print(str%value),str='%s%d' 2、使用format函数格式化字符串输出 '{}'.format() 3、使用str相关方法格式化字符串 str.zfill(),str.ljust(),str.rjust(),...
  • Python 格式化打印json数据(展开状态)

    万次阅读 2018-07-24 15:15:09
    **目的:Python 格式化打印json数据(展开状态) 环境: 系统:Win10 x64 环境:Pycharm Python 3.7.0 问题分析: Python下json手法的json在打印查看时,括号和数据都没有展开,查看起来比较困难。 ...
  • Python格式化输出控制print,format

    万次阅读 2018-05-04 23:55:03
    转自:https://blog.csdn.net/huangfu77/article/details/54807835格式 描述%% 百分号标记 #就是输出一个%%c 字符及其ASCII码%s 字符串%d 有符号整数(十进制)%u 无符号整数(十进制)%o 无符号整数(八进制)%x 无符号...
  • python 格式化输出保留两位小数

    万次阅读 多人点赞 2018-09-05 10:32:35
    #方法1: print("%.2f" % 0.13333) #方法2 print("{:.2}".format(0.13333)) #方法3 round(0.13333, 2)
  • python 格式输出 文件名 包含变量

    千次阅读 2019-03-27 11:06:43
    如果想在print的输出或者保存文件时的文件名中添加变量,可以使用下面的方法: ...如想实现其他格式输出(日期,前后添加空格,字符串截取输出等功能),请参考下面的链接: 参考链接
  • Python格式化print输出json数据

    千次阅读 2019-11-28 10:52:01
    对于request.get()得到的数据,可以通过.json()转成json格式,但是此时print()得到的是一行数据,查看不方便。 import requests r = requests.get(url) df = r.json() print(df) # 得到一行字符串 json格式输出 ...
  • Python 格式化输出时间(包含毫秒)

    万次阅读 2019-05-08 11:00:05
    将datetime格式化为具有毫秒的字符串 有一个datetime字符串从日期毫秒。 from datetime import datetime timeformatted= str(datetime.utcnow()) semiformatted= timeformatted.replace("-","") almostformatted...
  • python格式化日期输入

    千次阅读 2014-08-31 09:26:59
    strftime(...)  strftime(format[, tuple]) -> string... python中时间日期格式化符号:  %y 两位数的年份表示(00-99)  %Y 四位数的年份表示(000-9999)  %m 月份(01-12)  %d 月内中的一天(0-31)  
  • 一、python格式化输出 使用占位符输出时,%s表示字符串输出,%d表示整数输出,%f表示浮点数输出 优点:填充方式灵活,单个参数可以多次输出,参数顺序可以不同 1、整型 %d 表示整型 >>>name = 'lly' ...
  • Python格式化输出%.2f%%

    万次阅读 2019-08-19 14:07:40
    Python2.6之后新增的一宗格式化字符串的函数。 用{}和:来替换以前的% >>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序 'hello world' >>> "{0} {1}".format("hello", "world...
  • python格式化输出dict等集合对象

    千次阅读 2016-03-07 18:47:52
    调试程序的时候,如果需要打印出变量的信息,在python中很容易,一句...但是PHP的打印函数有个好处,就是打印格式良好,而Python的打印信息就不是很友好了,如# 模拟一个很大的键值对 dic = {} for i in xrange(201):
  • 转自:http://www.pythonclub.org/python-basic/print 使用print输出各型的 字符串 整数 浮点数 ...strHello = 'Hello Python' ...#输出结果:Hello Python ...1.格式化输出整数
  • 小白问题 。为什么不能直接用print()函数直接打印出来。
  • python格式化字符串之%()s

    千次阅读 2019-09-11 11:40:24
    此种方式,相当于起别名,后面跟key-value字典格式,关键在于字典的value要与前面对应。
  • Python格式化输出(计算百分比)

    千次阅读 2018-05-15 10:12:01
    当两个数相除,Python的结果会自动变成省略小数点的,例如1/2,我们的预期结果是0.5,但是Python会自动把他变成0,和我们的预期结果严重不符 如果吧int类型变成float类型...Python有一个格式化输出format(float(1) / ...
  • Python格式化输出 %s %d %f

    万次阅读 多人点赞 2017-11-22 10:38:16
    格式 描述 %% 百分号标记 #就是输出一个% %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符) %e 浮点...
  • python 格式化 字符串 操作符(%)

    万次阅读 多人点赞 2016-11-11 10:22:52
    “%”是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。 下面整理了一下Python中字符串格式化符合: 格式化符号 说明 %c 转换成...
  • python格式化千分位数字

    万次阅读 2011-11-15 13:04:17
    1、最新方法:2.7版本以上直接用format设置千分位分隔符 Python 2.7 (r27:82500, Nov 23 2010, 18:07:12) [GCC 4.1.2 20070115 (prerelease) (SUSE Linux)
  • Python格式化输出%s和%d

    万次阅读 多人点赞 2016-05-04 18:02:05
    python print格式化输出。 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ("He is %d years old"%(25)) 效果: 3.打印浮点数 print ("His height is ...
  • Python中使用format()函数来格式化字符串,先上一个代码示例: format_temp = "hello,{},welcome to {}!" format_temp.format("lily","China") 代码输出结果为:hello,lily,welcome to China! 2、使用讲解 字符串...
  • Python 格式化输出占位符替换

    千次阅读 2017-07-06 23:07:00
    Python 用有:%s、%d %s是字符串占位它可以接受数字或字符串 %d 是只可以接收数字 如下: name = input("Name:") age = input("Age:") job = input("Job:") hobbie = input("Hobbie:") info = ''' ------------...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 792,708
精华内容 317,083
关键字:

python格式

python 订阅