第15讲:字符串格式化

Posted luoxun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第15讲:字符串格式化相关的知识,希望对你有一定的参考价值。

一 字符串的格式化

格式化字符串:就是按照统一的规格去输出字符串

1  format格式化函数

  • 语法:通过 {} 和 : 来代替以前的 
  • 位置参数
    • 默认位置:不指定格式化位置,按照默认顺序格式化
      • >>> "{} love {}.{}".format("I","FishC","com")
        ‘I love FishC.com‘

    • 设置位置:设置数字顺序指定格式化的位置
      • >>> "{0} love {1}.{2}".format("I","FishC","com")
        ‘I love FishC.com‘
        >>> "{2} love {0}.{1}".format("I","FishC","com")
        ‘com love I.FishC‘

    • 设置关键字:设置关键字指定格式化的内容
      • >>> "{a} love {b}.{c}".format(a="I",b="FishC",c="com")
        ‘I love FishC.com‘
        >>> "{c} love {b}.{a}".format(a="I",b="FishC",c="com")
        ‘com love FishC.I‘

    • 位置参数和关键字参数综合:位置参数必须在关键字参数之前,否则会报错,提示在没有设置关键字
      • >>> "{0} love {b}.{c}".format("I",b="FishC",c="com")
        ‘I love FishC.com‘
        >>> "{a} love {b}.{0}".format("I",b="FishC","com")
        File "<stdin>", line 1
        SyntaxError: positional argument follows keyword argument

  • 精度控制
    • :号后面设置精度(以.开始加上精度),然后用f结束,若不是设置,默认为精度为6,自动四舍五入,可带符号显示数字正负标志。
    • >>> "{0:.1f}{1}".format(27.658,"GB")
      ‘27.7GB‘

2 格式化字符%

  • 字符串格式化符号含义
    • 技术图片
  • 格式化操作符辅助命令
    • 技术图片
  • Python 的转义字符及其含义
    • 技术图片
  • 一些例子
    • >>> %d %s %c % (89,99,108)
      89 99 l
      
      >>> %d + %d = %d % (2,5,2+5)
      2 + 5 = 7
      
      >>> %o % 109
      155
      
      >>> %x % 198
      c6
      >>> %X % 198
      C6
      
      >>> %f % 27.908
      27.908000
      
      >>> %e % 27.908
      2.790800e+01
      
      >>> %g % 27.908
      27.908
      
      >>> %4.2f % 27.908
      27.91
      
      >>> %10d % 19
              19
      
      >>> %-10d % 19
      19        
      
      >>> %10+d % 19
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ValueError: unsupported format character + (0x2b) at index 3
      
      >>> %+d % 19
      +19
      >>> %+d % -19
      -19

二 课后习题

0. 编写一个进制转换程序ex15.py:

"""功能:进制转换
"""

q = True

while q:
    num = input("请输入一个整数(输入Q结束程序):")

    if num != Q:
        num = int(num)
        
        print("十进制:{}->二进制:{:b}".format(num,num))
        print("十进制:%d->二进制:" % num,bin(num))   

        print("十进制:{}->十六进制:0x{:x}".format(num,num))
        print("十进制:%d->十六进制:0x%x" % (num,num))

        print("十进制:{}->八进制:0o{:o}".format(num,num))
        print("十进制:%d->八进制:0o%o" % (num,num))
    else:
        q = False

执行结果:

PS E:3_work4_python2_code_python3_LittleTurtleStudio> python ex15.py
请输入一个整数(输入Q结束程序):145
十进制:145->二进制:10010001
十进制:145->二进制: 0b10010001
十进制:145->十六进制:0x91
十进制:145->十六进制:0x91
十进制:145->八进制:0o221
十进制:145->八进制:0o221
请输入一个整数(输入Q结束程序):Q

 

以上是关于第15讲:字符串格式化的主要内容,如果未能解决你的问题,请参考以下文章

第015讲:字符串:格式化 (课后测试题及答案)

android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错

[知了堂学习笔记]_JSON数据操作第2讲(JSON的封装与解析)

如何从我的 DatePicker 片段中传输格式化的日期字符串?

片段(Java) | 机试题+算法思路+考点+代码解析 2023

VSCode自定义代码片段15——git命令操作一个完整流程