#!/user/bin/env python
# -*- coding:utf-8 -*-
# 1.字符格式化的两种方式format和%
# %s 字符串
# %c 字符
# %d 十进制(整数)
# %i 整数
# %u 无符号整数
# %o 八进制整数
# %x 十六进制整数
# %X 十六进制整数大写
# %e 浮点数格式1
# %E 浮点数格式2
# %f 浮点数格式3
# %g 浮点数格式4
# %G 浮点数格式5
# %%
# print("我叫%s,今年%d岁了" % ("小李", 20))
# 二、通过{} 替代 %#
# 1、正常使用
# >> > print("我叫{},今年{}岁了".format("小李", 20))
# 我叫小李,今年20岁了
# 2、还可以通过在括号里填写数字,修改格式化的顺序
#
# >> > print("我叫{1},今年{0}岁了".format("小李", 20))
# 我叫20,今年小李岁了
# 3、通过key取变量
# >> > print("我叫{name},今年{age}岁了".format(name="小李", age=20))
# 我叫小李,今年20岁了
# 4、通过下标
# person = ['小李', 20]
# print('我叫{0[0]}, 今年{0[1]}岁了'.format(person))
# '我叫小李, 今年20岁了'
# 6、填充与对齐,格式限定符,语法是{}中带: 号。填充常跟对齐一起使用^ 、 < 、 > 分别是居中、左对齐、右对齐,后面带宽度:号后面带填充的字符
# ,只能是一个字符,不指定的话默认是用空格填充
# >> > '{:>8}'.format('189')
# ' 189'
# >> > '{:>8}'.format('189')
# ' 189'
# >> > '{:0>8}'.format('189')
# '00000189'
# >> > '{:a>8}'.format('189')
# 'aaaaa189'
# 复制代码
# 7、精度与类型f
#
# >> > '{:.2f}'.format(321.33345)
# '321.33'
# 其中
# .2
# 表示长度为2的精度,f表示float类型
#
# 8、其他类型
#
# 主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
#
# 复制代码
# >> > '{:b}'.format(17)
# '10001'
# >> > '{:d}'.format(17)
# '17'
# >> > '{:o}'.format(17)
# '21'
# >> > '{:x}'.format(17)
# 用,号还能用来做金额的千位分隔符。 >> > '{:,}'.format(1234567890) '1,234,567,890'
#
# print("this is %s ,age:%d" % ("zhangsan", 18))
# print("this is %s" %"zz")
# print("this is %.f" %(4.7895))
# print("is %.2f %%" %123) #百分号表示用两个百分号表示。后面什么也不要根。
# print("is %(jj).2f" % {"jj": 123.45678})
# print("is %(name)s,%(age)d" %{"name": "alx","age": 19})#记得声明后面的数据类型。否则会报错
# print("my name is {},age is {}".format("alx",13))
# print("my name is {1},he is {0}".format("alx","lucy"))
# print("my name is {},age is {}".format(*["alxe",19]))#用列表的时候记得加*
# print("my name is {name},age is {age}".format(**{"name":"lucy","age":19}))#用字典的话加两个*
# print("my name is {name},age is {age}".format(name="lucy",age=19))#不带{}调用方式
# print("my name is {name},age is {age}".format_map({"name":"alix","age":19}))#formatmap可以直接调用字典而不用加*号
# p1=["luyi",19]
# print("this is {0},age{1}".format(*p1))#或者指定确切下标例如下面
# p1=["luyi",19]
# print("this is {0[0]},age{0[1]}".format(p1))#和上面是一样的结果
# print("my name is {:s},age is {:d}".format("alx",13))#:后面跟着的数据类型
# print("my name is {:s},ag is {:.2f}%".format("alx",13.45678))#百分比的一种显示
# print("my name is {:s},ag is {:.2%}%".format("alx",13.45678))#转换百分比的另一种形式。
print("is {:,}".format(123548795))#金额显示逗号分割