• Python 入门 之 格式化输出


    1、格式化

    (1)% 为占位

    <1> %s --- 占字符串的位置(数字、字符串都能够进行填充)

    name = input('请输入姓名:')
    age = input('请输入年龄:')
    job = input('请输入职业:')
    hobby = input('请输入爱好:')
    msg = '''
    ----------- info of Cai Li ----------
    Name  : %s
    Age   : %s 
    job   : %s 
    Hobbie: %s 
    --------------- end ------------------
    '''
    print(msg%(name,age,job,hobby))
    

    <2> %d / %i --- 占数字的位置

    name = input('>>>')
    s1 = '1234%d' % int(name)
    s2 = '1234%i' % int(name)
    print(s1)
    print(s2)
    
    # 结果:
    >>>89
    123489
    123489
    # %d 和 %i 这种格式化只能用数字来填补占位
    

    <3> %% --- 转义

    占的位置和填充必须一一对应,填充的时候按照顺序填充

    num = input('>>>')
    s= '目前学习进度:%s%%' % num
    print(s)
    
    # 结果:
    >>>80
    目前学习进度:80%
    
    # 如果我们字符串中想要显示单独的%就需要用来个%%来转义,不然程序会认为那是一个占位
    

    <4> %s :万能的格式

    (2)%() :为填位(要与占位一一对应)

    # 举例:名片的制作
    name = input("name:")
    age = input("age:")
    addr = input("addr:")
    phone = input("phone:")
    info = """
    -----------info----------
    姓名:%s
    年龄:%d
    公司:%s
    电话:%d
    ------------end-----------
    """ % (name,int(age),addr,int(phone))
    print(info)
    

    2、f"{ }" -- f-string

    Python3.6版本及以上才能使用 f"{ }" :

    name = "小明"
    print(f"{name}的学习进度2%")
    
    print(f"{input('>>>')},{23},{34},{45}")
    print(f"{input('>>>')},{23},{34},{45}")
    print(f"{'liang'},{15},{'女'}")
    

    (1)任意表达式

    f"姓名:{name} 年龄:{age}"
    f"姓名:{'cai'}"
    f"年龄:{34}"
    

    (2)可以插入表达式

    print(f"{3 if 3>2 else 2}")
    

    (3)多行f

    speaker = f'Hi {name}.'
              f'You are {age} years old.'
              f'You are a {ajd} guy!'
    

    (4)其他细节

    # ! , : { } ;这些标点不能出现在{} 这里面。
    # print(f'{;12}')      # 报错
    # 所以使用lambda 表达式会出现一些问题。
    # 解决方式:可将lambda嵌套在圆括号里面解决此问题。
    

    3、format()

    format()占位填充方式 :按照位置顺序进行填充;按照索引填充;按照名字进行新填充

    name = "{}今年:{}".format("cai",18)      # 按照位置顺序进行填充
    print(name)
    
    name = "{1}今年:{0}".format(18,"cai")    # 按照索引进行填充
    print(name)
    
    name = "{name}今年:{age}".format(name="cai",age=18)    # 按照名字进行填充
    print(name)
    
    天之涯,海之角,吾与money天荒地老。
  • 相关阅读:
    关于jabber协议
    xmpp相关链接,
    Implementation of the Server Dialback method as defined by the RFC3920
    好吧,隐藏的文件,
    Vue之methods watch和compute的区别和联系
    面向过程编程&面向对象编程
    JS高阶---线程与事件机制(小结)
    Vuex简介
    Vuex操作步骤
    vue单页面应用刷新网页后vuex的state数据丢失的解决方案
  • 原文地址:https://www.cnblogs.com/caiyongliang/p/11410961.html
Copyright © 2020-2023  润新知