Python中输入和输出的详细解读

文章目录

  • 一、输入
    • 1.input()函数
    • 2.eval()函数
    • 3.多个变量的输入
      • (1)split()函数
      • (2)map()函数
  • 二、输出
    • 1.print()函数
    • 2.字符串格式化format()方法
    • 3.字符串格式化占位符%

一、输入

1.input()函数

input()可以读取用户键盘输入的值,并以字符串的形式赋值给我们随意定义的变量中。我们可以设置提示语句,以便用户使用该程序更加清晰。

a = input("请输入长度:")
print(type(a))

运行结果如下:
在这里插入图片描述

2.eval()函数

由于input()函数赋值的时候是使用字符串,我们在后期使用的时候会遇到麻烦。我们直观可以想到的方法是使用数据类型的强制转换,将input传来的值更改为我们想要的数据类型。但是这也有麻烦,我们需要了解输入的数据类型,根据不同的数据类型进行不同的强制转换。这里我们引入eval()函数。它的功能是无论输入的数据类型是什么,我都以该数据类型赋值。输入的是字符串,就赋值字符串;输入的是整型,就赋值整型。

a = int(input("请输入长度:"))#数据类型强制转换
print(type(a))
b = eval(input("请输入长度:"))#eval()函数
print(type(b))

运行结果如下:
在这里插入图片描述

3.多个变量的输入

(1)split()函数

我们可以使用split()函数将输入的字符串通过指定的分隔符进行拆分,将他们依次赋值给我们随意定义的n个变量中。我们可以指定分隔符为任意字符,未填写时,默认为空格。

name,sex,age = input("输入用户信息:").split()#默认分隔符为空格
print(name,sex,age)
name,sex,age = input("输入用户信息:").split(",")#设置分隔符为逗号
print(name,sex,age)
print(type(name),type(sex),type(age))#输出变量的数据类型

运行结果如下:
在这里插入图片描述

(2)map()函数

多个变量输入无法使用eval()函数,因此无法将数据按原数据类型赋值给变量。这里我们引入map()函数,用split()函数将输入的数据分割成多个数据并放置于列表中,用map()函数中的int()等函数处理为原数据类型,最后依次赋值给变量。

a,b,c = map(int,input("请输入三角形的三个边长:").split())
print(a,b,c)
print(type(a),type(b),type(c))#输出变量的数据类型

运行结果如下:
在这里插入图片描述

二、输出

1.print()函数

该函数主要以四个参数组成,参数之间用逗号分隔。第一个参数是我们输出的变量名;第二个参数是分隔符,输出形式中对象之间的分隔符号,默认为空格;第三个参数是结束符,输出语句的结尾符号,默认为换行;第四个参数是输出目标,你输出在什么文件里,默认为显示器。
语法格式:

print(value1,value2,...[.sep=' '][,end='\n'][,file=sys.stdout])
		对象1,对象2,	分隔符		结束符		文件名

举例:

print('apple','banana','grape')#除对象名之外的参数均默认,若想实现输出字符串之间无空格,可使用字符串的连接
print('apple','banana','grape',sep='|',end='啥都爱吃')#分隔符为|,结束符为‘啥都爱吃’,输出目标为默认显示器

运行结果如下:
在这里插入图片描述

2.字符串格式化format()方法

一个输出语句实现多个数据类型的数据输出,可以省略常变量输出的复杂格式。
语法格式:

<string>.format(<参数列表>)

各形式的代码:

#参数列表直接存放数据,可多次输出
print('这个卖{0}块{1}个,买{1}块不?'.format(2,3))#依次输出参数
print('这个卖{1}块{0}个,买{1}块不?'.format(2,3))#改变参数位置,从而改变输出顺序
print('这个卖{}块{}个,买{}块不?'.format(2,3,3))#省略编号,默认从0开始排序

#参数列表存放变量,可多次输出
name='calm_down'
age=19
print('我的名字是{0},年龄是{1}。'.format(name,age))

#参数列表存放关键词,可多次输出
print('我的名字是{name},年龄是{age}。'.format(name='calm_down',age=19))

#数据格式化输出
#":"表示获取format方法中的参数
#".nf"表示保留n位小数
print('{:.2f}'.format(3.1415926))#保留两位小数,四舍五入
#"m>nd"表示以m作为补充字符,达成输出数据宽度为n,在数据左边填充
print('{:*>5d}'.format(15))
#".n%"表示保留n位小数,输出形式为百分比
print('{:.2%}'.format(25))#首先化为百分比形式,乘上100,再保留2位小数

运行结果如下:
在这里插入图片描述

数据输出形式输出备注
20000000{:,}20,000,000逗号分隔输出
20000000{:.1e}2.0e+07指数形式输出
20{:b}10100二进制输出
20{: o}24八进制输出
20{:d}20十进制输出
20{:x}14十六进制输出
20{:#X}0X14带前导符,十六进制大写输出,其他进制也可这么表示
20{:#x}0x14带前导符,十六进制小写输出,其他进制也可这么表示
20{:x<5d}20xxx在数据左边填充字符x,以达到5的宽度
20{:^8d}20宽度为8,中间对齐

3.字符串格式化占位符%

变量的类型和占位符要求匹配。

符号备注
%u无符号整型输出
%s字符/字符串输出
%o八进制输出
%d十进制输出
%x十六进制小写输出
%X十六进制大写输出
%e指数输出
%E科学计数法形式输出
%f浮点数输出
name = 'calm_down'
num = 3.14159265358
#占位符和变量的数据类型要匹配
#浮点型数据默认保留6位小数
print('我的名字是:%s,圆周率为:%f。'%(name,num))
#%.nf保留n位小数
print('我的名字是:%s,圆周率为:%.3f。'%(name,num))

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忙_

谢谢支持,我会更加努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值