Python学习笔记(3)——人机交互
接上回,这次来说说人机交互。
上一弹详见:Python学习笔记(2)——你不得不知道的小常识
额,分割线,我居然今天才发现这功能。真笨。(~ ̄(OO) ̄)ブ
1.概念:IO
英语六级的都知道,IO是Input/Output的缩写,翻译为“输入与输出”。
就比如,我现在在编“Python学习笔记”,这叫输入(Input);屏幕把我写的显示出来,这叫输出(Output)。
再比如,我用Python读取文档,这叫输入(Input);再用Python把文档打印到屏幕上,这叫输出(Output)。
文档的IO我们后面讲。
一般IO分同步和异步。
同步(单线程)指一步一步来。比如你来点餐,我做饭,完成后给你,然后继续招待其他顾客。
异步(多线程)指一次多步,一次多人。比如你来点餐,我做饭,小A继续招待其他顾客,小B来了,小A做饭,小C继续招待其他顾客……
但异步IO虽然可大量节省时间,但过于麻烦,因此本文为同步IO概念。
比如,就算有很简单的Asyncio,这样的代码:
import asyncio
async def hi():
print('Hi!')
await asyncio.sleep(0.5)
print('Hello!')
async def bye():
print('Byebye!')
await asyncio.sleep(0.5)
print('Good bye!')
async def system():
await asyncio.gather(hi(),bye())
if __name__ == '__main__':
asyncio.run(system())
你会写么?
所以,先闭嘴吧,我们后面讲。(⊙x⊙;)
2.实现IO吧
人机交互就是一种IO。会玩人机交互这种基本IO,才能正式开始写完美的脚本。
为什么?
因为你看,实现学生信息管理——SQLite IO,实现输入——人机交互IO,实现考勤——Excel IO……
那现在,我们就开始写人机交互代码吧。
2.1.输出(Output)
首先,输出可是基本功。
还记得我们第一弹写的代码吗?(第一弹详见:Python学习笔记(1)——迈出第一步)
if __name__ == '__main__':
print('Hello!')
其中有这么一个函数:
函数的整体概念我们后面讲。
print('Hello!')
这个print(xxx)就是输出的函数。
print有一个可选参数:
file=sys.stdout
sys.stdout意思为终端屏幕,因此print默认意思为把文字打印到屏幕上。
你也可以尝试把file指向open(),这样就可以把数据写入文档。
可别以为print太简单了,在一个我还没完成的166行的代码里,print的数量就高达32个!
print简直是每一行代码里都要有的角色!
比如:
print('Hi!')
print('Hello!')
print('This is Example.')
print('这是个测试。')
现在来做个测试:
用Python输出“你好呀!”,“喜欢我吗?”,“我是小明”,“我就是喜欢你!么么哒~”。
效果如下:
你好呀!
喜欢我吗?
我是小明
我就是喜欢你!么么哒~
把写好的代码推到“PyLearningExample”仓库,具体方法见README。实战号:u3uprint。
2.2.输入(Input)
其次,输入也很重要。比如,要想获取用户在想什么,你就得让他输入。
input是输入的函数,具体用法如下:
input('我是提示语句')
但实际运用中,要把input存入变量中。否则,input将无法存放用户的数据!
我是变量 = input('我是提示语句')
Python允许中文名变量。建议开发中不要运用,这里仅仅是演示罢了。
比如,游戏A必须实名,那小明怎么输入名字呢?
name = input('请输入名字:')
'''
请输入名字:(输入:小明)
'''
由于名字存入了变量name,因此可以轻松调取:
print('尊敬的%s,您好!'%name)
'''
尊敬的小明,您好!
'''
现在来做个测试:
获取用户的年龄(提示语句为:“请输入你的年龄:”),并打印出来。
效果如下:
请输入你的年龄:(输入:3)
3
把写好的代码推到“PyLearningExample”仓库,具体方法见README。实战号:u3uinput。
好啦,这就是本期的内容!
散会~

