• 第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
  • 相关阅读:
    eslint 验证vue文件 报错 unexpected token =解决方法
    启动3ds Max报 d3dx9_43.dll丢失 解决方法
    windows下webpack不是内部命令 解决方法
    修改node.js默认的npm安装目录
    tp5 重定向缺少index.php报错(No input file specified)
    PHP单表操作mysqli数据库类的封装
    php 常见图片处理函数封装
    php图像处理函数image_type_to_extension、image_type_to_mime_type 的区别
    kubernetes集群部署mysql 8.0
    Maven ResourceBundle.getBundle读取Properties异常MissingResourceException: Can't find bundlei解决方法
  • 原文地址:https://www.cnblogs.com/luoxun/p/13261819.html
Copyright © 2020-2023  润新知