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个

img

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)
'''
尊敬的小明,您好!
'''

现在来做个测试:

获取用户的年龄(提示语句为:“请输入你的年龄:”),并打印出来。

效果如下:

请输入你的年龄:(输入:33

把写好的代码推到“PyLearningExample”仓库,具体方法见README。实战号:u3uinput。


好啦,这就是本期的内容!

散会~

img

results matching ""

    No results matching ""