Python格式化字符串format

Python格式化字符串format

# python3以后支持新的字符串格式输出,
# 用法:它通过{}和:来代替传统%方式
# 1、使用位置参数
# 要点:位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表
li = ['hoho', 19]
tup = ('haha', 20)
dic1 = {'name': 'tom', 'age': 38}
set1 = {'yoy0', 21}
str1 = 'my name is {}, age {}'


def first():
    print(str1.format('tom', 18))
    print(str1.format(*li))  # 可以直接传入列表
    print(str1.format(*tup))  # 也可以直接传入元组
    print(str1.format(*set1))  # 也可以直接传入集合
    print(str1.format(*dic1))  # 也可以直接传入字典,但是取值为键,并不是值


# 2、使用关键字参数
# 要点:关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可
str2 = 'my name is {name}, age {age}'


def second():
    dic2 = {'name': 'lily', 'age': 38}
    print(str2.format(name='hoho', age=19))
    print(str2.format(**dic2))


# 3、索引
def third_index():
    str3 = 'my name is {1}, age {0},sex {sex}'  # {0} {1} 代表索引号
    print(str3.format(18, 'tom', sex='男'))


# 4、填充与格式化
# {:[填充字符][对齐方式 <^>][宽度]}
def four_format():
    str3 = '{:a>10}'  # a是填充字符,10是字符总宽度
    print(str3.format(10))  # 右对齐
    print('{:a<10}'.format(10))  # 左对齐
    print('{:a^10}'.format(10))  # 居中对齐


# 5、精度控制
def five_jindu():
    str5 = 'my name is {0}, age {1:0>2},身高{2:.2f}米,体重{3:.2f}'
    print(str5.format('tom', 9, 183.3122, 160.1233))

    # {1: 0 > 2}: # 1位置的变量,0是补充字符,>是右对齐,2是字符宽度为2位
    # {1:.2d}:  # 1位置的变量,以整数输出小数2位
    # {2:.2f}:# 2位置的变量,以浮数输出小数2位



# first()
# second()
# third_index()
four_format()
# five_jindu()
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值