精华内容
下载资源
问答
  • 主要介绍了python字符格式化方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • python格式化字符串的方式有两种,一种是使用"%s"的方式,一种是str.format()的方式,接下来就对这两种方式做个介绍1.%s的方式两种用法,第一种是在字符串中使用%s占位,在字符串后使用%替换值来替换,...

    python中格式化字符串的方式有两种,一种是使用"%s"的方式,一种是str.format()的方式,接下来就对这两种方式做个介绍

    1.%s的方式

    两种用法,第一种是在字符串中使用%s占位,在字符串后使用%替换值来替换,例如:

    print("my name is %s and i am %d years old" %("xiaoming",18)

    输出结果:my nameis xiaoming and i am 18years oldprint("Hello,%s" % "Tom")

    输出结果:Hello,Tom

    该方式的优点是简单,缺点是影响可读性的,在数量多了以后,很难清楚哪一个占位符对应哪一个实参,排序很麻烦

    另一种方式可以用字典的形式进行表示:

    print ("Hello,%(name)s" % {"name":"Tom"})#参数比较多的情况下这样用

    value = {"greet": "Hello world", "language": "Python"}print("%(greet)s from %(language)s." %value)print("%(greet)s from %(language)s." % {"greet": "Hello world", "language": "Python"}

    常用字符格式有:

    %% 百分号标记 #就是输出一个%

    %c 字符及其ASCII码

    %s 字符串

    %d 有符号整数(十进制)

    %u 无符号整数(十进制)

    %o 无符号整数(八进制)

    %x 无符号整数(十六进制)

    %X 无符号整数(十六进制大写字符)

    %e 浮点数字(科学计数法)

    %E 浮点数字(科学计数法,用E代替e)

    %f 浮点数字(用小数点符号)

    %g 浮点数字(根据值的大小采用%e或%f)

    %G 浮点数字(类似于%g)

    %p 指针(用十六进制打印值的内存地址)

    %n 存储输出字符的数量放进参数列表的下一个变量中

    2.format()方式

    在python2.6开始,Python中新增加了一个字符串格式化字符的函数str.format(),此函数可以快速的处理各种字符串,增强了字符串格式化的功能。

    基本语法是使用{}来替代%。format函数的实参位置可以不按照顺序

    1.使用位置参数

    要点:位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表

    "{} {}".format("hello","world")#设置指定位置,按默认顺序

    输出为:'hello world'

    "{1} {0}".format("world","hello") #设置指定位置

    输出为:'hello world'

    "{1} {0} {1}".format("hello", "world") #设置指定位置

    输出为:'world hello world'input=["hello", "world"] #传入位置参数列表可用*列表

    "{} {}".format(*input)

    输出为:'hello world'

    2.使用关键字参数,类似于使用字典key值占位,将字典作为参数传入字符串

    要点:字符串中的关键字参数要与传入的参数值对得上,可用字典当关键字参数传入值,字典前加**即可

    hash = {'name':'Bingo','age':18}'my name is {name},age is {age}'.format(name='Bingo',age=18)

    输出:'my name is Bingo,age is 18'

    'my name is {name},age is {age}'.format(**hash)#通过关键字,并用字典当关键字传入值时,在字典前加**即可

    输出:'my name is Bingo,age is 18'

    3、填充与格式化(:[填充字符][对齐方式 <^>][宽度])

    ^、<、>分别是居中、左对齐、右对齐,:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充,对齐方式后面紧跟一个整数可以限定该字段的宽度。

    '{0:*>10}'.format(9) ##右对齐

    输出:'*********9'

    '{0:*<10}'.format(9) ##左对齐

    输出:'9*********'

    '{0:*^10}'.format(9)##居中对齐

    输出:'****9*****'

    4、精度与进制

    '{0:.2f}'.format(1/3)

    输出:'0.33'

    '{0:b}'.format(10) #二进制

    输出:'1010'

    '{0:o}'.format(10) #八进制

    输出:'12'

    '{0:x}'.format(10) #16进制

    输出:'a'

    '{:,}'.format(12369132698) #千分位格式化

    输出:'12,369,132,698'

    5、通过下标

    my_list = ['xiaoming',18]"name {0[0]}, age {0[1]}".format(my_list) #通过列表索引设置参数

    'name xiaoming, age 18'

    扩展:

    如果字符串里面含有 "{" 或者 "}"时,需要把 "{" 和 "}" 字符以 "{{" 和 "}}" 代替。

    例如:"{'name1':'{0}','name2':'{1}'}".format('qpy','wjx') 该字符串中包含额外的{},执行该命令后,会报错,解决方法是将{}用{{}}代替,即

    "{{'name1':'{0}','name2':'{1}'}}".format('qpy','wjx')

    展开全文
  • format方式是在Python3引入了一个新的字符格式化的方法,并且随后支持了Python2.7。这个新的字符格式化方法摆脱了%操作符并且使得字符格式化的语法更规范了。现在时候通过调用字符串对象的.format() 方法进行...

    format方式是在Python3引入了一个新的字符串格式化的方法,并且随后支持了Python2.7。这个新的字符串格式化方法摆脱了%操作符并且使得字符串格式化的语法更规范了。现在时候通过调用字符串对象的.format() 方法进行格式化。

    1、位置映射

    1425775-20190927130435662-2119140606.png

    print("{}:{}".format('192.168.0.100',8888))
    #192.168.0.100:8888

    2、关键字映射

    1425775-20190927130530995-659471409.png

    print("{server}{1}:{0}".format(8888,'192.168.1.100',server='Web Server Info :'))
    #Web Server Info :192.168.1.100:8888

    3、元素访问

    1425775-20190927130603516-1708524981.png

    print("{0[0]}.{0[1]}".format(('baidu','com')))
    #baidu.com

    4、填充对齐

    1425775-20190927130649708-45203144.png

    for i in range(1,10):
        a = 1
        while a <= i:
            print("{0}*{1}={2:0>2}".format(a,i,a*i),end="\t")
            a +=1
        print()
         
    """
    1*1=01
    1*2=02 2*2=04
    1*3=03 2*3=06 3*3=09
    1*4=04 2*4=08 3*4=12 4*4=16
    1*5=05 2*5=10 3*5=15 4*5=20 5*5=25
    1*6=06 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
    1*7=07 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
    1*8=08 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
    1*9=09 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
    """

    转载于:https://www.cnblogs.com/cpl9412290130/p/11597373.html

    展开全文
  • 字符格式化有两种方式:百分号方式、format方式。 其中,百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存。 1.百分号方式 格式:%[(name)][flags][width].[precision]typecode ...

    字符串格式化有两种方式:百分号方式、format方式。

    其中,百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存。

    1.百分号方式

    格式:%[(name)][flags][width].[precision]typecode

    (name)    可选,用于选择指定的key
    flags        可选,可供选择的值有:
        + 右对齐:正数的加正号,负数的加负号
        - 左对齐:正数前没有负号,负数前加负号
    width    可选,占有宽度
    .precision    可选,小数点后保留的位数
    typecode     必选
        s,获取传入的对象__str__方法的返回值,并将其格式化到指定位置
        r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
        c,整数:将数字转换成其unicode对应的值,10进制范围为0 <= i <=1114111
        o,将整数转换成八进制表示,并将其格式化到指定位置
        x,将整数转换成16进制,并将其格式化到指定位置
        d,将整数,浮点数转化为十进制表示,并将其格式化到指定位置
    

    例子:

    >>> s = 'hello, %s!' % 'python'
    >>> s
    'hello, python!'
    
    >>> s = 'hello, %s, %d!' % ('python', 2018)
    >>> s
    'hello, python, 2018!'
    
    >>> s = 'hello, %(name)s, %(year)d!' % {'name': 'python', 'year': 2018}
    >>> s
    'hello, python, 2018!'
    
    >>> s = 'hello, %(name)+10s, %(year)-10d!' % {'name': 'python', 'year': 2018}
    >>> s
    'hello,     python, 2018      !'
    
    >>> s = 'hello, %(name)s, %(year).3f!' % {'name': 'python', 'year': 2018}
    >>> s
    'hello, python, 2018.000!'
    

    %r 与 %s 区别:

    %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的。

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    >>> a = 'sunday'
    >>> print("Today is %s" % a)
    Today is sunday
    >>> print("Today is %r" % a)
    Today is 'sunday'  # 格式化部分用单引号输出
    
    >>> from datetime import datetime
    >>> d = datetime.now()
    >>> print('%s' % d)
    2018-09-10 08:52:00.769949
    >>> print('%r' % d)
    datetime.datetime(2018, 9, 10, 8, 52, 0, 769949)  # 可以看见与上面输出存在明显的区别
    

    2.format方式

    >>> s = 'hello, {}, {}'.format('python', 2018)
    >>> s
    'hello, python, 2018'
    
    >>> s = 'hello, {0}, {1}, hi, {0}'.format('python', 2018)
    >>> s
    'hello, python, 2018, hi, python'
    
    >>> s = 'hello, {name}, {year}, hi, {name}'.format(name='python', year=2018)
    >>> s
    'hello, python, 2018, hi, python'
    
    >>> s = 'hello, {:s}, {:d}, hi, {:f}'.format('python', 2018, 9.7)
    >>> s
    'hello, python, 2018, hi, 9.700000'
    
    展开全文
  • Python 字符格式化

    2017-08-15 12:40:28
    字符格式化Python字符格式化有两种方式:%格式符方式,format方式1. %格式符%[(name)][flags][width].[precision]typecode 格式化符号 说明 %c 转换成字符(ASCII 码值,或者长度为一的字符串) %r 优先用...

    参考:

    字符串格式化

    Python的字符串格式化有两种方式:%格式符方式,format方式

    1. %格式符

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

    “%”是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。

    格式化符号 说明
    %c 转换成字符(ASCII 码值,或者长度为一的字符串)
    %r 优先用repr()函数进行字符串转换
    %s 优先用str()函数进行字符串转换
    %d / %i 转成有符号十进制数
    %u 转成无符号十进制数
    %o 转成无符号八进制数
    %x / %X 转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写)
    %e / %E 转成科学计数法(e / E控制输出e / E)
    %f / %F 转成浮点数(小数部分自然截断)
    %g / %G %e和%f / %E和%F 的简写
    %% 输出% (格式化字符串里面包括百分号,那么必须使用%%)

    格式化操作符辅助符

    通过”%”可以进行字符串格式化,但是”%”经常会结合下面的辅助符一起使用。

    辅助符号 说明
    * 定义宽度或者小数点精度
    - 用做左对齐
    + 在正数前面显示加号(+)
    # 在八进制数前面显示零(0),在十六进制前面显示”0x”或者”0X”(取决于用的是”x”还是”X”)
    0 显示的数字前面填充”0”而不是默认的空格
    (var) 映射变量(通常用来处理字段类型的参数)
    m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

    常用方法示例:

    print "%.1f" % 2.5
    print "%f %4d " % (2.5, 100)

    2. format方式

    [[fill]align][sign][#][0][width][,][.precision][type]

    Python2.6开始,新增了一种格式化字符串的函数str.format(),通过这个函数同样可以对字符串进行格式化处理。在format()函数中,使用“{}”符号来当作格式化操作符。

    常用示例:

    # 精度
    # ---1.23----
    '---{:.2f}----'.format(1.2345) 
    
    # 格式化位所占宽度
    # <,内容左对齐 >,内容右对齐(默认) ^,内容居中
    # ---******welcome*******----
    '---{:*^20s}----'.format('welcome')
    # ---*************welcome----
    '---{:*>20s}----'.format('welcome')
    # ---welcome*************----
    '---{:*<20s}----'.format('welcome')
    
    # 不同进制输出
    # numbers: 1111,17,15,f,F, 1587.623000%,A
    "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{:c}".format(15, 15, 15, 15, 15, 15.87623, 65)
    
    # format常用格式化
    tp1 = "i am {}, age {}, {}".format("seven", 18, 'alex')
    tp2 = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
    tp3 = "i am {0}, age {1}, really {0}".format("seven", 18)
    tp4 = "i am {0}, age {1}, really {0}".format(*["seven", 18])
    tp5 = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
    tp6 = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
    tp7 = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
    tp8 = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
    tp9 = "i am {:s}, age {:d}".format(*["seven", 18])
    tp10 = "i am {name:s}, age {age:d}".format(name="seven", age=18)
    tp11 = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
    
    """
    i am seven, age 18, alex
    i am seven, age 18, alex
    i am seven, age 18, really seven
    i am seven, age 18, really seven
    i am seven, age 18, really seven
    i am seven, age 18, really seven
    i am 1, age 2, really 3
    i am seven, age 18, money 88888.100000
    i am seven, age 18
    i am seven, age 18
    i am seven, age 18
    """
    展开全文
  • 你学过的字符格式化方式有哪些?% 字符串格式化format字符串格式化F字符串二、% 字符串格式化操作��1.使用变量来替换字符串中的%sname = "可优"lover = "柠檬小姐姐"p...
  • 字符格式化在输出到终端或文件中是很有用的,可以给人一种阅读的美感,下面介绍一下python的三种字符格式化的三种方法 第一种:使用占位符 tester = "xiaogu" programmer = "laopan" print("abc %s, %s" % ...
  • python 字符格式化

    2017-11-28 14:00:00
    Python字符格式化有两种方式:百分号方式,format方式 1、百分号方式 格式:%[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐;正数...
  • Python字符格式化

    2018-01-15 18:44:00
    多数编程语言中都存在字符格式化方法,为方便查阅,特此汇总python语言中字符串格式化方式: 方式一:百分号% 格式 描述 %c 字符及ASCII码 %s 字符串 %d ...
  • python中对于字符串的格式化有三种方式,分别为使用%的方式, 使用fomat()格式换函数,还有在python3.6添加的f-string方式 下面是对于这三种方式的使用介绍 使用%格式化字符串 使用方法: 在%操作符的左侧为需要...
  • python格式化字符串1. 使用 % 格式化字符串使用 format 格式化字符串字面量格式化字符串(f-string) 1. 使用 % 格式化字符字符格式化符号: 符号 说明 %c 格式化字符及其ASCII码 %s 格式化字符串 ...
  • python字符格式化

    2020-07-30 20:45:35
    Python字符格式化有两种方式: 百分号方式、format方式。 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。 1、百分号方式 %[(name)][flags][width].[precision...
  • Python格式化字符串由两种方式可以选择:一种是格式化表达式(Formatting Expression),一种是格式化方法(Formatting Method)。其中格式化表达式在全Python版本支持,而格式化方法在Python 2.6, Python 2.7和Python ...
  • 我们格式化构建字符串可以有3种方法:1 元组占位符m = 'python'astr = 'i love %s' % mprint astr2 字符串的format方法m = 'python'astr = "i love {python}".format(python=m)print astr3 字典的占位格式化m = '...
  • Python格式化字符

    2021-03-31 20:28:30
    python中格式化字符串一共一两种方式:分别是 % 格式化方式和.format 格式化方式 2. % 格式化方式 %[(name)][flags][width].[precision]typecode (name): 可选,用于选择指定的key flags: 可选,可供选择的值有: +...
  • 字符格式化对于每个语言来水都是一个非常基础和使用的功能,学习Python的同学大概都知道可以用 % 语法来格式化字符串。然而为了让我们更方便的使用这个功能,语言本身也在对字符格式化的方法进行迭代!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,268
精华内容 907
关键字:

python字符格式化方式

python 订阅