'''
%用法
1、整数的输出
%o —— oct 八进制
%d —— dec 十进制
%x —— hex 十六进制
'''
def demoFunc():
print('%o' % 20) # 输出八进制
print('%d' % 20) # 输出十进制
print('%x' % 20) # 输出十六进制
'''
2、浮点数输出
(1)格式化输出
%f ——保留小数点后面六位有效数字
%.3f,保留3位小数位
%e ——保留小数点后面六位有效数字,指数形式输出
%.3e,保留3位小数位,使用科学计数法
%g ——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
%.3g,保留3位有效数字,使用小数或科学计数法
'''
def demoFunc02():
print('%f' % 1.11) # 默认保留6位小数
print('%.1f' % 1.11) # 保留一位小数
print('%e' % 1.11) # 默认保留六位小数,用科学计数法
print('%.3e' % 1.11) # 取3位小数,用科学计数法
print('%g' % 1111.1111) # 默认6位有效数字
print('%.7g' % 1111.1111) # 取7位有效数字
print('%.2g' % 1111.1111) # 取2位有效数字,自动转换为科学计数法
'''
(2)内置round()
round(number[, ndigits])
参数:
number - 这是一个数字表达式。
ndigits - 表示从小数点到最后四舍五入的位数。默认值为0。
返回值
该方法返回x的小数点舍入为n位数后的值。
round()函数只有一个参数,不指定位数的时候,返回一个整数,而且是最靠近的整数,类似于四舍五入,当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的情况时,如果要取舍的位数前的小数是奇数,则直接舍弃,如果是偶数则向上取舍。
注:“.5”这个是一个“坑”,且python2和python3出来的接口有时候是不一样的,尽量避免使用round()函数吧
'''
def demoFunc03():
print(round(1.1125)) # 四舍五入,不指定位数,取整
print(round(1.1135,3)) # 取3位小数,由于3为奇数,则向下“舍”
print(round(1.1125, 3)) # 取3位小数,由于2为偶数,则向上“入”
# demoFunc03()
'''
3、字符串输出
%s
%10s——右对齐,占位符10位
%-10s——左对齐,占位符10位
%.2s——截取2位字符串
%10.2s——10位占位符,截取两位字符串
'''
def demoFunc04():
print('%s' % 'hello world') # 字符串输入
print('%20s' % 'hello world') # 右对齐,取20位,不够则补位
print('%-20s' % 'hello world') # 左对齐,取20位,不够则补位
print('%.2s' % 'hello world') # 取2位
print('%10.2s' % 'hello world') # 右对齐,取2位
print('%-10.2s' % 'hello world') # 左对齐,取2位
'''
format用法
相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
位置匹配
(1)不带编号,即“{}”
(2)带数字编号,可调换顺序,即“{1}”、“{2}”
(3)带关键字,即“{a}”、“{tom}”
'''
def demoFunc05():
print('{} {}'.format('hello', 'world')) # 不带字段
print('{0} {1}'.format('hello', 'world')) # 带数字编号
print('{0} {1} {0}'.format('hello', 'world')) # 打乱顺序
print('{1} {1} {0}'.format('hello', 'world'))
print('{a} {tom} {a}'.format(tom='hello', a='world')) # 带关键字
# demoFunc05()
def demoFunc06():
# format的用法变形
# a.format(b)
print("{0} {1}".format("hello", "world"))
# f"xxxx"
# 可在字符串前加f以达到格式化的目的,在{}里加入对象,此为format的另一种形式:
a = "hello"
b = "world"
print(f"{a} {b}")
name = 'jack'
age = 18
sex = 'man'
job = "IT"
salary = 9999.99
print(f'my name is {name.capitalize()}.')
print(f'I am {age:*^10} years old.')
print(f'I am a {sex}')
print(f'My salary is {salary:10.3f}')
demoFunc06()
python格式化输出
最新推荐文章于 2024-03-20 23:09:37 发布