第一个Python小程序全记录

点击获得封面头图

这一阵子迷上了Python.

因为是零基础的计算机小白,对于现在的主流语言一窍不通的我,选择了学习Python这门易上手实用性强的语言.

于是,便诞生了这篇文章——一个纯小白第一次写Python程序的全记录.


什么是Python

虽然一开头就介绍了Python的两个特点,但不过是寥寥.

我们来看一下维基百科对Python的解释:

Python
通用高级编程语言
是一种广泛使用的解释型、高级和通用的编程语言。Python支持多种编程范型,包括函数式、指令式、结构化、面向对象和反射式编程。它拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库。

过多的不再赘述,总之都突出了Python这门工具语言的强大之处.

开始Python的准备

  • 如果你是Windows用户

这里下载一个Python并安装(注意添加到环境变量).

  • 如果你是Linux用户

使用对应的包管理器进行安装即可(顺便安装一下python3-pip插件库)

  • 如果你只有手机

嗯,使用Termux随时随地编写Python程序也很方便呢


在安装完成后,打开终端输入命令以检查Python是否安装成功:

1
python

此时终端进入类似如下状态,则说明Python安装成功:

1
2
3
Python 3.10.0 (default, Oct 31 2021, 01:09:07) [Clang 12.0.8 (https://android.googlesource.com/toolchain/llvm-project c935d99d7 on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Tips: Ctrl D退出.

输入命令查看pip3是否安装成功:

1
pip3 -V

此时终端返回类似如下数据,则说明pip3安装成功:

1
pip 21.3.1 from /data/data/com.termux/files/usr/lib/python3.10/site-packages/pip (python 3.10)

补充说明:pip3Python3官方的一个强大的插件库,必不可少.

开始编写第一个程序

俗话说,万事"Hello World!"为先 那么我们就写一个程序以输出它吧!

补充说明:"Hello World!"已经成为了一种不成文的规定——即一种语言的学习先从输出"Hello World!"开始.

在命令行输入python以进入即时交互状态.

补充说明:表现了Python的面向对象性与反射性.

终端出现>>>时即可输入:

1
print("Hello World!")

回车执行:

1
2
>>> print("Hello World!")
Hello World!

看到这样的结果时,恭喜你!

你已经完成了一个简单Python程序的编写!

较为高级的”Hello World!”

一个程序不可能只有机器一直在输出——更何况是对于Python这种交互式语言.

那么我们就可以换一个高级一点儿的方法来实现交互式地输出”Hello World”:

  • 定义一个变量,其内容为”Hello World!”:
1
var = "Hello World!"
  • 输出该变量:
1
print(var)

回车执行:

1
2
3
>>> var = "Hello World!"
>>> print(var)
Hello World!

是不是比刚刚的高级一些了呢?但是仍然没有交互.

我们交互一下:

  • 定义一个可写入变量:
1
var = input("请输入Hello World:")
  • 输出该变量:
1
print(var)

回车执行:

1
2
3
4
>>> var = input("请输入Hello World:")
请输入Hello World:Hello World!
>>> print(var)
Hello World!

好了,现在的你已经可以写出更复杂的Python程序了!

插件的使用——requests

requests是Python一个最为有力之一的插件.

其主要功能与目的就是:让机器像人一样访问互联网.

具体是什么意思呢?我在这里举个例子.

平常我们浏览网页时,页面都是花花绿绿,甚是好看的(我的也是🌚)

而我们却不会在意浏览的html页面中包含哪些元素.

因为浏览器已经在瞬间帮助我们做好了渲染工作.

而requests模块的存在,让机器读取html页面变得可能:

因此,这就好像你的Python程序在自己上网一样.

不过程序没有对图形化界面的分析能力,只能从html页面上下手.

久而久之,requests成为了爬虫必不可少的工作.

我们来说明一个实例吧!

打开终端,首先安装requests插件:

1
pip3 install requests

随后输入python进入交互模式,

输入:

1
2
3
4
5
6
7
import requests ##导入requests插件

url = "https://wzk0.github.io" ##定义一个待访问的页面为变量"url"

r = requests.get(url) ##通过requests请求url,并将返回结果定义为变量"r"

print(r.text) ##以文本格式输出r

我们来看看运行结果:

如图所示

是不是很神奇?返回并且输出了HTML代码呢!

但是里面有很多我们不需要的东西,比如标签什么的.

那么我们怎么筛选呢?

Tips:关于requestss的更多,强烈建议看看这个

插件的使用——json

json是一种人类可读的语言,我将其称为条理清晰的卡片语言.

为什么这么说呢,看一张图就明白了:

如图所示

这种格式简直比HTML好看不止一点点啊!

而此时我们访问的这个url,便是下一个子标题要说明的API.

不懂没有关系!把上一个子标题中的url换一个即可.

1
2
3
4
5
6
7
8
9
10
import requests
import json ##导入插件

url = "https://autumnfish.cn/search/hot/detail" ##定义一个待访问的页面为变量"url"

r = requests.get(url) ##通过requests请求url,并将返回结果定义为变量"r"

temp = json.loads(r.text) ##将json格式转换成text格式

print(temp) ##以文本格式输出temp

结果如图所示:

如图所示

可以看到,返回了一大串数据,但却不像HTML一样杂乱.

这种格式就叫做json!

那么怎么实现只输出想要的那部分呢?比如说我只想输出返回数据中的”还是会想你”,怎么做呢?

我们来观察一下数据,”还是会想你”在’searchWord’这个东西后面跟着,

而在这些之前,他们都被包括在一个名为’data’的东西里.

所以,我们只要先输出’data’,再输出’searchWord’就行了!

我们来试一下:

如图所示

最后,我们通过输出temp['data'][0]['searchWord']这个东西,来实现了输出”还是会想你”.

再来分析一遍:

第一次我输出了temp['data'],可以看到原本开头的code等东西都被过滤了.

随后,我输出了print(temp['data'][0],这个[0]是什么呢?其实就是data列表里的第一个数据罢了.

Tips:在编程语言中,0通常代表第一个.

所以这次过滤完后,只保存了跟”还是会想你”有关的那一组的信息,

接着,我们输出了这个名字所在的’searchWord’位置,做法是输出print(temp['data'][0]['searchWord'].

由此可见,输出特定内容,只需要加[内容]即可.

而这也正是json的好处——没有多少关键字,内容可选择程度高.

那么什么样的链接可以返回给我们json数据呢?

认识API

API说白了就是没有花花绿绿页面的网站,其名又为应用程序接口.

譬如上一个子标题出现的例子:

  • 它没有返回大量无用的HTML标签等

  • 它完成了我没有打开网易云却查看了热搜榜这样一个任务

是不是又很神奇?而单单一个网易云,就有200多个像这样的API(比如说看歌词,看评论等)

关于如何搭建API我是不清楚啦,不过现在市面上免费的API不少,都可以用来学习.

只需要把requests.get(url)里url换成API网址即可.


第一个Python小程序全记录
https://wzk0.github.io/py/
作者
听话的便当
发布于
2021年11月23日
许可协议