Python用户交互、格式化输出及运算符

2021-04-14 12:27

阅读:626

str.format
    该format方法是在Python 2.6中引入的,是字符串类型的内置方法。
    因为str.format的方式在性能和使用的灵活性上都比%号更胜一筹,所以推荐使用
    使用位置参数,按照位置一一对应
        print({} asked {} to do something.format(lili, egon))  # lili asked egon to do something

    使用索引取对应位置的值:
        print({0}{0}{1}{0}.format(x,y)) # xxyx

    使用关键字参数or字典:
        可以通过关键字or字典方式的方式格式化,打破了位置带来的限制与困扰
        print(我的名字是 {name}, 我的年龄是 {age}..format(age=18, name=egon))
        kwargs = {name: egon, age: 18}
        print(我的名字是 {name}, 我的年龄是 {age}..format(**kwargs)) # 使用**进行解包操作
            
    填充与格式化:
        先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]

        *号填充
            print({0:*.format(开始执行))    #开始执行******

        *>10:右对齐,总共10个字符,不够的用*号填充
            print({0:*>10}.format(开始执行))    # ******开始执行

        *^10:居中显示,总共10个字符,不够的用*号填充
            print({0:*^10}.format(开始执行))    # ***开始执行***
            
    进制转换:
        十进制转二进制:bin(11)
        十进制转八进制:oct(11)
        十进制转十六进制:hex(11)
        二进制转十进制:int(0b1011,2)
        二进制转八进制:int(0o13,8)
        二进制转十六进制:int(0xb,16)
    示例:
        print({salary:.3f}.format(salary=1232132.12351))  #精确到小数点后3位,四舍五入,结果为:1232132.124
        print({0:b}.format(123))  # 转成二进制,结果为:1111011
        print({0:o}.format(9))  # 转成八进制,结果为:11
        print({0:x}.format(15))  # 转成十六进制,结果为:f
        print({0:,}.format(99812939393931))  # 千分位格式化,结果为:99,812,939,393,931

format填充符号的使用:
  ^ 原字符串居中
  > 原字符串居右
  

  {who:*^10}
    who : 关键字参数
    * : 要填充的字符
    ^ : 原字符串居中
    10 : 总长度 = 原字符串长度 + 填充字符长度
  strvar = "{who:*^10}在{where:>>10},{do:!>>>>>>电影院,看喜洋洋!!!!!!

特殊符号的使用
  :d 整型占位符,要求数据类型必须是整型,否则会抛出异常
  :2d 占用两位,不够两位拿空格来补,默认居右
  :f 浮点型占位符,要求数据类型必须是浮点型,否则会抛出异常
  :.2f 小数点保留2位,默认小数保留六位
  :s 字符串占位符,要求数据类型必须是字符串
  :, 金钱占位符
    strvar = "{:,}".format(123456789) 123,456,789

 


评论


亲,登录后才可以留言!