zoukankan      html  css  js  c++  java
  • 第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
  • 相关阅读:
    C# OCR 文字识别[初级]
    首次试用 NeoSwiff ,用C#开发FLASH版的多国语言翻译
    星期天上午买了个nokia 的NGage QD手机
    高兴,今天总算鸟枪换炮了~
    3年前的小程序:破解需要delphi IDE 环境的vcl 控件
    基于Ajax的五子棋演示
    学习API HOOK,编写了一个winsock 的封包抓取程序,可免费使用;
    我得小猫爱摔交
    老是不中,算了算“双色球”和“3D”,全买到底要多少¥¥。。(C 代码)
    总算忙完了,大家'晚秋快乐'!
  • 原文地址:https://www.cnblogs.com/luoxun/p/13261819.html
Copyright © 2011-2022 走看看