python之格式化输出及函数format
程序员文章站
2022-07-14 23:42:37
...
python之格式化输出及函数format
一、字符串格式化代码:
格式 描述
%% 百分号标记
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中
二、格式化输出的两种方式
方式一:格式化操作符%
"%"是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。
实例一:%s,%d
username=input('your name is:')
password=int(input('your password is:'))
message='我是%s,我的密码%d ' %(username,password)
print(message)
pytharm3.6中执行结果为:
your name is:zhangjunchao
your password is:123456
我是zhangjunchao,我的密码123456
实例二:%s,%d
Name=input('请输入姓名:')
Age=int(input('请输入年龄:'))
Job=input('你的工作是:')
Hobbie=input('你的爱好:')
msg='''------ info ------
Name: %s
Age: %d
Job: %s
Hobbie: %s
------ end ------ ''' %(Name,Age,Job,Hobbie)
print(msg)
pytharm3.6中执行结果为:
请输入姓名:zhang
请输入年龄:22
你的工作是:IT
你的爱好:girl
------ info ------
Name: zhang
Age: 22
Job: IT
Hobbie: girl
------ end ------
注:''' '''是注释多行。
方式二:通过{}代替传统的%
Python2.6开始,新增了一种格式化字符串的函数str.format(),通过这个函数同样可以对字符串进行格式化处理。在format()函数中,使用“{}”符号来当作格式化操作符
1. 位置参数
[[email protected] python]# cat format-01.py
#!/usr/bin/pytho
# -*- conding:utf-8 -*-
print ("{0} is {1} years old".format("Wilber", 28))
print ("{} is {} years old".format("Wilber", 28))
print ("Hi, {0}! {0} is {1} years old".format("Wilber", 28)) #还可以通过在括号里填写数字,修改格式化的顺序
执行结果为:
zhangjunchao is 28 years old
zhangjunchao is 28 years old
Hi, zhangjunchao! zhangjunchao is 28 years old
2. 关键字参数,通过key取变量
[[email protected] python]# cat format-02.py
#!/usr/bin/pytho
# -*- conding:utf-8 -*-
print ("{name} is {age} years old".format(name="zhangjunchao", age=28))
执行结果为:
zhangjunchao is 28 years old
3. 下标参数,通过索引实现
person=['zhangjunchao',28]
print ("我是{0[0]} 我已经{0[1]}岁了".format(person))
pytharm3.6执行结果如下:
我是zhangjunchao 我已经28岁了
4. 填充与对其
格式限定符,语法是{}中带:号
填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
[[email protected] python]# cat format-01.py
#!/usr/bin/pytho
# -*- conding:utf-8 -*-
print ('{:>8}'.format('3.14'))
print ('{:<8}'.format('3.14'))
print ('{:^8}'.format('3.14'))
print ('{:0>8}'.format('3.14'))
print ('{:a>8}'.format('3.14'))
执行结果如下:
[[email protected] python]# python format-01.py
3.14
3.14
3.14
00003.14
aaaa3.14
5 浮点数精度
>>> print '{:.4f}'.format(3.1415926)
3.1416
>>> print '{:0>10.4f}'.format(3.1415926)
00003.1416
6 进制
# b、d、o、x分别是二进制、十进制、八进制、十六进制
print '{:b}'.format(11)
print '{:d}'.format(11)
print '{:o}'.format(11)
print '{:x}'.format(11)
print '{:#x}'.format(11)
print '{:#X}'.format(11)
7 千位分隔符
>>> print '{:,}'.format(15700000000)
15,700,000,000
推荐阅读
-
Python18之函数定义及调用,注释
-
Python学习笔记整理3之输入输出、python eval函数
-
python的格式化输出(format,%)
-
python之while循环/格式化输出/运算符/初始编码/成员变量
-
浅析python3字符串格式化format()函数的简单用法
-
Python中使用pprint函数进行格式化输出的教程
-
python的格式化输出(format,%)实例详解
-
Python之使用转义序列 \n 和 \t 跟 expandtabs 函数输出表格
-
XZ_Python之Python3基础_函数语法、参数及健壮性讲解
-
Python之lambda匿名函数及map和filter的用法