zoukankan      html  css  js  c++  java
  • python字符串的格式化输出

    很多时候我们在打印输入内容时希望有简单格式而不是拼接

    一般做法:

    1 name = input("name:").strip()
    2 age = input("age:").strip()
    3 job = input("job:").strip()
    4 print("Name:" + name + " Age:" + age + " Job:" + job)

    结果为:

    Name:zhang Age:24 Job:IT

    格式化输出做法:

    name = input("name:").strip()
    age = input("age:").strip()
    job = input("job:").strip()
    info = '''
    ----------info of %s -------  # info里每个%s就是一个占位符
    Name :  %s
    Age :   %s
    Jog :   %s
    ----------end---------------
    '''%(name, name, age, job) # 这行的%就是把前面的占位符和括号后的变量关联
    print(info)

    结果为:

    ----------info of zhang -------
    Name :  zhang
    Age :   24
    Jog :   IT
    ----------end---------------

    除了%s还有%d、%f等多种类型可用,%d表示你输入的只能是数字,我们把age的%s换成%d看下会出现什么错误

     1 name = input("name:").strip()
     2 age = input("age:").strip()
     3 job = input("job:").strip()
     4 info = '''
     5 ----------info of %s -------
     6 Name :  %s
     7 Age :   %d
     8 Jog :   %s
     9 ----------end---------------
    10 '''%(name, name, age, job)
    11 print(info)

    报错信息:

    Traceback (most recent call last):
      File "C:/Users/admin/PycharmProjects/test.py", line 10, in <module>
        '''%(name, name, age, job)
    TypeError: %d format: a number is required, not str
    Name:li Age:25 Job:farmer

    原因是我们input输入的虽然是数字但是存到变量中是以字符串str类型保存的,要用%d必须要修改变量类型,把第10行做如下修改age变量转为int类型即可正常执行

    '''%(name, name, int(age), job)

    所以一般在格式化输出是用%s比较万能,因为你输入的都是字符串str,所以不会报错。

    补充另一种格式化输出函数format

    print('{0} {1} {0}'.format('a', 'b'))
    a b a
    print('{} {}'.format('a', 'b'))
    a b
    print('{name} {age}'.format(age=24, name='aaa'))
    aaa 24
  • 相关阅读:
    学习笔记
    display:inline、block、inline-block的区别
    响应式布局设计
    CSS中position属性三大定位方式讲解
    CSS position 属性 一定要有width
    JQuery中each()怎么跳出
    JSON 学习笔记
    【转】30个你不可不知的CSS选择器
    HTML文档类型的作用,文档类型有多少种?
    jQuery中children()与find()的区别
  • 原文地址:https://www.cnblogs.com/fanhk/p/8618673.html
Copyright © 2011-2022 走看看