目录
标准输入输出
标准输入
内置函数input()实现标准输入
input("提示字符串")
-
功能:提示字符串为可省略选项,从输入设备读取一行数据,并
返回一个字符串
(去掉结尾的换行符) -
使用类型转换函数可将字符串转换为数值类型
x = input("输入一个数据:")
print(x,type(x))
x = float(input("输入一个浮点数"))
print(x,type(x))
# 输出:
# 输入一个数据:whs
# whs <class 'str'>
# 输入一个浮点数3.1495762
# 3.1495762 <class 'float'>
input()函数与eval()函数
n = eval(input("输入一个表达式:"))
print(type(n))
print(n)
x,y = eval(input("输入两个数以逗号分隔"))
print(x)
print(y)
# 输出:
# 输入一个表达式:3,4
# <class 'tuple'>
# (3, 4)
# 输入两个数以逗号分隔3,4
# 3
# 4
标准输出
表达式
>>> x = 3
>>> x+56
59
- 这在终端有效,用于检查变量的值。
print()函数
- 格式:
print([输出项1,输出项2,输出项3....][,sep=分隔符][,end=结束符])
输出项之间以空格分隔,没有输出项时输出空行。
sep 表示输出时各输出项之间的分隔符(默认为空格)
end 表示结束符(默认以回车换行结束)
- 功能:从左往右依次求每一个输出项的值,并将各输出项的值依次显示在屏幕的一行上。
x,y,z = 10,20,30
print(x,y,z)
print(x,y,z,sep='~')
print(x,y,z,sep=',',end='****')
# 输出:
# 10 20 30
# 10~20~30
# 10,20,30****
格式化输出
字符格式化运算符 %
- 格式:
格式化字符串%(输出项1,输出项2,.....,输出项n)
格式化字符串由普通字符与格式说明符组成
普通字符原样输出,格式说明符决定所对应输出项的的输出格式
格式说明符以百分号开头,后面接格式标志符
print('Values are %s,%s,%s'%(3.2,2,['one','two']))
# 输出:Values are 3.2,2,['one', 'two']
- 格式说明符%s 将值转换为字符串。
- 格式运算符% 的处理结果是一个字符串,可以用print()函数输出该字符串
- 输出项1和输出项2均不是字符串,同样可以使用格式符%s,该过程中,
发现输出项不是字符串时,调用str()函数,把输出项转换为字符串类型
- 一般情况下没特殊要求,不管输出项如何,可以使用格式符%s
repr()函数也可实现其他类型到字符串类型的转换,如果要使用该函数,可以使用%r
常用格式说明符
格式说明符 | 格式化结果 |
---|---|
%% | % |
%c | 字符 |
%s | 字符串 |
%d | 带符号整数(十进制) |
%o(小写字母o) | 带符号整数(八进制) |
%x或%X | 带符号整数(十六进制) |
%e或%E | 浮点数字(科学计数法,用小写字母或大写) |
%f或%F | 浮点数字(用小数点表示) |
%g或%G | 浮点数字(根据值得大小,采用%e、%f或%E、%F) |
格式说明符复杂举例
- 示例一
print('%06.2f'%1.2362415)
#输出:001.24
分析:
6.2它的意义是,总共输出6个字符,其中小数不为占6位。
6前面的0,表示输出的位数不足6位就用0补全6位
小数点可以看出也占一位
与0标记类似功能:
标记 | 意义 |
---|---|
0 | 0填充 |
- | 左对齐 |
+ | 表示在正数前面加上+ |
print('%06.2f'%1.2362415)
print('%-6.2f'%1.2362415)
print('%+6.2f'%1.2362415)
# 输出:
# 001.24
# 1.24
# +1.24
- 示例二(输出项为字典类型时)
print('%(name)s:%(score)06.1f'%{'score':9.5,'name':'Lucy'})
# 输出:Lucy:0009.5
分析:
当输出项为字典时,我们就可在格式说明符中使用如
%(关键字)s的形式
示例三
print('%0*.*f'%(6,2,3.149526))
# 输出:003.15
分析:
这里输出长度与小数位数都是通过后面输出项的前两个参数来指定
format()内置函数
- 功能:
把
一个输出项按格式字符串中的格式说明符进行格式化
,然后函数解释格式字符串时根据输出项的类型决定的,不同类型有不同的格式化解释。
print(format(15,'X'),format(65,'c'),format(3.145,'6.2f'))
#输出:F A 3.15
基本格式控制符:
控制符 | 意义 |
---|---|
d | 十进制 |
b | 二进制 |
o(小写) | 八进制 |
x或X | 十l六进制 |
f或F | 小数形式 |
e或E) | 科学计数法形式 |
g或G | 浮点数字(根据值得大小,采用%e、%f或%E、%F) |
c | 输出以整数为编码的字符 |
% | 输出百分号 |
指定输出长度以及小数部分保留位数:
print(format(3.1419,'0m.nf'))
- 表示指定输出长度为m,输出小数位数为n,0指定填充,输出位数小于m时。
指定填充、对齐等:
符号 | 意义 |
---|---|
< | 左对齐 |
> | 右对齐 |
^ | 居中对齐 |
+ | 表示+号 |
- | 表示-号 |
= | 填充字符位于符号和数字之间 |
示例:
print(format('test','<20'))
#:test
print(format('test','>20'))
#: test
字符串的format()方法
原文链接
python是面向对象的语言,任何数据类型是一个类,任何具体的数据是一个对象。字符串也是类,要输出项格式化为一个字符串可以使用字符串的format()方法。
format()方法的调用格式:
格式字符串.format(输出项1,输出项2,........,输出项n)
格式字符串
中可以包括普通字符
和格式说明符
。普通字符原样输出,格式说明符决定所对应输出项的转换格式
格式说明符
- 格式说明符使用大括号起来,一起形式如下:
{[序号或键]:格式说明符}
- 可选的序号对应格式化输出项的位置,从0开始。0表示第一个输出项。
- 序号全部省略则按输出项的自然顺序输出。
- 可选的键对应于要格式化的输出项的名字或字典的键值。
format()参数传递方式:
- 位置传递
- 关键字传递
- 字典传递
- 列表下标传递
位置传递:
print('{} {} {}'.format(1,2,3))
print('{0} {1} {2}'.format(1,2,3))
print('{2} {1} {0}'.format(1,2,3))
print('{2} {2} {2}'.format(1,2,3))
print('{2} {2}'.format(1,2,3))
# 输出:
# 1 2 3
# 1 2 3
# 3 2 1
#3 3 3
#3 3
关键字传递: 在{}中注明好关键字,利用key=value来实现赋值
print('{cc}----{whs}'.format(cc='CC',whs='WHS'))
# 输出:CC----WHS
字典传递: 将参数放入字典中来传递参数
a = {'cc':3.145,'a':500}
print('{a:.2f} is {cc}'.format(**a))
# 输出:500.00 is 3.145
列表下标传递:
a = [3.145,100]
print('{0[0]}-----{0[1]}'.format(a))
# 输出:3.145-----100
format格式化的格式限定符
使用格式限定符可实现{}内部的格式化配置(如对齐,保留小数等)一般语法格式:{<参数位置序号>:<格式限定符/格式控制标记>
}
填充,对齐,宽度一起使用
:号后引导填充符号
(只能是一个字符, 不填默认为空格) 对齐格式 输出宽度
print('{:>10}'.format('MIKE'))
#输出: MIKE
print('{:*<15}'.format('HAJO'))
#输出:HAJO***********
print('{:+^15}'.format('Sham'))
#输出:+++++Sham++++++
数据处理,可参照下图:
f-string
格式化字符串
f-string 叫做 字面量格式化字符串与format的用法很相似
,只是f-string是直接在字符串中传入参数
示例1:
print(f'{cc[1]}---{cc[2]}')
# 输出:whs---WHS
对于填充和数据处理的可以参照format的格式,两者的格式是一样的
相关内容可自行参考官方文档