python format 冒号_python之格式化输出

字符串格式化有两种方式,%和format

先介绍下%号的方法

#%s的语法结构,叫做占位符,就是先占一个位置,然后我们用真实的要显示的数据替换占位符即可

#最简单的用法就是下面的方式,其实%s还有其他的功能

# s = '我的名字是%s,我的年龄是%d' %('alex',2)

# print(s)

# 我的名字是alex,我的年龄是2

#%[(name)][flags][width].[precision]typecode

#第一个参数[(name)],默认情况下%是按照顺序进行格式化的,用了name,我们可以用name来进行字符串格式化,比如下面的例子,

#可以根据名字来做格式化

# s = '我的名字是%(name)s,我的年龄是%(age)d' %{'name':'alex','age':12}

# print(s)

# 我的名字是alex,我的年龄是12

#flags,可以是 + - 空格 0,这个一般和width配合起来使用,%没有居中的功能

#+号,右对齐,正数前加+号,负数前加-号

# s = 'my age is %(age1)+10dDDDD,my brother age is%(age2)+10d' %{'age1':12,'age2':-12}

# print(s)

# my age is +12DDDD,my brother age is -12

#-号,左对齐,正数前无符号,负数前加-号

# s = 'my age is %(age1)-10dDDDD,my brother age is%(age2)-10d' %{'age1':12,'age2':-12}

# print(s)

# my age is 12 DDDD,my brother age is-12

#0 ,右对齐,正数前无符号,负数前加-号,用0填补空白处

#空格,右对齐,正数前加空格,负数前加-号

#width,占的位置的长度

#precision 小数点后显示多少位,这里会做四舍五入

# s = 'my age is %(age1)-10fDDDD,my brother age is%(age2)-10d' %{'age1':12.1234445,'age2':-12}

# print(s)

# my age is 12.123444 DDDD,my brother age is-12

# s = 'my age is %(age1)-10.4fDDDD,my brother age is%(age2)-10d' %{'age1':12.1234445,'age2':-12}

# print(s)

# my age is 12.1234 DDDD,my brother age is-12

# typecode

#s:是字符串

#o:将传入的值转换为八进制,然后把转换后的值做字符串格式化

#x:将传入的值转换为16进制,然后在把转换后的值做字符串格式化

#d,正数

#f,浮点数

# s = 'aaaaaadd %d------------%o----------%x' %(15,15,15)

# print(s)

# aaaaaadd 15------------17----------f

#e|E科学计数法,一个是显示小写的e,一个是大写的E

# s = '%e--------------%E' %(100000000000000000000,100000000000000000)

# print(s)

# 1.000000e+20--------------1.000000E+17

#%

# s = 'football %'

# print(s)

# s = 'football %%'

# print(s)

# football %

# football %%

# s = 'name is %s,%' %('dddd')

# print(s)

#这样会报错的

# s = 'name is %s,%%' %('dddd')

# print(s)

# name is dddd,%

下面介绍下format的方法

# [(fill)align][sign][#][0][width][,][.precision][type]

#fill:【可选】空白处填充的字符,这里只能写一个字符

#align,对齐方式,需要配合width使用

#

#>:内容左对齐

#=:

#^:内容居中

#sign 【可选】有无符合数字、

# + 正号加正,负数加负

#- 正号不变,负数加负

#空格,正号加空格,负数加负

# #号,【可选】对于二进制,八进制,16进制,如果加上#号,会显示0b 0o 0x,如果不加,则不显示前面的符号

#,号,如果比较大数字,可以每三位加一个逗号100,000,,000

#width,格式化位所占的宽度

#.precision,小数点的保留位

#type,格式化的类型

#b,将传入的数字转换成二进制

#format的常用的用法,这个是按照顺序来格式化的

# s = 'aaaaaaaadd{0},dddd{0}----{1}' .format('AAA','BBBB')

# print(s)

# aaaaaaaaddAAA,ddddAAA----BBBB

#按照名字做字符串格式化

# s = '-------{name:s},-------{age:d}------{name:s}' .format(name = 'AAA',age = 23)

# print(s)

# -------AAA,-------23------AAA

#[(fill)align][sign][#][0][width][,][.precision][type],这些全部都要放在冒号后面,冒号前面只能有一个字段,就是name

# s = '-------------{:@^10s}-----------' .format('AAA')

