Python数据输入/输出

标准输入输出

标准输入
内置函数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标记类似功能:

标记意义
00填充
-左对齐
+表示在正数前面加上+
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的格式,两者的格式是一样的

相关内容可自行参考官方文档

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值