本篇文章记录的是Python用户交互知识。
一、用户交互
1、Python3中的用户交互
这里站在程序员与计算机之间的交互,本质上就是你向计算机输入内容,计算机输出内容,反馈给你。
(1)接收用户的输入
通过input方法:
name = input('请输入你的大名:')
(2)容易掉的坑
注意:在Python3中,无论用户输入什么input都会把它放到一对引号中,就是把原数据类型,转换成了字符串类型,所以如果输入的int类型,想要进行四则运算,那么就要直接手动进行一下类型转换。
x = input('请输入数字')
x = int(x)
print(x + 10)
2、Python2中的用户交互
(1)raw_input
Python2中==raw_input()==等同于Python3中的input,都是会把用户输入的内容转化成字符串类型。
(2)input()
Python2中的input(),不会自动更改用户输入内容的数据类型,你输入什么类型,就返回什么类型的内容,虽热我们作为开发用Python2中input()很方便,但是对用户不是友好的,因为如果要使用就必须先了解Python的基础数据类型,所以在Python发展中舍弃了这种用户交互。
二、格式化输出
输入是input,输出就是output,在Python中输出用Print体现出来。
1、什么是格式化输出
就是字面意思,按照一定的格式输出内容,如:输出班级中每个学生的姓名和年龄。
姓名:xxx,年龄:xxx
这个时候我们就可以把格式理解成模版,只需要替换里面的关键内容即可。
姓名:张三,年龄:18
姓名:张四,年龄:19
姓名:张五,年龄:20
姓名:张六,年龄:21
姓名:张七,年龄:22
2、格式化输出的三种方式
(1)%格式化
%格式化是自从Python诞生以来就有的一种格式化方法,意思就是说Python2可以用这种方法,Python3也可以。
使用:
# %s 可以接收任意类型
name = 'alex'
info = '大家好我叫%s' % name
print(info) # 大家好我叫alex
# %d 只能接收int类型
print('我的年龄是%d' % 18)
# %f 只能接收float类型
print('我的体重是%fkg' % 55.7)
(2)format()格式化
format()是在Python2.6后出现的一种方法,我们做格式化,本质上是字符串的格式化,format()是字符串的一种内置方法,是Python解释器提供好的
使用:
1、一般情况
res = '我叫{},今年{}岁'.format('tom',18) #通过位置一一对应
print(res)
2、通过索引
res = '我叫{1},今年{0}岁'.format(18,'tom') #通过索引一一对应
print(res)
3、通过key=value
res = '我叫{name},今年{age}岁'.format(name='tom',age=18) #通过key=value一一对应
print(res)
(3)f格式化
f格式化是Python3.5以后才出现的一种更优雅的Python格式化方式
使用:
name = input('请输入名字:')
age = input('请输入年龄:')
res = f'你的名字是{name},年龄是{age}岁'
print(res)
3、三种格式化之间的速度
- 最快: f 格式化
- 其次: format( ) 格式化 [ 推荐这种方法 ]
- 最慢: % 格式化