3. Python基础使用

本章讲解如何在鲁班猫板卡上简单使用Python,它的使用方式与PC上并无区别。

3.1. 使用python交互式环境

我们可以直接运行python命令进入Python的交互式编程,交互式编程不需要创建脚本文件, 是通过Python解释器的交互模式进来编写代码。

在交互环境可以做一些简单的操作,比如在终端输出”hello world!”, 做一些算术运算等,最后通过 exit() 退出:

# 在终端输入
python3
# 输出内容
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
# 输入并回车
>>> print("hello world!")
# 输出
hello world!
>>>
# 输入
>>> 8+2
# 输出
10
# 退出交互模式,也可使用Ctrl+C退出
>>> exit()

3.2. 运行python脚本

我们也可以编写一个简单的Python代码,保存为 hello.py 文件并执行。

可以使用鲁班猫默认的vi编辑器编写代码或使用VS Code remote编写。

hello.py代码文件内容如下:

base/hello.py文件内容
print("Hello LubanCat!")

然后运行:

# 编写hello.py
# 使用ls命令确认目录下存在该文件
ls
# 以下为输出
hello.py

# 运行
python3 hello.py
# 输出
Hello LubanCat!

以下为使用VS Code remote编写及运行的情景:

../_images/vscode.png

3.3. import其它软件包

鲁班猫系统并不局限于运行基础的Python代码,它也可以在代码中导入第三方软件包, 制作更复杂的应用程序。

下面以获取某地天气的示例程序进行说明,我们新建一个 weather.py ,写入以下代码:

配套代码 base/weather.py文件内容
# 导入json、requests包
import json, requests

#输入地点
weather_place = "东莞"

#日期
date = []
#最高温与最低温
high_temp = []
low_temp = []
#天气
weather = []

# 请求天气信息
weather_url = "http://wthrcdn.etouch.cn/weather_mini?city=%s" % (weather_place)

response = requests.get(weather_url)
try:
    response.raise_for_status()
except:
    print("请求信息出错")

#将json文件格式导入成python的格式
weather_data = json.loads(response.text)

# 打印原始数据
# print(weather_data)

w = weather_data['data']

print("地点:%s" % w['city'])

#进行五天的天气遍历,并格式化输出
for i in range(len(w['forecast'])):
    date.append(w['forecast'][i]['date'])
    high_temp.append(w['forecast'][i]['high'])
    low_temp.append(w['forecast'][i]['low'])
    weather.append(w['forecast'][i]['type'])

    #输出
    print("日期:" + date[i])
    print("\t温度:最" + low_temp[i] + "\t最" + high_temp[i])
    print("\t天气:" + weather[i] + "\n")

print("\n今日着装:" + w['ganmao'])
print("当前温度:" + w['wendu'])

保存文件并尝试运行:

# 运行脚本
python3 weather.py

# 输出
Traceback (most recent call last):
  File "weather.py", line 1, in <module>
    import json, requests
ModuleNotFoundError: No module named 'requests'

它的出错提示说没有 requests 模块(它一般也被称之为软件包), 我们需要安装对应的包,才可以在python程序中正常使用。

安装requests依赖包:

# 方式一:直接使用pip安装
sudo pip3 install requests

# 方式二:使用apt安装
sudo apt -y install python3-requests

由于本示例中的requests依赖包也是debian支持的,所以可以直接使用apt安装, 对于标准的依赖包,我们都建议使用apt安装:《 用apt代替pip安装软件包 》,

而pip的安装方式主要用于安装apt找不到的第三方软件包。

安装成功后重新运行weather.py程序:

# 运行脚本
python3 weather.py

# 输出
地点:东莞
日期:27日星期五
        温度:最低温 21℃        最高温 28℃
        天气:阵雨

日期:28日星期六
        温度:最低温 18℃        最高温 23℃
        天气:中到大雨

日期:29日星期天
        温度:最低温 17℃        最高温 24℃
        天气:阴

日期:30日星期一
        温度:最低温 21℃        最高温 26℃
        天气:阴

日期:31日星期二
        温度:最低温 20℃        最高温 28℃
        天气:阵雨


今日着装:天气转凉,空气湿度较大,较易发生感冒,体质较弱的朋友请注意适当防护。
当前温度:27

3.4. 参考资料