# print(s)

# -------------@@@AAA@@@@-----------

# s = '-------------{name:@^10s}-----------' .format(name = 'AAA')

# print(s)

# -------------@@@AAA@@@@-----------

# s = '--------{:%}' .format(1.345566677)

# print(s)

# --------134.556668%

#format必须要掌握的几种方式

# s = 'i am {},age {},{}' .format('foot',12,'boy')

# print(s)

# i am foot,age 12,boy

# s = 'i am {},age {},{}' .format(*['foot',12,'boy'])

# print(s)

# i am foot,age 12,boy

# s = 'i am {0},age {1},{1}' .format('foot',12)

# print(s)

# i am foot,age 12,12

# s = 'i am {0},age {1},{1}' .format(*['foot',12])

# print(s)

# i am foot,age 12,12

# s = 'i am {name},age is {age}' .format(name = 'foot',age = 12)

# print(s)

# i am foot,age is 12

# s = 'i am {name},age is {age}' .format(**{'name':'football','age':12})

# print(s)

# i am football,age is 12

# s = 'i am {name:s},age is {age:d}' .format(name = 'foot',age = 12)

# print(s)

# i am foot,age is 12

# s = '--{:b}--{:d}--{:x}--{:X}--{:%}' .format(15,15,15,15,15)

# print(s)

# --1111--15--f--F--1500.000000%

# s = '--{0:b}--{0:d}--{0:x}--{0:X}--{0:%}' .format(15)

# print(s)

# --1111--15--f--F--1500.000000%

s = '--{num:b}--{num:d}--{num:x}--{num:X}--{num:%}' .format(num = 15)

print(s)

# --1111--15--f--F--1500.000000%

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python使用字符串的.format()方法进行格式化输出。 1. 基本用法 将要输出的变量放入花括号{}中,用冒号:指定格式。比如: ```python name = 'Tom' age = 20 print("My name is {}, and I'm {} years old.".format(name, age)) ``` 输出结果为: ```python My name is Tom, and I'm 20 years old. ``` 2. 位置参数 使用位置参数可以指定变量的顺序,比如: ```python name = 'Tom' age = 20 print("My name is {0}, and I'm {1} years old.".format(name, age)) ``` 输出结果同样为: ```python My name is Tom, and I'm 20 years old. ``` 3. 关键字参数 使用关键字参数可以指定变量的名字,比如: ```python name = 'Tom' age = 20 print("My name is {n}, and I'm {a} years old.".format(n=name, a=age)) ``` 输出结果仍然为: ```python My name is Tom, and I'm 20 years old. ``` 4. 填充与对齐 可以使用冒号:指定填充字符和对齐方式。比如: ```python num = 123 print("{:<10d}".format(num)) print("{:^10d}".format(num)) print("{:>10d}".format(num)) ``` 输出结果为: ```python 123 123 123 ``` 其中,<表示左对齐,^表示居中对齐,>表示右对齐。 可以使用空格或0作为填充字符,比如: ```python num = 123 print("{:0>10d}".format(num)) print("{:x<10d}".format(num)) ``` 输出结果为: ```python 0000000123 123xxxxxxx ``` 5. 精度与进制 可以使用冒号:指定精度和进制。比如: ```python import math print("{:.2f}".format(math.pi)) print("{:4d}".format(12)) print("{:b}".format(12)) ``` 输出结果为: ```python 3.14 12 1100 ``` 其中,.2f表示保留两位小数,4d表示占用4个字符的整数,b表示二进制。 6. 格式化操作符 除了使用.format()方法外,还可以使用格式化操作符%进行格式化。比如: ```python name = 'Tom' age = 20 print("My name is %s, and I'm %d years old." % (name, age)) ``` 输出结果同样为: ```python My name is Tom, and I'm 20 years old. ``` 格式化操作符的基本用法是:将要输出的变量放在格式化字符串中的占位符中,使用%连接,比如%s表示字符串,%d表示整数。同样可以使用位置参数、关键字参数、填充与对齐、精度与进制等操作。比如: ```python num = 123 print("%010d" % num) print("%-10d" % num) print("%+d" % num) print("%.2f" % math.pi) ``` 输出结果与前面的例子相同。但是,使用.format()方法比使用格式化操作符更加灵活和方便,所以在实际开发中更加推荐使用.format()方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值